0

ユーザーに現在のページを表示するために、アクティブな状態にしようとしています。以下に示すように、「nav-active」の周りとアンカータグのdivクラスを作成しました。

<li><div class="nav-active"><a href="index.html">Blog</a></div></li>

これを行ったのは、ナビゲーション リンクの文字数に基づいて背景のサイズを動的にできるようにするためです。

.nav-active {
background: #ff4b33; /* Old browsers */
background: -moz-linear-gradient(top,  #ff4b33 0%, #ca2913 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ff4b33), color-stop(100%,#ca2913)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top,  #ff4b33 0%,#ca2913 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top,  #ff4b33 0%,#ca2913 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top,  #ff4b33 0%,#ca2913 100%); /* IE10+ */
background: linear-gradient(top,  #ff4b33 0%,#ca2913 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ff4b33', endColorstr='#ca2913',GradientType=0 ); /* IE6-9 */

height:70px;
margin-top: -30px;
padding: 0 15px;

パディングのため、リンクが移動しているページに応じて。

これを行うためのより良い方法があると確信していますが、問題はどのようにですか?

どんな助けでも大歓迎です。

4

1 に答える 1

0

次のように、背景をリンク スタイルに直接適用します。

<li><a class="nav-active" href="index.html">Blog</a></li>

現在のページに応じてリンクのサイズが変化しないようにするには、すべてのリンクの位置と の背景のみのスタイルを設定し.navactiveます。

#nav li {
    position: float;
}

#nav li a {
    display: block;
    padding: 0 15px;
    ...
}
#nav li a.nav-active {
    -webkit-linear-gradient(top,  #ff4b33 0%,#ca2913 100%); 
    ...
}
于 2011-12-05T01:10:06.030 に答える