2013-11-27 96 views
-1

这将更容易用一个例子来解释:CSS - 如何将样式应用于另一个div内的div?

我有一个在我的页面上多次使用的div ID。

我想只改变这些div中的一个,不改变它的名字。

有没有一种方法来设置这1个div,如果它在另一个div里面?

例如,我的页面包含许多这样的:

<div id="text2">Some text</div> 

而且一个我想改变的是:

<div id="container"> 
    <div id="text2">Some different styled text</div> 
</div> 

这可能吗?

PS。这是所有与Wordpress,因此他们动态生成。使用style添加单独的内联CSS将不起作用。这必须在我的外部CSS表格中完成。

+0

'id'应该是唯一的,而不是使用类。 –

+0

同意。只有一个元素应该与每个页面的ID匹配。 –

+0

WordPress不会生成重复的ID,除非多个'wp_nav_menu'实例显示相同的菜单。您应修改损坏的代码以修复重复的ID。 –

回答

2

在你的情况,你可以把内部的div witin一个div作为一个孩子,因此你可以使用这个CSS

#container #text2 { 
    /* Unique Div Style */ 
} 

这是正确的,如果你有一个被重复了很多元素你应该使用一个类而不是一个id。

如果你有很多的

<div id="text2">Some text</div> 

那么它应该是这样的

<div class="text2">Some text</div> 

如果你这样做,那么你的CSS看起来是这样的一个DIV要风格不同

#container .text2 { 
    /* Unique Div Style */ 
} 

当然,只要您的容器ID是唯一的ID。

另外,如果你改变了你的代码,你的风格与类重复元素,那么你可以申请多个类相同的元素..

像这样:

<div class="text2 text2new">Some text</div> 

现在你可以写的CSS类。text2new

.text2new{ 
    /* make sure your css code overrides the old class*/ 
} 

如果在旧版浏览器中正确显示网站很重要,那么不支持多个类btw。

希望这可以让它更清晰。

+0

啊啊,谢谢!不知道为什么我没有想到这个哈哈......现在使用CSS已经5年了,而且我的想法太复杂了。 – Fizzix

1

尝试:

#container #text2 { 
    /* YOUR CSS HERE */ 
} 
1

如上评论,如果你想在同一样式应用于多个元素,使用类,而不是ID。样式可以应用到指定的结构,这意味着在你的情况下列具体内容,你应该使用

#container .text2 { 
    // styles go here... 
} 

然而,如果你的文本2仍然是一个ID,风格将只适用于第一个元素与特定找到了id。

相关问题