我有以下代码:
<html>
<head>
<style>
div.menu
{
float:left;
}
div ul.menu
{
border-style:solid;
border-width:2px;
float:left;
}
div li.menuitem
{
float:left;
margin:5px;
color:red;
background:green;
padding:5px;
}
div li.menuitem:hover{
background:yellow;
}
</style>
</head>
<body>
<div class="menu">
<ul class="menu">
<li class="menuitem"> first </li>
<li class="menuitem"> second </li>
<li class="menuitem"> third </li>
</ul>
</div>
</body>
</html>
结果如下:
导致“第一个”左边的差距是什么?
感谢。
答案 0 :(得分:2)
答案 1 :(得分:2)
我认为这是因为浏览器的默认样式 您可以使用css-reset或normalize.css。
* {
margin:0;
padding:0;
}
答案 2 :(得分:2)
浏览器通常会向<ul>
和<ol>
元素添加填充。您可以在Chrome上设置-webkit-padding-start
,但在padding-left: 0
元素上使用padding: 0
或<ul>
可能会更容易。另请注意-webkit-margin-before
和after
。
您可能还想设置:list-style-type: none
答案 3 :(得分:0)
您需要应用list-style:none
并将所有填充/边距重置为ul
。因此ul
的样式变为:
div ul.menu {
border-style:solid;
border-width:2px;
float:left;
list-style:none;
margin:0;
padding:0;
}
<强> Here's a demo 强>
答案 4 :(得分:0)
将padding: 0px;
添加到您的.menu
班级
答案 5 :(得分:0)
你应该添加
padding: 0px;
到您的div ul.menu
所以它看起来像这样:
div ul.menu
{
border-style:solid;
border-width:2px;
float:left;
padding: 0px;
}