你好 你的这个问题 我只能做如下解释
第一 如果你写的是类样式 比如 li{color:red;}
所有的li都会保持红色字,无法清除继承样式。类似于代码的执行顺序默认从上至下,无法改变,除非使用if判断等控制方法。答案是无法清除。
无法改变代码执行顺序,浏览器解析方式也不可控。
第二 我们如何解决此类问题 比如说 我们可以规定区域
假设 2个div 分别上下两区域 分别 id=a id=b
你如果只想要id=a 部分的li 为红色 那么写法如下
#a li{color:red} 那么 在id=b区域中的li则不受影响
我们只能够通过这种 尽量规定使用区域 来解决此类问题
洗完能帮到你 谢谢
其他属性还行,透明这个属性继承了取消不了。要实现这种效果我见过的办法有3个,其中1、3是肯定有效的,2不很靠谱,你自己琢磨:
1.模拟div全部在aa里面,把bb、cc、dd都提出来不套在aa中,把aa设置透明属性,然后把bb、cc、dd用css定位属性position定位到看上去在aa里面即可。
2.这个是个传说中的方法:bb、cc、dd任然套在aa中,给bb、cc、dd加上相对定位属性:position:relative;这个办法我从来没试成功过,可能容易和其他属性冲突就无效了。
3.aa不设置透明度,在ps里面做半透明的图片保存为png24格式,然后用作aa的背景;但这样产生了个问题,FF、OP及IE高版本都支持png图片透明,在IE6下面又不支持了,所以IE6下你看到aa的背景将是灰色的,不过这个问题好解决,你自己下:ie6 png透明,即可。
以上是清除CSS继承样式的方法的详细内容。更多信息请关注PHP中文网其他相关文章!