没有办法可以取消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>
用css只能用样式覆盖样式,这样重叠覆盖比较耗资源,用jquery可以一次性清除的干干净净代码 $("div").attr("class","")
另外也可以通过css优先级设置div的样式,这样可以做到同一个css,在不同的父级div下显示的样式不同