純粋にCSSで効果を得るには、次のことが必要です。
- わいせつに過剰な量の余分なhtmlマークアップ。
- キャラクター自体と比較して、背景の高さにわずかな不正確さを許容する意欲。
- 使用する特定のフォントを綿密にテストして、ブラウザ間でどのような結果が得られる可能性があるかを確認します。
言い換えれば、努力する価値は十分にあり、おそらく非常に短いテキスト文字列にのみ使用する必要があります。
これは、背景が文字にどのように適合するかを確認するために、単語の色を対照的に残したフィドルの例です。注:これは間違いなく、ブラウザとフォントが表示されているかどうかに基づいて、文字の上下の高さと間隔に多少のばらつきがあります。:before
効果を実現するために疑似要素を使用するということは、古いブラウザー(IE7以下)に対応する必要があることを意味します。
これがフィドルの基本的なコードです。
<span>H</span><span class="short">e</span><span>l</span><span>l</span><span class="short">o</span><span class="short">w</span> <span class="short">w</span><span class="short">o</span><span class="short">r</span><span>l</span><span>d</span>
span {
color: white;
display: inline-block;
position: relative;
height: 1em;
}
span:before {
content: '';
position: absolute;
top: .2em;
right: 0;
bottom: .1em;
left: 0;
background-color: black;
z-index: -1;
}
span.short:before {
top: .4em;
}