У меня есть CSS, который вставляет тире, unicode U + 2014 -, чтобы дать хорошее форматирование на моем сайте раньше указанного источника. Раздражающе после этого он ломает новую линию (я пробовал переходить от span к div, но не использовать).
Дерево документов выглядит так:
<span class="source">...</span>
<p>Source author, text goes here etc. etc.</p>
Вычисленный стиль для строки span
включает display:inline
, тогда как вычисленный стиль для p
имеет display:block
, который, как я предполагаю, может вызвать новую строку?
Я читаю через соответствующий CSS и не вижу никакой причины, почему он должен начать новую строку, у меня нет \ A в содержании, как в этом вопросе...
Может ли какой-нибудь CSS-свисток указать на то, что мне не хватает? Возможно, требуется альтернативная реализация ::before
псевдоэлементом?
Здесь используется CSS
div.source:before{content:"\2014";margin-left:0.9em;margin-right:0.9em; white-space:nowrap;}#content
(Я вставил белое пространство: nowrap некоторое время назад, пытаясь исправить это, но ничего не сделал с новой строкой)
Вы можете попробовать использовать соседний селектор (+
), как показано ниже. Он поддерживается в IE> = 7.
HTML:
<span class="source">—</span>
<p>Source author, text goes here etc. etc.</p>
<p>Source author, text goes here etc. etc.</p>
CSS:
.source + p{display: inline;}
/* applies inline style to only the <p> tag directly following a tag with class=source */
Почему бы вам не добавить class="source"
непосредственно к тегу p, а не добавить ненужный span
?
Поведение, которое вы видите сейчас, правильное, поскольку элементы p
по умолчанию являются элементами уровня блока. Вы можете дать ему стиль display: inline;
но, как я уже упоминал выше, было бы лучше избавиться от span
и добавить класс в тег p
.
:before
(IE приходит на ум: D)
p{display: inline;}
? Является ли это то , что вы хотите?<p>
что по умолчанию<p>
является элементом уровня блока, что означает, что он будет занимать 100% ширины своего родительского элемента, и поэтому переместится на новую строку. Возможно, предложение @ Гарри сработает.