我有點驚訝,當我用:after
僞類創建三角形時。爲什麼把絕對的工作做得很好,但沒有定位。看看下面的代碼位置相對和絕對差距(三角形)
HTML
<div class="test">
<input type="text" />
<div class="abs">enter your name</div>
</div>
CSS
.test{
position: relative;
}
.abs{
position: absolute;
left: 180px;
top: 0px;
background: red;
width: 300px;
padding: 10px;
}
.abs:after{
position: absolute; // by changing this value to relative
left: -20px;
top: 0px;
border-top: 20px solid transparent;
border-bottom: 20px solid transparent;
border-right: 20px solid blue;
width: 0;
height: 0;
content: " ";
}
demo with absolute | demo with relative
任何人都可以描述此原因嗎?
相對位置與頁面的流向保持一致。自然,在文本後面添加的任何內容「輸入你的名字」都會顯示在那裏(例如content:「。」)'輸入你的名字。'因此,相對於期限所在的位置,在週期的左側20個像素的位置(與文本重疊)。絕對定位盒子使其位於距離最近的相對定位的容納盒(測試)的x,y位置。如果您的輸入寬度發生變化,這將是一個問題,因爲測試包含您的輸入和您的abs。 – RedGlobe