2012-02-07 5 views
9

У меня есть следующие строки CSS и HTML здесь:Как смоделировать <br/> (тег br) с помощью CSS?

CSS:

.top, .title { 
font-weight: bold; 
} 
.bottom, .Content { 
} 

HTML:

<span class='title'>Title</span> 
<br/> 
<span class='Content'>Content</span> 
<br/><br/> 

Я хотел бы заменить <br/> тег эквивалент в CSS, но Я борюсь с этим. Буду признателен за любую помощь.

Я пробовал margin-bottom, margin-top, line-height, ни один из них не работал.

+2

Вы использовали бы поля, что вы подразумеваете под «ничем не сработало». Ваши классы css не относятся к вашей разметке HTML. – devdigital

+0

Вы правы, относительно классов CSS и разметки HTML. Я изменил вопрос. Большое спасибо за указание на это. То же самое касается полей, хотя, согласно этой ссылке, http://www.codertools.com/css_help_guide/css_z-index.aspx, Firefox обрабатывает поля по-разному, чем IE для элементов тега span. – user717236

ответ

5

<span> является встроенным элементом, поэтому он не может быть применен margin, но это может занять padding - дать ему что-то вроде .title { padding: 10px 0; }, и он будет имитировать абзац, или просто .title { display: block; }, чтобы заставить следующую вещь, чтобы пойти под ним.

3

использование display:block; на span,

как:

.title, .Content { display:block; } 
3

Ну, проблема в том, что вы используете "пролет", который является встроенным тегом. Вы должны использовать элемент блока, чтобы иметь возможность использовать margin-bottom, например.

Вы можете попробовать это:

.top { 
    font-weight: bold; 
    display: block; 
} 
.bottom { 
    display: block; 
} 

Или вы можете также использовать дисплей: встроенный блок;

4

display: block; однако <span> семантически, вероятно, неправильный тег для использования (являющийся встроенным тегом, а не блочным тегом); <div>, вероятно, лучше подходит и поставляется с бонусом, который он уже отображает как блок. Другие теги могут быть более подходящими.

8

Семантически вы хотите использовать тег заголовка (h1, h2 и т. Д.) Для заголовка и тега абзаца (p) для содержимого. Оба эти элемента являются блочными элементами, для которых работают такие вещи, как margin и line-height.

A span тег - это встроенный элемент, который (для всех целей и целей) означает, что он предназначен для того, чтобы идти в середине элемента уровня блока, не испортив остальную часть тега.

Если вы действительно хотите остаться с диапазоном, вы можете заставить span работать как элемент уровня блока, предоставив ему свойство CSS display: block. Я рекомендую вам использовать фактические элементы уровня блока, такие как h1 или p теги.

0

У меня была аналогичная проблема при работе с WordPress. Wordpress известен тем, что автоматически удаляет символы форматирования из текста пользователя для статьи в блоге. Моя задача состояла в том, чтобы центрировать текст статьи и разделить линию на две части.

Это то, что я сделал:

< центр > Это очень длинное название линии я хочу отображаться в моем <DIV> WordPress Заголовок строки </дел > </центр >

Действие < центр > довольно сам по себе. Поскольку <div> является элементом уровня блока, он выдает новую строку.

Надеюсь, это поможет.

12

Вы можете моделировать BR теги ширины CSS, как это:

span:after { 
    content: ' '; 
    display: block; 
} 

Используйте селектор ": перед тем", если вам нужно "БЗ" были смоделированы до содержания поверочного

jsfiddle

+0

Обратите внимание, что это не создает разрыв строки для элементов встроенного блока. http://jsfiddle.net/luken/yNxF4/ – Luke

Смежные вопросы