私は、外側のコンテナとそれらが属する要素クラスを持つ水平リスト要素で構成されるナビゲーション バーを持っています。それらはすべて同じプロパティを持っていますが、リスト要素の 1 つ (#nav_user) を残りの要素とは異なる色にしたいだけです。外側のコンテナー (nav_item_container) は、リスト要素の色を決定します。#nav_user で行ったように、別の子を新しい色で追加すると、ブロック全体が色で塗りつぶされず、テキストのサイズに等しい水平線のみが変更されます。divに「style = background-color」を追加すると、それが修正されるようです。しかし、これを行うためのより良い方法はありますか? それが理にかなっていることを願っています。助けてくれてありがとう。
編集:フィドルを追加http://jsfiddle.net/h4ecB/
<ul>
<li>
<div class="nav_item_container">
<div class="nav_element">
<div id ="nav_user">
Item with different color here
</div>
</div>
</div>
</li>
</ul>
<div id ="nav_links">
<ul>
<li><div class ="nav_item_container"><div class ="nav_element"> Item1 </div></div></li>
<li><div class ="nav_item_container"><div class ="nav_element"> Item2 </div></div></li>
<li><div class ="nav_item_container"><div class ="nav_element"> Item3 </div></div></li>
</ul>
</div>
li .nav_item_container .nav_element #nav_user{
background-color: #FFBF00;
}
li{
display: inline-block;
list-style-type: none;
}
li .nav_item_container{
display: table;
overflow: hidden;
height: 45px;
min-width: 100px;
background-color: #FF0000;
}
li .nav_item_container .nav_element{
display: table-cell;
vertical-align: middle;
width: 100%;
margin: 0 auto;
text-align: center;
color: #FFFFFF;
}