没有办法可以取消css继承。
当你在大的元素如body中写了一些css样式后,该继承的都会被其子元素继承。
你只能用优先级别更高的css样式来覆盖已定义的css。
或者写js脚本来改变元素的css,也是一种方案。
最后有一个变通办法,只在后台等少数情况下用,用iframe,里面是一个单独的页面,
与父窗体基本无关。
Css清除继承样式可以使用如下代码:
1.</?font[^><]*>这个只却掉font标签的, 保留除font以外的所有标签, 如<img><p>等等. 同样的你需要去掉其他标签, 只需要将里面的font换你要去掉的;
2.</?[^/?(img)|(p)][^><]*>这个保留(这里我写的保留了img, p这两个标签)你指定的标签,其他的(包括font)全去掉, 如果你还有其他的标签想保留, 直接在里面加一个 |(xxx);
3.</?[a-zA-Z]+[^><]*>这个表达式可以去掉所有HTML的标签;
4.JAVA代码可以这样写:
public static String delTagsFContent(String content){
String patternTag = "</?[a-zA-Z]+[^><]*>"
String patternBlank = "(^\\s*)|(\\s*$)"
return content.replaceAll(patternTag, "").replaceAll(patternBlank, "")
}
清除所有默认样式的css代码:
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
初始化代码(清除CSS代码):
ul,li{ padding:0margin:0list-style:none}
解析清除ul li样式代码:
相等于分别对ul和li设置padding:0margin:0list-style:none;
padding:0 —— 设置内补白(对象内间距)为0
margin:0 —— 设置对象外间距为0
list-style:none —— 去除自带无序圆点
HTML/javascript
引用外部文件中的js脚本,
<script type="text/javascript" src="ext.js"></script>也可以象下面这样写,language不是必要的,但是推荐上面的写法;
<script language="javascript" type="text/javascript" src="ext.js"></script>
页面内引用:
<script type="text/javascript">//<![CDATA[var x = 0function fn(args) { //...} //]]></script>加上“//<![CDATA[” 和 “//]]>”是为了兼容XHTML,是推荐的写法,HTML时代一般用“<!--”和“//-->”
在一些HTML控件的事件属性中使用(一般事件为onxxx,如onmouseover,onclick,onchange)
<body onload="alert('loaded')"><input type="text" name="username" onclick="alert(this.value)" />在一些HTML控件的非事件属性中使用(注意:一定要加javascript:)
<a href="javascript:void(0)" onclick="alert(this.innerText)">my blog:http://blog.csdn.net/kimsoft</a>
在div里给它加上一个类,给新加的类写样式。
在CSS中,继承是一种非常自然的行为,我们甚至不需要考虑是否能够这样去做,但是继承也有其局限性。
首先,有些属性是不能继承的。这没有任何原因,只是因为它就是这么设置的。举个例子来说:border属性,大家都知道,border属性是用来设置元素的边框的,它就没有继承性。如下图所示,如果继承了边框属性,那么文档看起来就会很奇怪,除非采取另外的措施关掉边框的继承属性。
多数边框类属性,比如象Padding(补白),Margin(边界),背景和边框的属性都是不能继承的。
扩展资料
CSS中的样式覆盖原则:
规则一:由于继承而发生样式冲突时,最近祖先获胜(最近原则)。
strong分别从body和p中继承了color属性,但是由于p在继承树上离strong更近,因此strong中的文字最终继承p的蓝色。
规则二:继承的样式和直接指定的样式冲突时,直接指定的样式获胜(最直接原则)。
strong {color:red}
那么根据规则二,strong中的文字最终显示为红色。
规则三:直接指定的样式发生冲突时,样式权值高者获胜。
样式的权值取决于样式的选择器,权值定义如下表。
css选择器 权值
标签选择器 1
类选择器 10
ID选择器 100
内联样式 1000
伪元素(:first-child等) 1
伪类(:link等) 10
可以看到,内联样式的权值>>ID选择器>>类选择器>>标签选择器,除此以外,后代选择器的权值为每项权值之和,比如”#nav .current a”的权值为100 + 10 + 1 = 111。