2011-07-20 37 views
2

是否有可能有一个div.class基于它内部的类不同? 所以,如果我有这样的:是否有可能根据里面的类改变边界?

<div class="defaultblock"> 
    <div class="blockcontent"> 
     <div id="group-id-tids-11" class="advertisement"> 
     </div> 
    </div> 
</div> 

我要的是:“如果基础div.class ==广告THEN div.defaultblock {边界:3px的;}

+2

不,你不能这样做。您的问题等同于:http://stackoverflow.com/questions/1014861/is-there-a-css-parent-selector – thirtydot

+0

另请参见[复杂的CSS选择器的父级的活动子](http://stackoverflow.com /问题/ 45004 /复杂的CSS选择器换父母的活性孩子)。 – Phrogz

回答

2

如果使用jQuery是一个选项,你可以做这样的事情:

$(".blockcontent .advertisement").parent().css({border: "3px"}); 

在本jsFiddle

1
.blockcontent .advertisment {border: 1px;} 
.othercontent .advertisment {border: 2px;} 

这应该给你一个想法如何嵌套属性...据我所知,你不能用这个嵌套来描述外部属性。但不是很确定...注意:这个例子改变了内部div的边界。不是外面的。

+0

我认为这会在广告课上设置边界,不是吗?问题是为父类设置边界。 –

+0

这就是为什么我给它写了“注释”......)据我所知,你不能以某种方式描述外部元素。但如果可能的话,我也很高兴知道。 ; ) – Marco

1

你不能做到这一点可见(选择一个祖先根据孩子的内容,或选择元素基于后面的兄弟姐妹)与CSS单独。

正如其他人所说的,JavaScript是一种选择。

0

这是hackish的,但使用自己的代码:

<div class="defaultblock <?php echo $highlight; ?>"> 
    <div class="blockcontent"> 
     <div id="group-id-tids-11" class="<?php echo $highlight; ?>"> 
     </div> 
    </div> 
</div> 

然后在你的CSS,你只需要考虑你想要.defaultblock.highlight是什么样子。

+0

对不起,PHP上的大脑,并以某种方式假设你也使用它,当原始问题只有CSS/HTML ... – Drew

相关问题