2

私のマークアップは次のようなものです:

<li class="cont">
    <a> Click Here</a>
    <form>   </form>
</li>

フォームに ex: ng-dirty のクラスが適用されている場合、アンカー タグの背景色を変更したいと考えています。フォームは angularJs フレームワークによってこのクラスに適用されます。その場合、背景色を変更して「a」タグを強調表示したいと思います。

純粋なCss(またはsass)を使用してこれを行うにはどうすればよいですか?

ありがとう、クリス。

4

3 に答える 3

2

これには特定の CSS セレクターはありませんが、HTMLchange &の組み合わせで目的の効果を実現できますbox-direction:reverse;。次のように書きます。

HTML

<div class="cont">
 <form class="ng-dirty">   
     <input type="text" value="Hi"/>
 </form>
 <a> Click Here</a>
</div>

CSS

.cont{
    display:-moz-box;
    display:box;
    display:-webkit-box;
    box-direction: reverse;
    -moz-box-direction:reverse;
    -webkit-box-direction:reverse;  
    -moz-box-orient:vertical;
    -webkit-box-orient:vertical;
    box-orient:vertical;
}
.cont > *{
    display:block;
}
.ng-dirty + a{
    background:yellow;
}

これを確認してくださいhttp://jsfiddle.net/8YnTw/純粋なCSSを使用しています。

于 2012-05-29T12:29:29.827 に答える
1

angularでこれを本当に簡単に行うことができます:

<a ng-class="{'dirty-class': myForm.$dirty}"> Click Here</a>
<form name="myForm">
</form>

http://jsfiddle.net/XYTcL/

于 2012-05-29T12:23:29.023 に答える
0

次の css を使用すると動作するはずです。

.ng-dirty a {
    background-color: red;
}
于 2012-05-29T12:27:48.963 に答える