Подтвердить что ты не робот

Удалить пробел выше и ниже <p>tag HTML

Так просто.

Возьмите эту ul, например.

<ul>
    <li>HI THERE</li>
    <br>
    <li>
       <p >ME </p>
     </li>
</ul>

Когда символ innerHtml тега Li пуст, Ли обертывается непосредственно до текста.

Это не происходит для тега P. Я предполагаю, что это потому, что p для абзацев, которые обычно имеют разрывы пробелов до и после.

Мой вопрос:

Есть ли способ удалить это?

4b9b3361

Ответ 1

<p> элементы обычно имеют поля и/или дополнение. Вы можете установить их в ноль в таблице стилей.

li p {
    margin: 0;
    padding: 0;
}

Семантически, однако, довольно необычно иметь список абзацев.

Ответ 2

Смотрите здесь: http://www.w3schools.com/tags/tag_p.asp

Элемент p автоматически создает некоторое пространство до и после сам. Пространство автоматически применяется браузером, или вы можете укажите его в таблице стилей.

вы можете удалить дополнительное пространство, используя css

p {
   margin: 0px;
   padding: 0px;
}

или используйте элемент <span>, который не имеет полей по умолчанию и является встроенным элементом.

Ответ 3

Существует два способа:

Лучший способ - удалить <p> вообще. Он действует согласно спецификации, когда он добавляет пространство.

В качестве альтернативы используйте CSS для стиля <p>. Что-то вроде:

ul li p {
    padding: 0;
    margin: 0;
    display: inline;
}

Ответ 4

Теги

<p> имеют встроенные отступы и поля. Вы можете создать селектор CSS в сочетании с некоторым javascript для экземпляров, когда ваш <p> пуст. Вероятно, излишний, но он должен делать то, что вам нужно.

Пример CSS: .NoPaddingOrMargin {padding: 0px; margin:0px}

Ответ 5

CSS Reset - лучший способ использовать эту проблему. Прямо сейчас в Reset мы используем p и в нужных базах, вы можете добавить любое количество тегов, разделившись.

p {
    margin:0;
    padding:0;
}