각 항목에는 네비게이션 아이콘 (css 스프라이트 사용)과 항목 이름이 표시되는 4 개의 항목 메뉴가 있습니다. 여기 내 마크 업/CSS입니다 : 모두가 잘 작동
선택한 가로 메뉴를 표시하는 방법
ul { list-style:none outside none; }
ul li {
background-color:#000;
float:left;
height:100px;
}
ul li a {
background-image:url('sprite.png');
color:#FFF;
display:block;
height:10px;
padding-top:20px;
text-align:center;
width:50px;
}
ul li.a a { background-position:0px 0px; }
ul li.b a { background-position:-50px 0px }
ul li.c a { background-position:-100px 0px }
ul li.d a { background-position:-150px 0px }
-----------------------------------------------------------------
<ul>
<li class="a"><a href="a">A</a></li>
<li class="b"><a href="b">B</a></li>
<li class="c"><a href="c">C</a></li>
<li class="d"><a href="d">D</a></li>
</ul>
이,하지만 난 현재 선택된 항목에 다른 효과를 보여주고 싶은 말은. 특히 다른 배경색, 다른 아이콘 및 다른 색 텍스트를 갖고 싶습니다. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 내가 생각할 수있는 유일한 방법은 <li>
에 'selected'클래스를 추가하는 것입니다.이 클래스는 다른 배경색을 지정하고 'selected'클래스를 <a>
에 추가하여 다른 배경 이미지와 텍스트의 다른 색상을 지정합니다. . 같은
뭔가 :
ul li.selected { background-color:#FFF; }
ul li a { color:#000; }
ul li.a a.selected { background-position:-250px 0px; }
ul li.b a.selected { background-position:-300px 0px; }
ul li.c a.selected { background-position:-350px 0px; }
ul li.d a.selected { background-position:-400px 0px; }
--------------------------------------------------------------------------
<ul>
<li class="a selected"><a class="selected" href="a">A</a></li>
<li class="b"><a href="b">B</a></li>
<li class="c"><a href="c">C</a></li>
<li class="d"><a href="d">D</a></li>
</ul>
오해하지 않는 나는 이런 식으로 할 수 있지만 완료해야하는데 방법이 아니다처럼 그냥 생각합니다.
그래 내가 이중 클래스에 대해 생각하지 않았다하지만 현대에없는이 유일한 작업을 수행합니다 : 귀하의 HTML은 같은 (더 두 번째
selected
클래스) 사양에서세부 사항, 단순화 할 것 브라우저? 나는 오래된 브라우저에서 지원되는 double class ins't를 맹세 할 수는 있었지만 틀릴 수도있다. –
IE7에서 지원하는 모든 브라우저가이 기능을 지원한다고 생각합니다. (IE7이 Quirks 모드가 아닌 한) –