我有一个用于水平菜单的CSS代码:
.vertical-nav { height:auto; list-style:none; width: 100%; /******* MODIFIED ********/ margin-top:0; margin-bottom:35px; margin-left:0; } .vertical-nav li { height: 25px; margin: 0; padding: 5px 0; background-color: #666; border: none; text-align: center; display: inline-block; float: left; width: 100px; /******* MODIFIED ********/ } .vertical-nav li:hover { background-color:#f36f25; color:#FFFFFF; } .vertical-nav li a { font-family:Calibri, Arial; font-size:18px; font-weight:bold; color:#ffffff; text-decoration:none; } .vertical-nav li.current { background-color:#F36F25; } .vertical-nav li.current a { color:#FFFFFF; } vertical-nav ul li ul { display:none; list-style-type:none; width:125px; padding:0px; margin-top:3px; margin-left:-5px; } vertical-nav ul li:hover ul { display:block; } vertical-nav ul li:hover ul li { background-color:#555555; width:125px; height:30px; display:inline-block; } vertical-nav ul li ul li:hover { background-color:#333333; } vertical-nav ul li ul li a { color:#FFF; text-decoration:underline; } vertical-nav ul li ul li a:hover { text-decoration:none; } .vertical-nav li ul { display: none; margin-top: 10px; padding: 0; } .vertical-nav li:hover ul { display: block; } .vertical-nav li:hover .sub-menu { display: table; } .sub-menu li { width: 100%; min-width: 180px; white-space: nowrap; display:table-row; z-index:1; position:relative; } .sub-menu li a { display:inline-block; padding: 0 10px; }
但它左边有一个空白,我无法计算出该如何去除。
我尝试做margin:0和margin:-10px等…但是不会走。
这是一个jsFiddle:http : //jsfiddle.net/QSEGR/
其实不是保证金。
网络浏览器padding-left在HTML列表元素上应用诸如<ul> (Google Chrome set-webkit-padding- start: 40px;)。
padding-left
<ul>
-webkit-padding- start: 40px;
您可以通过padding: 0;在<ul>元素上进行设置来覆盖用户代理样式表:
padding: 0;
.vertical-nav { padding: 0; }
这是 JSFiddle演示
注意: Web浏览器还margin: 8px;对<body>元素应用了,您可以通过以下方式重置边距:
margin: 8px;
<body>
body { margin: 0; }
最佳做法是什么?
不同的浏览器可能具有不同的行为。他们默认在HTML元素上应用几个CSS声明。他们补充说margin,padding,text- decoration等等。
margin
padding
text- decoration
为了摆脱这一点,大多数Web开发人员都使用一些称为 CSS Reset的 CSS声明来覆盖浏览器的默认样式表,以此作为起点。
看看传奇Eric Meyer的CSS Reset。