Ответ 1
<p>
элементы обычно имеют поля и/или дополнение. Вы можете установить их в ноль в таблице стилей.
li p {
margin: 0;
padding: 0;
}
Семантически, однако, довольно необычно иметь список абзацев.
Так просто.
Возьмите эту ul, например.
<ul>
<li>HI THERE</li>
<br>
<li>
<p >ME </p>
</li>
</ul>
Когда символ innerHtml тега Li пуст, Ли обертывается непосредственно до текста.
Это не происходит для тега P. Я предполагаю, что это потому, что p для абзацев, которые обычно имеют разрывы пробелов до и после.
Мой вопрос:
Есть ли способ удалить это?
<p>
элементы обычно имеют поля и/или дополнение. Вы можете установить их в ноль в таблице стилей.
li p {
margin: 0;
padding: 0;
}
Семантически, однако, довольно необычно иметь список абзацев.
Смотрите здесь: http://www.w3schools.com/tags/tag_p.asp
Элемент p автоматически создает некоторое пространство до и после сам. Пространство автоматически применяется браузером, или вы можете укажите его в таблице стилей.
вы можете удалить дополнительное пространство, используя css
p {
margin: 0px;
padding: 0px;
}
или используйте элемент <span>
, который не имеет полей по умолчанию и является встроенным элементом.
Существует два способа:
Лучший способ - удалить <p>
вообще. Он действует согласно спецификации, когда он добавляет пространство.
В качестве альтернативы используйте CSS для стиля <p>
. Что-то вроде:
ul li p {
padding: 0;
margin: 0;
display: inline;
}
<p>
имеют встроенные отступы и поля. Вы можете создать селектор CSS в сочетании с некоторым javascript для экземпляров, когда ваш <p>
пуст. Вероятно, излишний, но он должен делать то, что вам нужно.
Пример CSS: .NoPaddingOrMargin {padding: 0px; margin:0px}
CSS Reset - лучший способ использовать эту проблему. Прямо сейчас в Reset мы используем p и в нужных базах, вы можете добавить любое количество тегов, разделившись.
p {
margin:0;
padding:0;
}