删除<p>标记HTML </p>上方和下方的空格

时间:2011-07-29 14:07:58

标签: html css

这么简单。

以此ul为例。

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

当Li标签的innerHtml为空时,Li将自己包裹在文本中。

P标签不会发生这种情况。我假设这是因为p是段落之前和之后通常都有空格。

我的问题:

有没有办法删除它?

7 个答案:

答案 0 :(得分:51)

<p>元素通常有margins and / or padding。您可以在样式表中将它们设置为零。

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

然而,从语义上讲,拥有一个段落列表是相当不寻常的。

答案 1 :(得分:7)

请看这里:http://www.w3schools.com/tags/tag_p.asp

  

p元素会自动在前后创建一些空格   本身。该空间由浏览器自动应用,您也可以   在样式表中指定它。

您可以使用css

删除多余的空格
p {
   margin: 0px;
   padding: 0px;
}

或使用没有默认边距且为内联元素的元素<span>

答案 2 :(得分:3)

如果有人希望使用bootstrap执行此操作,则版本4提供以下内容:

  

使用格式{property} {sides} - {size}为xs命名类   和{property} {sides} - {breakpoint} - {size}表示sm,md,lg和xl。

财产是以下之一:

m - for classes that set margin
p - for classes that set padding

哪一方是以下之一:

t - for classes that set margin-top or padding-top
b - for classes that set margin-bottom or padding-bottom
l - for classes that set margin-left or padding-left
r - for classes that set margin-right or padding-right
x - for classes that set both *-left and *-right
y - for classes that set both *-top and *-bottom
blank - for classes that set a margin or padding on all 4 sides of the element

大小是以下之一:

0 - for classes that eliminate the margin or padding by setting it to 0
1 - (by default) for classes that set the margin or padding to $spacer * .25
2 - (by default) for classes that set the margin or padding to $spacer * .5
3 - (by default) for classes that set the margin or padding to $spacer
4 - (by default) for classes that set the margin or padding to $spacer * 1.5
5 - (by default) for classes that set the margin or padding to $spacer * 3
auto - for classes that set the margin to auto

例如:

.mt-0 {
  margin-top: 0 !important;
}

.ml-1 {
  margin-left: ($spacer * .25) !important;
}

.px-2 {
  padding-left: ($spacer * .5) !important;
  padding-right: ($spacer * .5) !important;
}

.p-3 {
  padding: $spacer !important;
}

参考:https://getbootstrap.com/docs/4.0/utilities/spacing/

答案 3 :(得分:2)

有两种方法:

最好的方法是完全删除<p>。它在增加空间时按照规范行事。

或者,使用CSS来设置<p>的样式。类似的东西:

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

答案 4 :(得分:0)

<p>标记内置了填充和边距。当<p>为空时,您可以创建一个CSS选择器,并结合一些javascript用于实例。可能是矫枉过正,但它应该做你需要它做的事。

CSS示例:.NoPaddingOrMargin {padding: 0px; margin:0px}

答案 5 :(得分:0)

CSS重置是此问题的最佳使用方法。现在重置我们正在使用p和in need base你可以通过分隔添加任意数量的标签。

p {
    margin:0;
    padding:0;
}

答案 6 :(得分:0)

我不解释为什么您会在其中放置一个<p>元素。 但是删除段落之间空格的另一种方法是只声明一个段落

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