答案 0 :(得分:5)
喜欢这个吗?
#outer {
width: 400px;
height: 300px;
border: 1px solid red;
}
#inner {
height: 125px;
border: 1px solid blue;
position: relative;
}
#line {
position: absolute;
width:1px;
height: 50px;
bottom: -25px; /*half the height*/
left: 50%;
border-left: 1px solid green;
}

<div id="outer">
<div id="inner">
<div id="line"></div>
</div>
</div>
&#13;
外部div没什么特别的。
内部div得到一个相对位置,而行div得到一个绝对位置。
通过将行div作为子元素和上述位置,将相对于父元素定义位置。所以当使用left: 50%
时,就意味着50%的父母。
#outer {
width: 400px;
height: 300px;
border: 1px solid red;
}
#inner {
height: 125px;
border: 1px solid blue;
position: relative;
}
#inner:after {
content: '';
position: absolute;
width:1px;
height: 50px;
bottom: -25px; /*half the height*/
left: 50%;
border-left: 1px solid green;
}
&#13;
<div id="outer">
<div id="inner">
</div>
</div>
&#13;