这么简单。
以此ul为例。
<ul>
<li>HI THERE</li>
<br>
<li>
<p >ME </p>
</li>
</ul>
当Li标签的innerHtml为空时,Li将自己包裹在文本中。
P标签不会发生这种情况。我假设这是因为p是段落之前和之后通常都有空格。
我的问题:
有没有办法删除它?
答案 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;
}
答案 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>