『CSS Secrets』は、@Lea Verou による最新の本で、CSS に関する小さな秘密を説明しています。これは CSSers にとって読む価値のある本です。一定期間読んだ後、私、@全域と @彦子は、関連する読書感想文を W3cplus で公開し、皆さんと共有します。
CSS を介して改行を挿入する必要がある状況は、通常、以下の図に示すようにリスト定義で発生しますが、
は他の状況でも発生します。視覚的に必要なのは数行の名前と値のペアだけの場合でも、適切なセマンティック マークアップを使用するため、多くの場合定義リストを使用します。たとえば、次の HTML を見てください:
<dl> <dt>Name:</dt> <dd>Lea Verou</dd> <dt>Email:</dt> <dd>lea@verou.me</dd> <dt>Location:</dt> <dd>Earth</dd></dl>
必要なもの 視覚効果上の写真のようなシンプルなスタイルです。通常、最初のステップは次のような基本的な CSS を適用することです:
dd { margin: 0; font-weight: bold;}
ただし、
name と Each value は次のようになります。独自のライン。次に試みるステップは、通常、
気が狂い始めたり、CSS について文句を言ったり、焦点を変えたり HTML を変更したりすることを諦めたりする前に、正気を保ってコードをクリーンに保つ方法はあるでしょうか?
基本的に、すべての
実際、Unicode には改行に相当するエスケープ文字 0x000A があります。 CSSでは「」と書くことができます。
理想情况下,我们希望针对最后一个
dt::before { content: '\A'; white-space: pre;}
但是,这会导致第一行是空白的,因为选择器也会应用在第一个
我们使用最后一个选择器,因为它在多个
dd + dt::before { content: '\A'; white-space: pre;}dd + dd::before { content: ', '; font-weight: normal;}
效果如下:
记住,如果你的HTML标签中,多个连续的
dd + dd::before { content: ', '; margin-left: -.25em; font-weight: normal;}
这是可行的,但是相当站不住脚。如果你的内容显示的是不同的字体,带有不同的度量,空格可能会比 0.25em 大一些或小一点,这样结果看起来可能就有点过。但是,对于大多数的字体,它们的差异是可以忽略不计的。