Preface 
The interviewer asked this question during the interview, and the answer was not satisfactory.
implementation
requirements
The content is above the link, rounded, with a small arrow pointing to the link, and the position and content are aligned to the left. Similar to the effect of Baidu Encyclopedia.
The effect picture after implementation:
code
HTML:
<div class='tip' href="#" data-target="I am a small description I am a small description I am a small description I am a small description I am a small description I am a small description I am a small description">
<a href=The '#'>describe</a>
</div>
Copy the code
CSS:
.tip:hover::after{
content: ' ';
width:10px;
height:10px;
transform:rotate(45deg);
position: absolute;
border:1px solid;
bottom: 30px;
border-left:none;
border-top:none;
background-color:white;
}
.tip:hover::before{
content: attr(data-target);
position:absolute;
border:1px solid;
border-radius:5px;
bottom:35px;
width:200px;
overflow:hidden;
background-color:white;
box-sizing:border-box;
padding:10px;
}
.tip:hover{
position:relative;
}
Copy the code
parsing
.tip:hover{
position:relative;
}
Copy the code
Since position:absolute is based on the last non-static positioning element. Therefore, the tip element should be set to position:relative, which has no fixed requirements. It can be set in hover or directly set on tip.
// Simplify by removing the appearance and leaving only the core content.tip:hover::before{
content: attr(data-target);
position:absolute;
bottom:35px;
}
Copy the code
Set the content to property content, position to absolute position, and set the distance from the bottom.
.tip:hover::after{
content: ' ';
width:10px;
height:10px;
transform:rotate(45deg);
position: absolute;
border:1px solid;
bottom: 30px;
border-left:none;
border-top:none;
background-color:white;
}
Copy the code
The contents of this section are used to draw the contents of the triangle by drawing a square, then not drawing the left and top edges, then rotating the elements, and using the same displacement method.
JSFiddle
Preface 
The interviewer asked this question during the interview, and the answer was not satisfactory.
implementation
requirements
The content is above the link, rounded, with a small arrow pointing to the link, and the position and content are aligned to the left. Similar to the effect of Baidu Encyclopedia. PNG %} {% img /images/ CSS-tip-2020-11-28-15-24-34.png %}
code
HTML:
<div class='tip' href="#" data-target="I am a small description I am a small description I am a small description I am a small description I am a small description I am a small description I am a small description">
<a href=The '#'>describe</a>
</div>
Copy the code
CSS:
.tip:hover::after{
content: ' ';
width:10px;
height:10px;
transform:rotate(45deg);
position: absolute;
border:1px solid;
bottom: 30px;
border-left:none;
border-top:none;
background-color:white;
}
.tip:hover::before{
content: attr(data-target);
position:absolute;
border:1px solid;
border-radius:5px;
bottom:35px;
width:200px;
overflow:hidden;
background-color:white;
box-sizing:border-box;
padding:10px;
}
.tip:hover{
position:relative;
}
Copy the code
parsing
.tip:hover{
position:relative;
}
Copy the code
Since position:absolute is based on the last non-static positioning element. Therefore, the tip element should be set to position:relative, which has no fixed requirements. It can be set in hover or directly set on tip.
// Simplify by removing the appearance and leaving only the core content.tip:hover::before{
content: attr(data-target);
position:absolute;
bottom:35px;
}
Copy the code
Set the content to property content, position to absolute position, and set the distance from the bottom.
.tip:hover::after{
content: ' ';
width:10px;
height:10px;
transform:rotate(45deg);
position: absolute;
border:1px solid;
bottom: 30px;
border-left:none;
border-top:none;
background-color:white;
}
Copy the code
The contents of this section are used to draw the contents of the triangle by drawing a square, then not drawing the left and top edges, then rotating the elements, and using the same displacement method.
JSFiddle
Jsfiddle.net/BoxChen/L8r…