css – 伪元素如何检测非伪元素的高度?

前端之家收集整理的这篇文章主要介绍了css – 伪元素如何检测非伪元素的高度?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
请参阅 http://jsfiddle.net/ZWw3Z/
<p>Text text text text text text text...</p>
p {
    background-color: blue;
}

p:before {
    content: '';
    position: absolute;
    width: 10px;
    height: 100%;
    background-color: red;
}

本质上,伪元素的高度太大。我希望它具有与p元素相同的高度。我怎样才能做到这一点?

解决方法

对于未来的读者来说,效果是在左侧的文本上出现一个条形。要做到这一点,OP使用position:absolute;在psuedo元素(p:之前)。

遇到的错误OP是因为psuedo元素正在处理< body>因为它是相对的位置点 – 要修复,只需设置位置:相对;在< p>标签

p {
  position: relative;
  background-color: blue;
  padding-left: 10px;
  /* change the padding to something larger 
  than the width of the :before element to 
  add spacing for text
  */
}

p:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 10px;
  height: 100%;
  background-color: red;
}
<p>text... text...</p>

猜你在找的CSS相关文章