虽然li.textmenu的宽度为:140px,padding:5px,div.textmenu的宽度为:150px,但我到目前为止所创建的一个列表项左边距较大,并且超出了div的右边缘好30便士。有人能解释一下原因吗?
http://www.briligg.com/frailty.html
的CSS:
div.textmenu {
background-color: #3b3b3b;
float: left;
width: 150px;
margin: 30px 10px 0 30px;
}
li.textmenu {
background-color: #4a4a4a;
margin: 0;
padding: 5px;
border: none;
width: 140px;
list-style: none;
text-align: right;
}
HTML:
<div class="textmenu">
<ul>
<li class="textmenu"><a class="pink" href="http://www.briligg.com/frailty.html#culture">Stress Causes Addiction</a></li>
</ul>
</div>
答案 0 :(得分:3)
您是否在您的css文件顶部添加了zip / uni重置?
* { margin:0; padding:0; }
(完全按照CSS顶部的方式覆盖浏览器默认边距/填充)。
最有可能ul
被赋予默认填充/边距,所以这是反作用。
答案 1 :(得分:2)
通过ul
padding:0;margin:0;
,确保{{1}}没有自己的填充和边距
答案 2 :(得分:2)
ul有一个边距,填充由浏览器设置。你想要删除它:
div.textmenu ul {margin:0;padding:0;}
只有填充会影响宽度,但您可能也想要取消边距。
答案 3 :(得分:2)
我建议你使用Eric Meyer的重置css:http://meyerweb.com/eric/tools/css/reset/
您可以将其包含在文档的顶部。之后,您可以更好地控制所需的样式。
答案 4 :(得分:0)
确保你已经计算出想要在Div中修复的Li的确切宽度和高度,确保DIV中有足够的空间。
div.textmenu {
background-color: #3b3b3b;
float: left;
width: 150px;
margin: 30px 10px 0 30px;
}
li.textmenu {
background-color: #4a4a4a;
margin: 0;
padding: 5px;
border: none;
width: 140px;
list-style: none;
text-align: right;
}
由于您制作了填充:5px,由Li的2xwidth +高度计算,Li应超过Div框的150px宽度。您可以通过减少LI的填充像素来修复。