33

私が見つけた唯一のものは次のとおりです。

.hang {
    text-indent: -3em;
    margin-left: 3em;
} 

これが機能する唯一の方法は、テキストを段落に入れることです。これにより、ひどく見苦しい余分な行が発生します。私はむしろそれらをある種のものに入れたいと思っています<span class="hang"></span>

また、単一レベルのぶら下げだけでなく、さらにインデントする方法も探しています。段落を使用してインデントを積み重ねても機能しません。

4

3 に答える 3

17

<span>インライン要素です。ぶら下げインデントという用語は、段落 (通常はブロック要素を意味します) について話している場合を除き、意味がありません。<p>もちろん、またはその他のブロック要素の余白を変更して、<div>段落間の余分な垂直方向のスペースを取り除くことができます。

display: run-inコンテキストに応じてタグがブロックまたはインラインになるようなものが必要になる場合があります...悲しいことに、これはまだブラウザで広くサポートされていません

于 2008-08-15T00:20:58.440 に答える
12

厄介なスパンを除いて、まさにそれを行うためのクールな方法を見つけました。

p {
  padding-left: 20px; 
} 

p:first-letter {
  margin-left: -20px;
}

素晴らしくてシンプル:D

改行がpブロックで気になる場合は、追加できます

p {
  margin-top: 0px;
  margin-bottom: 0px;
}

JSFiddleの例

于 2011-11-11T06:41:49.443 に答える
3

1 つの議論の余地のある例外を除いて、ysth の回答が最適です。測定単位はフォントのサイズに対応する必要があります。

p {
  text-indent: -2en; 
  padding-left: 2en;
}

「3」でも十分に機能します。「em」は、アルファベット セットの平均的な文字よりも幅が広いため、お勧めしません。"px" は、テキスト ブロックのハングを異なるフォント サイズで揃える場合にのみ使用してください。

于 2015-04-29T00:17:36.707 に答える