从<ul>导航</ul>中删除左侧空格

时间:2013-08-28 11:08:30

标签: html css html-lists

导航显示左侧边距。我尝试了很多东西,但是我无法删除这个左边距。

如何删除该空间?

这是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> 

1 个答案:

答案 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