【发布时间】:2016-02-14 03:21:06
【问题描述】:
我正在创建一种样式,用于在纯 css 中创建带或不带箭头的线条,问题是我无法将箭头与垂直对齐中间垂直对齐,水平方向与文本对齐中心正常工作;
我也尝试过表格单元格显示。
请考虑css是用less编译的。
.box {
background-color: lightgray;
width: 200px;
height: 200px;
margin-right: 1em;
float: left;
vertical-align: middle;
text-align: center;
display: table-cell;
}
.linea-h {
box-sizing: border-box;
display: inline-block;
position: relative;
vertical-align: middle;
border-top: 2px dotted dimgray;
border-radius: 4px;
height: 0;
}
.linea-h > * {
position: absolute;
transform: rotate(45deg);
height: 8px;
width: 8px;
}
.linea-h .left-arrow {
margin-top: -6px;
border-left: 2px solid dimgray;
border-bottom: 2px solid dimgray;
left: 0;
}
.linea-h .right-arrow {
margin-top: -6px;
border-right: 2px solid dimgray;
border-top: 2px solid dimgray;
right: 0;
}
.linea-v {
box-sizing: border-box;
display: inline-block;
position: relative;
vertical-align: middle;
border-left: 4px dotted dimgray;
border-radius: 8px;
width: 0;
}
.linea-v > * {
position: absolute;
transform: rotate(45deg);
height: 8px;
width: 8px;
}
.linea-v .top-arrow {
margin-left: -8px;
border-left: 4px solid dimgray;
border-top: 4px solid dimgray;
top: 0;
}
.linea-v .bottom-arrow {
margin-left: -8px;
border-right: 4px solid dimgray;
border-bottom: 4px solid dimgray;
bottom: 0;
}
<div class="box">
<div class="linea-h" style="width: 200px">
<div class="left-arrow"></div>
<div class="right-arrow"></div>
</div>
</div>
<div class="box">
<div class="linea-v" style="height: 200px">
<div class="top-arrow"></div>
<div class="bottom-arrow"></div>
</div>
</div>
【问题讨论】: