それはできます。私はvwユニットを使用しました。
このWorking Fiddleを見てください
HTML:
<h1 class="SpecialBorder">Title</h1>
CSS:
*
{
margin: 0;
padding: 0;
}
.SpecialBorder
{
display: inline-block;
position: relative;
}
.SpecialBorder:before , .SpecialBorder:after
{
content:'';
position: absolute;
left: 0;
bottom: 0;
}
.SpecialBorder:before
{
width: 100vw;
border-bottom: 1px solid red;
}
.SpecialBorder:after
{
width: 100%;
border-bottom: 1px solid blue;
}
説明:before &疑似要素は
、after境界線を描画する要素です。どちらも空の要素です。境界線が見えるようにする特定の幅があります。
それらは<h1>親の一番下に絶対に位置しています。
before: 赤い境界線を担当します。そのため、彼の幅はビューポートの「100%」に設定されています。
after: 赤い境界線を担当します。したがって、彼の幅は100%彼の親 ( <h1>) にh1設定されているため、 は「display:inline-block;」に設定されています (したがって、彼のコンテンツと同じようにのみにまたがります)
vwunit は新しいブラウザのみでサポートされています。
vw単位を使用できない場合でも、それに慣れ親しんだものを作成できることに注意してください。display:inline-block;fromを削除してh1(再び全体に広がるようにする) to の幅を変更beforeし100%(全体にまたがるようにする)、 with をafter任意の固定値に変更します。
編集:thgaskellがコメントで述べたように、
vwウィンドウのサイズが変更されたときに、Webkit ブラウザーで単位が適切に更新されないというバグがあります。
編集 2:
タイトルの後に表示する要素を作成するには、<br />タグを使用するか、ここに示されているようなクリア テクニックを使用できます。