0

私はウェブサイトを再開発しており、ユーザーが新しいタブで開くことができるように、メニューに簡単なリンクを追加したいと考えています。現在、メニュー項目は次のようになっています。

<li class='menu-left-row' id='messages' onclick=\"javascript:showscreen_load('messages.php?sel=overview','messages','menu-left')\">
    <div class='menu-left-picture'>
    <img src='IMG/menu-left-messages.png'>
    </div>
    <div class='menu-left-item'>
    Messages
    </div>
</li>

今、クラス 'toggle_reconstruct' を使用してすべてのリンクをインターセプトする関数を設定したので、次のようにしたいと思います。

<li class='menu-left-row' id='messages'>
    <div class='menu-left-picture'>
    <img src='IMG/menu-left-messages.png'>
    </div>
    <div class='menu-left-item'>
    <a class='toggle_reconstruct' href='/messages/'>Messages</a>
    </div>
</li>

しかし今、リンクはメニュー項目のテキストをスタイリングしています。この場合、「メッセージ」は太字で青になります。さまざまなスタイルのメニュー項目が他にもたくさんありますが、リンクがコンテンツのスタイルを設定しないようにする方法はありますか?

更新:誰かが私に使用するように指摘しました:

a:link {font-weight:inherit; color:inherit;text-decoration:none;} 

これは有効なオプションでしょうか?

4

4 に答える 4

1

次のようなスタイルを追加するだけです。

<style>
a.toggle_reconstruct {
  color: #000000;
  text-decoration: none;
}
</style>

これはあなたが達成したいことですか?

于 2012-06-06T18:22:59.083 に答える
1

CSS で直系子孫記号を使用して、スタイリングが最初のレベルを超えてカスケードするのを防ぐことができます。

.nav > li {background-color: #ccc;}

IE6では動かない

于 2012-06-06T18:18:57.973 に答える
0

子の継承を防止するには、2 つの方法があります。

クラスの追加:

ネストされたリストがある場合、これは問題になります。サブリストではなくメイン リストの背景を指定してから、メイン リストにクラスを指定します。

<ul class="nav">
    <li class="main">Home</li>
    <li class="main">
        About
        <ul>
            <li>Products</li>
            <li>Contact</li>
            <li>Corporate</li>
    </li>
<ul>

CSS は次のようになります。

.nav .main {background-color: #ccc;}

特異性演算子による:

<ul class="nav">
    <li>Home</li>
    <li>
        About
        <ul>
            <li>Products</li>
            <li>Contact</li>
            <li>Corporate</li>
    </li>
<ul>

CSS は次のようになります。

.nav > li {background-color: #ccc;}

注:特定性メソッドは IE 6 では機能しません!

お役に立てれば。:)

于 2012-06-06T18:30:03.357 に答える