2016-03-26 12 views
0

メニューを実行しましたが、要素の間に相当する距離がない理由を理解できません。 これはメニューです: enter image description hereメニューcssの要素間の等価距離

そして、私が上で働いていたコード:

HTML:

<body style="background:#F0F0F0"> 
    <div class="nav" > 
    <ul> 
     <li><element>&#9917 </element> </li> 
     <li><a href="#" id="navItem"> Home </a></li> 
     <li><a href="#" id="navItem"> Mail </a></li> 
     <li><a href="#" id="navItem"> Team </a></li> 
     <li><a href="#" id="navItem"> Matches </a></li> 
     <li><a href="#" id="navItem"> Club </a></li> 
     <li><a href="#" id="navItem"> Multimedia </a></li> 
     <li><a href="#" id="navItem"> Fans </a></li> 
     <li><a href="#" id="navItem"> Shop </a><li> 
     <li><a href="#" id="navItem"> More </a> 
      <ul> 
      <li><a href="#">Messenger</a></li> 
      <li><a href="#">Games</a></li> 
      <li><a href="#">Facebook</a></li>    
     </ul> 
     </li> 
    </ul> 
    </div> 
</body> 

はCSS:これを解決する方法

.nav{ 
     background-color:#660099; 
     color:white; 
     height:20px; 
     margin-top: 10px; 
     text-align: center; 
     } 
    .nav ul { 
     list-style: none; 
     text-align: center; 
     padding:0; 

    } 

    .nav a { 
     display: block; 
    } 
    .nav li li{ 
     width: 70px; 
     height: 30px; 
     display: inline-block; 
     font-size: 15px; 
     background-color: #FFFFFF; 
     padding-left: 0; 
     text-align: left; 
     margin-left: 10px; 
     } 

    .nav li { 
     width: 70px; 
     height: 50px; 
     display: inline-block; 
     float: left; 
     margin-left: 1px; 
     text-align: center; 

    } 
    .nav li ul { 
     position: absolute; 
     display: none; 
     width: inherit; 
    } 

    .nav li:hover ul { 
     display: block; 
    } 

+0

フレックスボックスで作業する必要があります – DanyCode

+0

IDはユニークでなければなりません。「navItem」のIDの代わりにクラスを使用してください。 –

+0

"ID"を使用し、 "CSS"では "クラス"を使用する "HTML"を気にしてください。 – DanyCode

答えて

0

一つの理由は、あなたは<li><a href="#" id="navItem"> Shop </a><li>

.nav{ 
 
    background-color:#660099; 
 
    color:white; 
 
    height:20px; 
 
    margin-top: 10px; 
 
    text-align: center; 
 
} 
 
.nav ul { 
 
    list-style: none; 
 
    text-align: center; 
 
    padding:0; 
 

 
} 
 

 
.nav a { 
 
    display: block; 
 
} 
 
.nav li li{ 
 
    width: 70px; 
 
    height: 30px; 
 
    display: inline-block; 
 
    font-size: 15px; 
 
    background-color: #FFFFFF; 
 
    padding-left: 0; 
 
    text-align: left; 
 
    margin-left: 10px; 
 
} 
 

 
.nav li { 
 
    width: 70px; 
 
    height: 50px; 
 
    display: inline-block; 
 
    float: left; 
 
    margin-left: 1px; 
 
    text-align: center; 
 

 
} 
 
.nav li ul { 
 
    position: absolute; 
 
    display: none; 
 
    width: inherit; 
 
} 
 

 
.nav li:hover ul { 
 
    display: block; 
 
} 
 
a{ 
 
    color:white; 
 
}
\t <div class="nav" > 
 
\t <ul> 
 
\t <li><element>&#9917 </element> </li> 
 
\t <li><a href="#" id="navItem"> Home </a></li> 
 
\t <li><a href="#" id="navItem"> Mail </a></li> 
 
\t <li><a href="#" id="navItem"> Team </a></li> 
 
\t <li><a href="#" id="navItem"> Matches </a></li> 
 
\t <li><a href="#" id="navItem"> Club </a></li> 
 
\t <li><a href="#" id="navItem"> Multimedia </a></li> 
 
\t <li><a href="#" id="navItem"> Fans </a></li> 
 
\t <li><a href="#" id="navItem"> Shop </a></li> 
 
\t <li><a href="#" id="navItem"> More </a> 
 
\t <ul> 
 
\t  <li><a href="#">Messenger</a></li> 
 
\t  <li><a href="#">Games</a></li> 
 
\t  <li><a href="#">Facebook</a></li>   
 
\t </ul> 
 
\t </li> 
 
\t </ul> 
 
\t </div>
私は親 .navとULに li秒の最初のレベルを取得するために .nav ul > li>を使用

に決算</li>を逃している可能性があるため、 。 .nav ul liを使用した場合、<li><a href="#">Messenger</a></li>のような子を含むulにはすべてlisが含まれます。メニューのトップレベルのスペースがほしいから、私は>を使ったのです。スペースのように見えるabout the >

良い例:

.nav{ 
 
    background-color:#660099; 
 
    color:white; 
 
    height:20px; 
 
    margin-top: 10px; 
 
    text-align: center; 
 
} 
 
.nav ul { 
 
    list-style: none; 
 
    text-align: center; 
 
    padding:0; 
 

 
} 
 

 
.nav a { 
 
    /*display: block;*/ 
 
    text-align: center; 
 
    color:white; 
 
} 
 
.nav li li{ 
 
    width: 70px; 
 
    /*height: 30px;*/ 
 
    display: inline-block; 
 
    font-size: 15px; 
 
    background-color: #FFFFFF; 
 
    padding-left: 0; 
 
    /*text-align: left;*/ 
 
    /*margin-left: 10px;*/ 
 
} 
 

 
.nav ul > li { 
 
    display: inline-block; 
 
    float: left; 
 
    margin-left: 10px; 
 

 
} 
 
.nav li ul { 
 
    position: absolute; 
 
    display: none; 
 
    width: inherit; 
 
} 
 

 
.nav li:hover ul { 
 
    display: block; 
 
}
\t <div class="nav" > 
 
\t <ul> 
 
\t <li><element>&#9917 </element> </li> 
 
\t <li><a href="#" id="navItem"> Home </a></li> 
 
\t <li><a href="#" id="navItem"> Mail </a></li> 
 
\t <li><a href="#" id="navItem"> Team </a></li> 
 
\t <li><a href="#" id="navItem"> Matches </a></li> 
 
\t <li><a href="#" id="navItem"> Club </a></li> 
 
\t <li><a href="#" id="navItem"> Multimedia </a></li> 
 
\t <li><a href="#" id="navItem"> Fans </a></li> 
 
\t <li><a href="#" id="navItem"> Shop </a></li> 
 
\t <li><a href="#" id="navItem"> More </a> 
 
\t <ul> 
 
\t  <li><a href="#">Messenger</a></li> 
 
\t  <li><a href="#">Games</a></li> 
 
\t  <li><a href="#">Facebook</a></li>   
 
\t </ul> 
 
\t </li> 
 
\t </ul> 
 
\t </div>

また、同様にマージンで遊ぶことができます。

.nav ul > li { 
     display: inline-block; 
     float: left; 
     margin-left: 20px; 
     margin-right: 20px; 

    } 
0

から固定width: 70pxを削除します.nav li。リスト項目間の距離を等しくするには、たとえばmargin-right: 16px;を使用します。

+0

ありがとうございますが、実際に働くためにどのように申請するのですか?私は約2時間何も試したことがなく、結果は得られませんでした。どのように働くために使用するのか分かりますか? –

0

あなたはそれがはっきりしないフレキシボックス

.nav{ 
 
      background-color:#660099; 
 
      color:white; 
 
      height:20px; 
 
      margin-top: 10px; 
 
    
 
      } 
 
      
 
     .nav ul { 
 
      list-style: none; 
 
      text-align: center; 
 
      padding:0; 
 
      margin-top: 0px; 
 
      display:flex; 
 
     flex-direction:row; 
 
     justify-content: space-around; 
 

 
     } 
 

 
     .nav a { 
 
      display: block; 
 
     } 
 
     .nav li li{ 
 
      width: 70px; 
 
      height: 30px; 
 
      display: inline-block; 
 
      font-size: 15px; 
 
      background-color: #FFFFFF; 
 
      padding-left: 0; 
 
      text-align: left; 
 
      margin-left: 10px; 
 
      } 
 

 
     .nav li { 
 
      margin-left:10px; 
 
      display: inline-block; 
 
      float: left; 
 
      margin-left: 1px; 
 
      text-align: center; 
 

 
     } 
 
     .nav li ul { 
 
      position: absolute; 
 
      display: none; 
 
      width: inherit; 
 
     } 
 

 
     .nav li:hover ul { 
 
      display: block; 
 
     }
<body style="background:#F0F0F0"> 
 
    <div class="nav" > 
 
    <ul> 
 
    <li class="test"><element>&#9917 </element> </li> 
 
    
 
    <li><a href="#" class="navItem"> Home </a></li> 
 
    <li><a href="#" class="navItem"> Mail </a></li> 
 
    <li><a href="#" class="navItem"> Team </a></li> 
 
    <li><a href="#" class="navItem"> Matches </a></li> 
 
    <li><a href="#" class="navItem"> Club </a></li> 
 
    <li><a href="#" class="navItem"> Multimedia </a></li> 
 
    <li><a href="#" class="navItem"> Fans </a></li> 
 
    <li><a href="#" class="navItem"> Shop </a><li> 
 
    <li><a href="#" class="navItem"> More </a> 
 
     <ul> 
 
     <li><a href="#">Messenger</a></li> 
 
     <li><a href="#">Games</a></li> 
 
     <li><a href="#">Facebook</a></li>   
 
     </ul> 
 
     </li> 
 
     
 
    </ul> 
 
    </div>

0

でそれを行うことができます "HTML" あなたは "ID" を使用し、 "CSS" で、あなたが "CLASS" を使用

に気を付けますすべてのリスト項目を同じ幅または同じ間隔にするには...同じことではありません。

スペース

* { 
 
    -webkit-box-sizing: border-box; 
 
    -moz-box-sizing: border-box; 
 
    box-sizing: border-box; 
 
    margin: 0px; 
 
    padding: 0; 
 
} 
 
.nav { 
 
    background-color: #660099; 
 
    color: white; 
 
    height: 20px; 
 
    margin-top: 50px; 
 
    text-align: center; 
 
} 
 
.nav ul { 
 
    list-style: none; 
 
    text-align: center; 
 
    padding: 0; 
 
    display: flex; 
 
    justify-content: space-between; 
 
} 
 
.nav a { 
 
    display: block; 
 
    color: white; 
 
    text-decoration: none; 
 
    background: darkorange; 
 
} 
 
.nav li { 
 
    height: 50px; 
 
    text-align: center; 
 
}
<body style="background:#F0F0F0"> 
 
    <div class="nav"> 
 
    <ul> 
 

 

 
     <li><a href="#" class="navItem"> Logo </a> 
 
     </li> 
 

 
     <li><a href="#" class="navItem"> Home </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Mail </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Team </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Matches </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Club </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Multimedia </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Fans </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Shop </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> More </a> 
 
     </li> 
 
    </ul> 
 
    </div>

すべて同じサイズ:

* { 
 
    -webkit-box-sizing: border-box; 
 
    -moz-box-sizing: border-box; 
 
    box-sizing: border-box; 
 
    margin: 0px; 
 
    padding: 0; 
 
} 
 
.nav { 
 
    background-color: #660099; 
 
    color: white; 
 
    margin-top: 50px; 
 
    text-align: center; 
 
} 
 
.nav ul { 
 
    list-style: none; 
 
    text-align: center; 
 
    padding: 0; 
 
    display: flex; 
 
    justify-content: space-between; 
 
} 
 
.nav a { 
 
    display: block; 
 
    color: white; 
 
    height: 20px; 
 
    text-decoration: none; 
 
    background: darkorange; 
 
} 
 
.nav li { 
 
    text-align: center; 
 
    flex: 1; 
 
    border: 1px solid red; 
 
}
<body style="background:#F0F0F0"> 
 
    <div class="nav"> 
 
    <ul> 
 

 

 
     <li><a href="#" class="navItem"> Logo </a> 
 
     </li> 
 

 
     <li><a href="#" class="navItem"> Home </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Mail </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Team </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Matches </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Club </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Multimedia </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Fans </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> Shop </a> 
 
     </li> 
 
     <li><a href="#" class="navItem"> More </a> 
 
     </li> 
 
    </ul> 
 
    </div>

関連する問題