次の画像に示す効果を作成しようとしています。
文字列が折り返されるときに黒いボックスを作成するのではなく、テキストの背後にある黒い背景がよろめきます。これは、動的文字列の CSS だけで実現できますか?
次の画像に示す効果を作成しようとしています。
文字列が折り返されるときに黒いボックスを作成するのではなく、テキストの背後にある黒い背景がよろめきます。これは、動的文字列の CSS だけで実現できますか?
これは実際には、スパンなどのインライン要素のデフォルトの動作です。次のコードは、この効果を持つはずです。
<span style="background-color: black; color: white">EYES ON<br/>FILM</span>
<br/>
は説明目的であることに注意してください。テキストがブラウザによってラップされている場合にも機能します。div に対してこれを行う必要がある場合は、必ずdisplay: inline
スタイルを設定してください。
これがその方法です。基本的な考え方は、各単語を個別の div でラップし、インライン div をラップする幅で別の div 内にそれらの div をネストすることです。
<style>
.foo {
display: inline;
background-color: #000;
color: #fff;
margin: 0;
}
.wrapper {
width: 100px;
}
</style>
<div class="wrapper">
<div class="foo">Here </div><div class="foo">is </div><div class="foo">some </div><div class="foo">text </div><div class="foo">exciting </div><div class="foo">isn't </div><div class="foo">it </div>
</div>
テキストを a<span>
内に配置する<p>
か、Teletype Text Element ( <tt>
) または<code>
タグを使用して機能します。
<tt>
は HTML5 では受け入れられません。
jsfiddle の例: http://jsfiddle.net/gmDWP/
これらの線に沿った何か?
<style>
#a
{
width:50px;
font-size:20px;
line-height: 90%;
text-transform:uppercase;
}
#a .b
{
background-color:black;
color:white;
}
</style>
<div id="a">
<span class="b">Test test </span>
</div>
これは、定義された幅で自動ブレークします。%nbsp を使用します。テキストの後に余分なスペースを取得します。