下線を制御する疑似要素を含むテキストの要素があります。私が達成したいのは、要素が2行(またはそれ以上)に達したとき、下線を要素の100%の幅にしたい場合ですが、最後の行の100%にしかなりません(スクリーンショット参照)。 h2
要素のdisplay: inline
との1:CSS:複数行の疑似ボーダー幅
.wrapper {
width: 260px;
h2 {
position: relative;
display: inline;
background-color: yellow;
&:after {
position: absolute;
left: 0;
bottom: 0;
width: 80px;
height: 3px;
background-color: #0077bc;
content: '';
}
&:hover:after {
width: 100%;
}
}
}
問題https://jsfiddle.net/m6rmxuoy/1/
は二つの例があります。
は、私が何を意味するかをお見せするためにバイオリンを設置しましたこれは、ホバー状態の行の幅が最初の行の幅までいっぱいにならないということです。
display: inline-block
と2回目の試行、display: inline
が行うように、代わりに最長行で停止のラッパー幅に適応:私が達成したい
.wrapper2 {
width: 260px;
h2 {
position: relative;
display: inline-block;
background-color: yellow;
&:after {
position: absolute;
left: 0;
bottom: 0;
width: 80px;
height: 3px;
background-color: #0077bc;
content: '';
}
&:hover:after {
width: 100%;
}
}
}
結果がこれです:
私は今かなりの時間グーグルで、さらにbox-decoration-break: clone;
が見つかりましたが、擬似要素で私を助けません。
アイデア?
ええと...あなたはそれをすることはできません...ラインボックスモデルの仕組みではありません。 - https://stackoverflow.com/questions/37406353/make-container-shrink-to-fit-child-elements-as-they-wrap –
なぜそれを下枠付きのインラインブロックdivにまとめないのですか? – abimelex