-1

ナビゲーションは左に余白を付けて表示されます。いろいろ試しましたが、この左余白を取り除くことができませんでした。

そのスペースを削除するにはどうすればよいですか?

こちらがオンラインデモです。

#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> 
4

1 に答える 1

3

まず、Web ブラウザーはデフォルトでmargin: 8pxon<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です。

于 2013-08-28T11:20:27.403 に答える