2011-09-19 122 views

回答

27

對於未來的讀者,其效果是在左側的文本上顯示一個條。爲了實現這一點,OP在psuedo元素上使用position: absolute;p:before)。

誤差運算是遇到是因爲僞元素被處理<body>,因爲它的相對位置點 - 修復,只需設置position: relative;<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>

+4

你並不需要一個外部容器。 'p'本身包含'p:before',所以你可以簡單地相對定位'p'。 – BoltClock

+0

我沒有想到,謝謝你的發現。更新了答案。 – Ben