我的建议是:
.triangle_down {
width: 0;
height: 0;
border-left: 15px solid transparent;
border-right: 15px solid transparent;
border-top: 15px solid #2f2f2f;
font-size: 0;
line-height: 0;
float: left;
}
.triangle_down1 {
position: relative;
top: -5px;
content: "";
display: inline-block;
width: 15px;
height: 15px;
border-right: 0.2em solid black;
border-top: 0.2em solid black;
transform: rotate(135deg);
margin-right: 0.5em;
margin-left: 1.0em;
}
.triangle_up1 {
position: relative;
top: -5px;
content: "";
display: inline-block;
width: 15px;
height: 15px;
border-right: 0.2em solid black;
border-top: 0.2em solid black;
transform: rotate(-45deg);
margin-right: 0.5em;
margin-left: 1.0em;
}
<div id="dialog1" class="triangle_down"></div>
<div id="dialog2" class="triangle_down1"></div>
<div id="dialog3" class="triangle_up1"></div>
<div class="arrow"></div>
CSS
.arrow {
position: absolute;
top: 20px;
left: 20px;
}
.arrow::before,
.arrow::after {
position: relative;
content: '';
display: block;
width: 20px;
height: 1px;
background: #000;
}
.arrow::before {
transform: rotate(45deg);
}
.arrow::after {
left: 14px;
transform: rotate(-45deg);
}
#uparrow:before {
content: '\276F';
}
#downarrow:before {
content: '\276E';
}
#uparrow, #downarrow {
font-size: 30px;
display: inline-block;
-ms-transform: rotate(90deg);
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
padding: 10px;
}
<span id="uparrow"></span><span id="downarrow"></span>
inline-block
!.chevron::before {
border-style: solid;
border-width: 0.15em 0.15em 0 0;
content: '';
display: inline-block;
height: 0.45em;
left: 0.15em;
top: 0.15em;
vertical-align: top;
width: 0.45em;
transform: rotate(135deg);
}
.arrow {
border: solid black;
border-width: 0 3px 3px 0;
display: inline-block;
padding: 3px;
}
.right {
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.left {
transform: rotate(135deg);
-webkit-transform: rotate(135deg);
}
.up {
transform: rotate(-135deg);
-webkit-transform: rotate(-135deg);
}
.down {
transform: rotate(45deg);
-webkit-transform: rotate(45deg);
}
<p>Right arrow: <i class="arrow right"></i></p>
<p>Left arrow: <i class="arrow left"></i></p>
<p>Up arrow: <i class="arrow up"></i></p>
<p>Down arrow: <i class="arrow down"></i></p>
简单到不能再简单了:
.up,
.down {
content: "";
width: 10px;
height: 10px;
border: solid black;
border-width: 1px 1px 0 0;
}
.up {
transform: rotate(-45deg);
}
.down {
transform: rotate(135deg);
}
<div class="up"></div>
<div class="down"></div>
::before
或::after
伪类的content
属性。有许多可用的图标/符号字体,您可以使用它们来填充内容以实现您想要的效果。 - charlietfl