2012-02-03 80 views
2

我有一个无序列表,并且ul中的每个项目都有一个div。这个div使用jQuery加载一个html页面。我为ul提供的样式正在申请加载div的整个html。如何防止发生。我希望div的风格只适用于自己,而不适用于任何后代。防止动态加载DIV上的CSS继承

我可以尝试的具体样式添加到后代,但里面有太多的标签。

<ul class="expr"> 
<li><a class="textlink trig" href ="javascript:void">Using the z-index property of CSS</a> 
<div class="holder"></div></li> 
<li><a class="textlink" href ="javascript:void">Swapping Images on Mouse Hover</a></li> 
</ul> 

的CSS:页面加载后

ul.expr 
{ 
    font-size: 125%; 
    font-weight: bold; 
    list-style: none; 
    margin: 0.5em 0; 
    padding: 100px 20px; 
    color: #1e1a19; 

} 

HTML:

<ul class="expr"> 
<li> 
<a class="textlink trig" href="javascript:void">Using the z-index property of CSS</a> 
<div class="holder" style="display: block;"> 
    <title> Image Hover Swap experiment </title> 
    <h4> Experiment 2. Swapping Images on Mouse Hover </h4> 
Lot of text 
<br> 
More Text 
<br> 
Extra Text 
</div> 
</li> 

这里UL有风格从 “EXPR” 级。 div“持有者”加载动态内容。我不希望任何“expr”的样式被添加到里面的div。但我希望他们被应用到其他“李”列表项目,并随后不是其他列表项目内的div。

回答

2

您可以重置内部div中所有后代元素的可继承属性。例如:

.expr div * { 
    font-family: Arial, Verdana, sans-serif; 
} 

*是它适用于任何元件的CSS选择。

无论如何,如果你要嵌套的DIV中一整页,也许你会感兴趣的iframe HTML元素:

http://www.w3schools.com/tags/tag_iframe.asp

看着这个主题有关如何将CSS应用到iframe内容:

How to apply CSS to iframe?

+0

动态div标签内有几个h4标签和一个div标签。我想保留h4的字体大小和所有其他原始属性。那么我是否必须分别为我的div标签中存在的所有标签进行定义?我将编辑我的帖子与css和div标签的内容后加载更清晰。 – Pradep 2012-02-03 09:35:44

+1

'*'选择器适用于任何元素。如果你想省略一些元素,你可以使用':not'选择器(但在CSS中,这对IE8或更低版本不起作用),就像'.expr div *:not(h4)' – 2012-02-03 09:40:04

+0

请看我在答案中更新了'iframe'建议。 – 2012-02-03 09:45:28

0

缩小风格的范围:

li.somestyle { ... } 

然后

<li class="somestile"> 
0

您应该加载HTML的iframe。这样加载的html不会受到影响。