仅使用CSS基于其可见性属性设置类的css属性

时间:2013-06-26 11:00:13

标签: css

我有一组div,其可见性设置为隐藏或可见。基于此css可见性属性,我需要在这些div上添加css属性,例如

<div class="div-class" style="color:#ff0000; margin: 0px 10px; visibility:hidden;">
    [Block of Code]
</div>

现在我需要在style.css文件中定义以下内容。

.div-class:visible {top:10px;left:50px;}
.div-class:hidden {top:0px;left:0px;}

这可能吗???

3 个答案:

答案 0 :(得分:0)

是的,你可以使用css属性选择器 试试下面的css:

.div-class[style*="visible"] {  
  color: green; 
}  

.div-class[style*="hidden"] {  
  color: red; 
}

答案 1 :(得分:0)

你要做的事情并非“真的”可能。

我的意思是设计首先考虑不好。

即使Vamsikrishna的解决方案可能无法按预期工作。

如果您通过javascript或内嵌样式将overflow属性设置为hidden,则.div-class[style*="hidden"]规则将适用,因为style属性将包含hidden字符串。

此外,在大多数情况下,在html元素上设置内联样式本身就是不好的做法。

我建议您尝试更多地学习CSS原则。

我会做以下事情:

<强> HTML

<div class="div-class div-hidden">
    [Block of Code]
</div>

<强> CSS

.div-class {color:#ff0000; margin: 0px 10px; top:10px;left:50px;}
.div-hidden {visibility:hidden;}
.div-class.div-hidden {top:0px;left:0px;}

然后,您可以使用javascript切换“div-hidden”类。

答案 2 :(得分:0)

您可以使用attrchange-jQuery插件, 像这样:

  1. 在HTML页面中添加“ attrchange”脚本,例如

  2. 在Javascrip捕获事件中

var email_ver_input = $(“ input#email_ver_input.verifyInput”); email_ver_input.attrchange({ trackValues:true, 回调:函数(事件){ 如果(email_ver_input.is(“:visible”)){ $(“#inputcode_wrap”)。show(); }
} });