0

私は非常に奇妙な問題を抱えています。CSS を使用してすべてのリンクをフォーマットしたい Rails ページがあり、別の色にする必要があるメニュー リンクがあります。だから私はから始めました

    .menulink:link, .menulink:visited, .menulink:hover, .menulink:active{
        color: red;
    }

メニューバー フラグメントの CSS ( sidebar.css.scss)

他のすべてのリンクについては、CSS を次のように記述しましたapplication.css.scss

    a:link, a:visited, a:hover, a:active{
        color: green;
    }

興味深いことに、これは機能しません。しかし、コード内の任意のリンクにクラスタグを追加すると、

    <%= link_to "Alle Artikel", :controller => :articles, :action => :index, :class => "foo" %>

それは完全に機能します。私は本当に混乱しています。なぜこの振る舞いをするのですか?

4

2 に答える 2

1

次のように再フォーマットします。

<%= link_to "Alle Artikel", {:controller => :articles, :action => :index}, :class => "foo" %>
于 2012-12-07T13:52:20.880 に答える
1

カスケード スタイル シートで「カスケーディング」が発生していると思われます。
基本的に、特定のクラスセレクターを配置すると、クラスが適用されるようです。これが css のルールです。ルールが具体的であるほど、より高いレベルの「グローバル」設定が適用されます。
したがって、すべてのアンカーなどのより高い一般的なレベルでルールを適用すると、「すべてのアンカー」よりも低いレベルでスタイル ルールが存在し、クラス/タグよりも高いレベルでスタイル ルールが存在する可能性があります。あなたが見ている行動。

于 2012-12-07T14:00:10.450 に答える