2012-05-29 33 views
2

我的标记是这样的:的CSS家长选择依赖于其他类存在

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

我想如果窗体应用类为前改变定位标记的背景色:NG-脏。表单通过angularJs framkework应用这个类,当发生这种情况时,我想通过更改其背景颜色来突出显示'a'标签。

我该如何使用纯Css(或sass)来做到这一点?

谢谢, 克里斯。

回答

1

您可以用角做到这一点真的很简单:

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

http://jsfiddle.net/XYTcL/

0

使用下一个CSS应该工作:

.ng-dirty a { 
    background-color: red; 
} 
2

有没有具体的CSS选择器这一点,但你可以实现欲望效果与组合HTML变更& 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。