导航显示左侧边距。我尝试了很多东西,但是我无法删除这个左边距。
如何删除该空间?
这是online demo。
#navcontainer { padding: 0 5 20px 10px; }
ul#navlist { font-family: sans-serif; margin-left: 0;}
ul#navlist li
{
padding: 10px 5px 10px 5px;
background-color: #EF634A;
}
ul#navlist > li
{
height:38px;
line-height:38px;
}
ul#navlist li:hover
{
color: #ffff00;
background-color: #3E748A;
}
ul#navlist a
{
font-weight: bold;
text-decoration: none;
display: inline-block;
line-height:1.1;
vertical-align: middle;
}
ul#navlist, ul#navlist ul, ul#navlist li
{
padding: 0 8px;
margin: 0 8px;
list-style-type: none;
box-shadow: 8px 8px 12px #aaa;
}
ul#navlist li { float: left;
}
ul#navlist li a
{
color: #ffffff;
//padding:10px;
/*border: 1px #ffffff outset;
height: 40px;*/
}
ul#navlist li:active
{
color: #cccccc;
background-color: #3E748A;
border: 1px #ffffff inset;
box-shadow: none;
}
ul#subnavlist { display: none; }
ul#subnavlist li { float: none;line-height:normal; }
ul#subnavlist li a
{
padding: 0px;
margin: 0px;
height: 14px;
}
ul#navlist li:hover ul#subnavlist
{
display: block;
//display: inline-block;
//display: table-cell;
position: absolute;
font-size: 8pt;
padding-top: 5px;
box-shadow: none;
}
ul#navlist li:hover ul#subnavlist li a
{
display: block;
width : 360;
height : 100;
border: none;
padding: 2px;
}
ul#navlist li:hover ul#subnavlist li a:before { content: " >> "; }
.left
{
float:left;
width:760px;
background-color:#b0e0e6;
}
a.white:link {color: #fff;}
a.white:active {color: #fff;}
a.white:visited {color: #fff;}
a.white:hover {color: #fff;}
<div id="navcontainer">
<ul id="navlist">
<li><a href="obs-geostrategique-sport.php?cat=1">PROGRAMME EUROPÉEN DE LUTTE <br>CONTRE LE TRUCAGE DE MATCHS</a></li>
<li><a href="obs-geostrategique-sport.php?cat=2">ACTUALITÉS</a></li>
<li><a href="obs-geostrategique-sport.php?cat=3">ANALYSE</a></li>
<li id="active"><a href="obs-geostrategique-sport.php?cat=4" id="current">THEMATIQUES</a>
<ul id="subnavlist">
<li id="subactive"><a href="#" id="subcurrent">Lutte contre la corruption</a></li>
<li><a href="obs-geostrategique-sport.php?cat=4&id=1">Evènements sportifs </a></li>
<li><a href="obs-geostrategique-sport.php?cat=4&id=2">Bonne gouvernance du sport</a></li>
<li><a href="obs-geostrategique-sport.php?cat=4&id=3">Economie du sport</a></li>
<li><a href="obs-geostrategique-sport.php?cat=4&id=4">Lutte contre le dopage</a></li>
<li><a href="obs-geostrategique-sport.php?cat=4&id=5">Lutte pour l'intégrité dans le sport</a></li>
</ul>
</li>
</ul>
</div>
答案 0 :(得分:3)
首先,默认情况下,网络浏览器在margin: 8px
元素上应用<body>
,您需要删除它:
html, body {
margin: 0;
padding: 0;
}
此外,他们也会在padding-left
等HTML列表元素上应用<ul>
属性,并通过以下方式修复:
ul#navlist {
font-family: sans-serif;
margin-left: 0;
padding: 0; /* <-- override the user agent stylesheet */
}
您要在主<ul>
元素上设置边距和填充:
ul#navlist, ul#navlist ul, ul#navlist li {
padding: 0 8px; /* Here */
margin: 0 8px; /* & Here */
list-style-type: none;
box-shadow: 8px 8px 12px #aaa;
}
从组中删除ul#navlist
选择器并单独设置其样式。
最后,第一个列表项不需要左边距:
ul#navlist > li:first-child {
margin-left: 0;
}
以下是 JSBin Demo 。