CSS 边距变白 space - 最好的格式化方式?
CSS margins messing up white space - best way to format?
好的,所以我有下面的代码:
<ul class="noindent">
<li class="indexlist"><p class="index">Brixham Town Centre</p></li>
<li class="indexlist"><p class="index">Kingswear</p></li>
<li class="indexlist"><p class="index">Paignton Bus Station</p></li>
<li class="indexlist"><p class="index">South Devon College</p></li>
<li class="indexlist"><p class="index">St Marychurch</p></li>
<li class="indexlist"><p class="index">Torbay Hospital</p></li>
<li class="indexlist"><p class="index">Torquay Town Centre</p></li>
<li class="indexlist"><p class="index">The Willows</p></li>
</ul>
这是 CSS:
.indexlist {
font-size: 20px;
font-weight: 700;
height: 60px;
background: url(images/indexlistbg.gif) repeat-x;
list-style-type: none;
padding-left: 10px;
padding-top: -15px;
margin: 0;
}
.noindent {
padding: 0;
}
p.index {
padding-top: 15px;
}
您可以在以下位置查看正在运行的页面:http://new.mystoptorbay.co.uk/。我不希望每个 li 下面的白色 space,但我可以看到 padding-top 属性把事情搞砸了。允许文本垂直居中浮动并且每个 li 之间没有白色 space 的最佳方法是什么?
提前致谢。
不是填充弄乱了,而是边距弄乱了。
p.index {
padding-top: 15px;
margin: 0; // remove margin
}
更好的是将文本垂直居中,使其高度为 60px,如下所示:
p.index {
margin: 0;
line-height: 60px;
}
问题是 p
元素有一些用户代理风格:
-webkit-margin-before: 1em;
-webkit-margin-after: 1em;
前后添加1em
的边距,使段落分明。 p
标签应该在文本中使用,而在这种情况下,如果您需要链接,最好使用 span
s 或 a
。
删除规则 p.index{padding-top:15px;}
并在 .indexlist
规则中添加 overflow:auto;
问题是,你的P元素还有余量。只需将其重置为 0 即可。
p.index {
margin: 0;
}
尝试使用 Chrome 中的元素检查器轻松修复这些 "bugs"
https://developer.chrome.com/devtools/docs/dom-and-styles
好的,所以我有下面的代码:
<ul class="noindent">
<li class="indexlist"><p class="index">Brixham Town Centre</p></li>
<li class="indexlist"><p class="index">Kingswear</p></li>
<li class="indexlist"><p class="index">Paignton Bus Station</p></li>
<li class="indexlist"><p class="index">South Devon College</p></li>
<li class="indexlist"><p class="index">St Marychurch</p></li>
<li class="indexlist"><p class="index">Torbay Hospital</p></li>
<li class="indexlist"><p class="index">Torquay Town Centre</p></li>
<li class="indexlist"><p class="index">The Willows</p></li>
</ul>
这是 CSS:
.indexlist {
font-size: 20px;
font-weight: 700;
height: 60px;
background: url(images/indexlistbg.gif) repeat-x;
list-style-type: none;
padding-left: 10px;
padding-top: -15px;
margin: 0;
}
.noindent {
padding: 0;
}
p.index {
padding-top: 15px;
}
您可以在以下位置查看正在运行的页面:http://new.mystoptorbay.co.uk/。我不希望每个 li 下面的白色 space,但我可以看到 padding-top 属性把事情搞砸了。允许文本垂直居中浮动并且每个 li 之间没有白色 space 的最佳方法是什么?
提前致谢。
不是填充弄乱了,而是边距弄乱了。
p.index {
padding-top: 15px;
margin: 0; // remove margin
}
更好的是将文本垂直居中,使其高度为 60px,如下所示:
p.index {
margin: 0;
line-height: 60px;
}
问题是 p
元素有一些用户代理风格:
-webkit-margin-before: 1em;
-webkit-margin-after: 1em;
前后添加1em
的边距,使段落分明。 p
标签应该在文本中使用,而在这种情况下,如果您需要链接,最好使用 span
s 或 a
。
删除规则 p.index{padding-top:15px;}
并在 .indexlist
规则中添加 overflow:auto;
问题是,你的P元素还有余量。只需将其重置为 0 即可。
p.index {
margin: 0;
}
尝试使用 Chrome 中的元素检查器轻松修复这些 "bugs" https://developer.chrome.com/devtools/docs/dom-and-styles