Но я вижу, когда я использую характер содержимого CSS - \ А, это занимает больше высоту чем тег br.
Это не занимает больше высоты, чем br
тег. Разница в том, что в вашем следующем div
в примере первый br
вводит разрыв строки, а затем второй представляет другой разрыв строки.
Это делает так:
Two new lines gonna be there [br causes line break here]
[br causes line break here]
В то время как в первом div
сам псевдо-элемент начинается со следующей строки, а затем отображает два переносы строк. Это потому, что ваш #charPrint::after
установлен в display: block
. Это заставит его создать свой собственный блок, начиная со следующей строки. Затем он отобразит две строки, основанные на свойстве content
.
Это делает так:
this is a \A print stuff
[pseudo-element starts here] [\A causes line break here]
[\A causes line break here]
Вот почему вы видите дополнительный перерыв в первом div
.
Чтобы решить эту проблему, просто сделать ::after
псевдо-элемент inline
вместо block
, который сделает это делают так:
this is a \A print stuff [pseudo-element starts here] [\A causes line break here]
[\A causes line break here]
Скрипки: http://jsfiddle.net/6Lkxr2x6/1/
Отрывок:
#charPrint::after{ content: '\A\A'; display: inline; white-space: pre; }
<div id="charPrint">this is a \A print stuff</div>
<div id="other">Two new lines gonna be there
<br><br>
</div>
<div> end of content</div>
нет '
' элемент с его собственным стилем по умолчанию (в браузере, за исключением того, если некоторые normaisation CSS используется) и не представляет в той же новой строке обычный символ '' \ n "' будет представлять в xml/html –