CSS3 列和伪元素定位
CSS3 Columns and pseudo element positioning
我有一个包含 CSS3 列的页面,我试图将伪元素放置在与行内元素相同的 Y 位置,但在固定的 X 位置(在左边距中) .这在第一列上效果很好,但其他列中的其余这些伪元素表现不正常。
最终发生的是伪元素被放置在左边距,如果它在一个单独的列中,元素就会在左边距。如果向下滚动,您会看到左侧的绿色块,如果文本位于单列中,则文本所在的位置。
我想要的是绿色块位于文本行左边缘的列间隙区域中。
我猜问题出在这段代码上:
.marker:after {
content: ' ';
display: block;
white-space: nowrap;
position: absolute;
left: 0px;
width: 0;
height: 0;
border: 6px solid green;
}
JSFiddle:http://jsfiddle.net/o0xu0e2x/1/
注意:我的应用程序只需要 Chromium 41+ 支持,所以这就是我使用 -webkit 标签的原因。使用伪元素 :before/:after 没关系,它们都是这样。
您需要相对定位父 .section
元素。
在这样做时,绝对定位的伪元素相对于 .section
元素定位,而不是 window.
.section {
position: relative;
}
我有一个包含 CSS3 列的页面,我试图将伪元素放置在与行内元素相同的 Y 位置,但在固定的 X 位置(在左边距中) .这在第一列上效果很好,但其他列中的其余这些伪元素表现不正常。
最终发生的是伪元素被放置在左边距,如果它在一个单独的列中,元素就会在左边距。如果向下滚动,您会看到左侧的绿色块,如果文本位于单列中,则文本所在的位置。
我想要的是绿色块位于文本行左边缘的列间隙区域中。
我猜问题出在这段代码上:
.marker:after {
content: ' ';
display: block;
white-space: nowrap;
position: absolute;
left: 0px;
width: 0;
height: 0;
border: 6px solid green;
}
JSFiddle:http://jsfiddle.net/o0xu0e2x/1/
注意:我的应用程序只需要 Chromium 41+ 支持,所以这就是我使用 -webkit 标签的原因。使用伪元素 :before/:after 没关系,它们都是这样。
您需要相对定位父 .section
元素。
在这样做时,绝对定位的伪元素相对于 .section
元素定位,而不是 window.
.section {
position: relative;
}