0

そのため、カーソルを合わせたときにその下に4pxの境界線がある単純なナビゲーションバーメニューを作成しようとしています。これ自体は難しいことではありませんが、さまざまなメニュー要素がさまざまな色になるようにスタイルを設定しようとしています。これは私がこれまでに持っているものです:

HTML

    <div id="navcontainer">
<ul id="navlist">
<li id="active"><a href="#" class="home">Home</a></li>
<li><a href="#" class="about">About</a></li>
<li><a href="#" class="portfolio">Portfolio</a></li>

</ul>
</div>

CSS

/*Menu*/

#navlist
{
margin: 0;
padding: 0 0 20px 10px;
}

#navlist ul, #navlist li
{
margin: 0;
padding: 0;
display: inline;
list-style-type: none;
}

#navlist a:link, #navlist a:visited
{
float: left;
line-height: 14px;
font-weight: bold;
margin: 0 10px 4px 10px;
text-decoration: none;
color: #999;
}
#navlist a:hover { color: #000; }

#navlist  li .home {
color: #d43f3f;
}

#navlist li .home a:hover
{
border-bottom: 4px solid #d43f3f;
padding-bottom: 2px;
background: transparent;
color: #d43f3f;
}
#navlist li .about {
color: #00ace9;
}

#navlist  li .about a:hover
{
border-bottom: 4px solid #00ace9;
padding-bottom: 2px;
background: transparent;
color: #00ace9;
}
#navlist li .portfolio {
color: #6a9a19;
}

#navlist li .portfolio a:hover
{
border-bottom: 4px solid #6a9a19;
padding-bottom: 2px;
background: transparent;
color: #6a9a19;
}

さまざまな色が表示されますが、ホバー機能が 4px の境界線で機能しません... :(

4

2 に答える 2

1

セレクターが間違っています

#navlist li .aboutたとえば#navlist li a.about

于 2013-02-28T23:55:45.527 に答える
1

本当に簡単でした。CSS には 2 つの宣言があります。

#navlist li .portfolio a:hover {

.portfolio要素aです。使用した宣言は次のことを意味します: awhich is child of .portfoliowhich is child of liwhich is child of #navlist. あなたはあまりにも深く行きました。

これはうまくいきます:

#navlist li a.portfolio:hover {

作業フィドル: http://jsfiddle.net/jnbBz/1/

完全に修正された CSS:

/*Menu*/

#navlist
{
margin: 0;
padding: 0 0 20px 10px;
}

#navlist ul, #navlist li
{
margin: 0;
padding: 0;
display: inline;
list-style-type: none;
}

#navlist a:link, #navlist a:visited
{
float: left;
line-height: 14px;
font-weight: bold;
margin: 0 10px 4px 10px;
text-decoration: none;
color: #999;
}
#navlist a:hover { color: #000; }

#navlist  li .home {
color: #d43f3f;
}

#navlist li .home:hover
{
border-bottom: 4px solid #d43f3f;
padding-bottom: 2px;
background: transparent;
color: #d43f3f;
}
#navlist li .about {
color: #00ace9;
}

#navlist  li .about:hover
{
border-bottom: 4px solid #00ace9;
padding-bottom: 2px;
background: transparent;
color: #00ace9;
}
#navlist li .portfolio {
color: #6a9a19;
}

#navlist li a.portfolio:hover
{
border-bottom: 4px solid #6a9a19;
padding-bottom: 2px;
background: transparent;
color: #6a9a19;
}
于 2013-02-28T23:49:56.843 に答える