Как создать полностью совместимый с браузером стиль висячего отступа в CSS за промежуток
Единственное, что я нашел, было;
.hang {
text-indent: -3em;
margin-left: 3em;
}
Единственный способ сделать это - поместить текст в абзац, что приведет к появлению этих ужасно неприглядных лишних строк. Я бы предпочел просто иметь их в каком- <span class="hang"></span>
то виде.
Я также ищу способ большего отступа, чем просто одноуровневое развешивание. Использование абзацев для укладки отступов не работает.
Ответов (3)3
<span>
является встроенным элементом. Термин висячий отступ не имеет смысла, если вы не говорите об абзаце (который обычно означает блочный элемент). Вы можете, конечно, изменить поля на <p>
или <div>
или любом другом элементе блока , чтобы избавиться от лишнего вертикального пространства между абзацами.
Вы можете захотеть что-то вроде display: run-in
, где тег станет либо блочным, либо встроенным, в зависимости от контекста ... к сожалению, это еще не повсеместно поддерживается браузерами .
Ответ ysth лучше всего с одним спорным исключением; единица измерения должна соответствовать размеру шрифта.
p {
text-indent: -2en;
padding-left: 2en;
}
«3» тоже подойдет; Использование "em" не рекомендуется, так как оно шире, чем средний символ в алфавитном наборе. «px» следует использовать только в том случае, если вы намеревались выровнять зависание текстовых блоков с разными размерами шрифта.