如標題,小弟目前想做一個效果如下,是很常看到的標題搭配兩旁的橫線
看了網路上的範例是說用::before和::after去做,但是我::before和::after照範例設定position:absolute, relative是中間的標題文字(使用p標籤),兩旁的線會超出我希望他包在裡面的div,如下圖
因為想把它做成元件,之後靠prop傳入動態更新標題文字就好,想請問如何達成右邊的橫線可以自動隨著標題文字的長度自動增減,且不會超出自身的div呢?
發現只要有設定position:absolute的元素都會自己突破div的限制(我div是flex 因為要跟旁邊一個按鈕做並排,最外層綠色整個元件的寬度是固定的。
還請CSS高手大大幫忙解答,感激不盡~
用 flex 就可以做到了
<div class="container">
<div class="link">
<a href="#">特價商品</a>
</div>
<a href="#">搜尋更多</a>
</div>
.container {
width: 500px;
display: flex;
align-items: center;
justify-content: center;
}
.container a {
padding: 0.25rem;
color: #222;
display: flex;
align-items: center;
justify-content: center;
}
.container .link {
display: flex;
align-items: center;
justify-content: center;
flex: 1;
}
.container .link::after, .container .link::before {
content: "";
height: 2px;
margin: 0 0.25rem;
border: 1px solid #222;
}
.container .link::before {
min-width: 15%;
}
.container .link::after {
flex: 1;
}
preview