Divの左境界線をdivの半分にのみ表示したい。右の境界線にしたいのと同じですが、divの下部からdivの中央に設定する必要があります。どうすれば達成できますか?
良い質問。 borderプロパティを使用することはできません。
頭に浮かぶのは、divのposition
をrelative
に設定できる場合、絶対配置の1ピクセル幅div
を使用することです。完全にはテストされていませんが、これはshould動作します:
<div style='width: 1px; top: 0px; bottom: 50%; left: 0px;
background-color: blue; overflow: hidden'>
</div>
右側で同じことを行い、left
プロパティをright
に置き換えます。
周囲のdiv
はposition: relative
これが機能するため。 50%の高さ設定がブラウザ全体で一貫して機能するかどうかはわかりません。必ずテストしてください。そうでない場合は、ピクセル単位に頼らなければならないかもしれません。
@Pekkaに対する同様の、しかし異なるアプローチ::after
擬似セレクター、次のように:
HTMLマークアップ:
<div class="mybox">
Le content de box.
</div>
CSS:
.mybox {
position: relative;
padding: 10px 20px;
background-color: #EEEEEE;
}
.mybox:after {
content: '';
position: absolute;
bottom: 0px;
left: 25%;
width: 50%;
border-bottom: 1px solid #0000CC;
}
...および jsFiddle .
2018:現代のブラウザの場合:
border-image
を次のようなグラデーションで使用できます...
border-image: linear-gradient(to bottom, rgba(0,0,0,0) 25%,rgba(0,0,0,1) 25%,rgba(0,0,0,1) 75%,rgba(0,0,0,0) 75%);
border-image-slice: 1;
デモ:https://jsfiddle.net/hz8wp0L0/
ツール:グラデーションエディター
次を使用できます:border-image(IE11)
次を使用できます。
line-height:50%; /*(or less, much less)*/
overflow:visible;
テキストは表示されますが、境界線の色はdivサイズの半分になります。