css清除继承样式?

html-css05

css清除继承样式?,第1张

没有办法可以取消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。