css清除默认样式(初始化css样式)

admin 222 0

大家好,今天来为大家解答css清除默认样式这个问题的一些问题点,包括初始化css样式也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

一、CSS 如何恢复到默认样式

有时候在写CSS的过程中,某些限制总是不起作用,这就涉及了CSS样式覆盖的问题。

查找一些教材中(w3schools等),只说css的顺序是“元素上的style”>“文件头上的style元素”>“外部样式文件”,但对于样式文件中的多个相同样式的优先级怎样排列,没有详细说明。经过测试和继续搜索,得知优先级如下排列:

1.样式表的元素选择器选择越精确,则其中的样式优先级越高:

id选择器指定的样式>类选择器指定的样式>元素类型选择器指定的样式所以上例中,#navigator的样式优先级大于.current_block的优先级,及时.current_block是最新添加的,也不起作用。

2.对于相同类型选择器制定的样式,在样式表文件中,越靠后的优先级越高

注意,这里是样式表文件中越靠后的优先级越高,而不是在元素class出现的顺序。比如.class2在样式表中出现在.class1之后:

.class2{color:red;}

而某个元素指定class时采用 class="class2 class1"这种方式指定,此时虽然class1在元素中指定时排在class2的后面,但因为在样式表文件中class1处于class2前面,此时仍然是class2的优先级更高,color的属性为red,而非black。

而某个元素指定class时采用 class="class2 class1"这种方式指定,此时虽然class1在元素中指定时排在class2的后面,但因为在样式表文件中class1处于class2前面,此时仍然是class2的优先级更高,color的属性为red,而非black。

3.如果要让某个样式的优先级变高,可以使用!important来指定:

.class1{color:black!important;}

二、css清除继承样式 如li

1、你好你的这个问题我只能做如下解释

2、第一如果你写的是类样式比如 li{color:red;}

3、那么所有的li都会是红色字不要试图去清除掉因为继承样式是默认的无法清除就好像你无法改变代码的执行顺序默认从上至下一样除非你加if判断等来控制所以答案是无法清除

4、除非你能够改变代码默认执行顺序从下至上解析不过这是不可能的因为代码不是你发明的浏览器解析方式更加不可能取决于你

5、第二我们如何解决此类问题比如说我们可以规定区域

6、假设 2个div分别上下两区域分别 id=a id=b

7、你如果只想要id=a部分的li为红色那么写法如下

8、#a li{color:red}那么在id=b区域中的li则不受影响

9、我们只能够通过这种尽量规定使用区域来解决此类问题

三、清楚CSS指定样式,怎么清除

问题问的比较含糊吧,其实不太能理解是想要整理样式,还是想要在原有基础上覆盖样式。

在我们写样式的时候,页面的CSS在经历几个版本的修改之后,可能有些样式已经用不到了,或许将某些样式更名了而原来的忘了删除,总之页面中可能存在着一些无用的样式。这些无用的浪费了一些服务器空间和带宽消耗,也会增大我们的维护成本。下面介绍几个分析无用样式的工具:

Dust-Me是一个很有用也很好用的Firefox插件,它可以分析到你的页面中调用的所有CSS文件并分析那些在页面中没有被用到。

支持本地和远程样式文件,包括使用<link>标签、<?xml-stylesheet?>处理指令、@import语句等方式引入的样式文件;(但是不支持页面中的<style>块和内联样式)

支持IE条件注释中引入的样式文件;

可以检查一个页面,也可以检查整个网站;

支持CSS1选择器、大部分CSS2和CSS3选择器;

理解通用的CSS hack,比如“* html#fuck-ie”将会被认为是”html#fuck-ie”;

支持Firefox 3.5和Firefox 3.0,事实上得益于FF 3.5的js引擎的改进,FF 3.5中的性能比FF 3.0要高50%。

你可以下载该项目的源代码,了解更多请访问 Dust-Me selector官方页面。

Page Speed是Google提供的一个前端性能分析工具,有些类似于YSlow,但是提供了一些比较个性且很有用的工具,比如Remove unused CSS:

Page Speed和YSlow一样依赖Firebug。

CSS Redundancy Checker是一个免费的在线应用,可以检查所有的使用某个CSS文件的页面中无用的样式。可以同时检查某一个样式在多个页面中的使用情况。该工具的不足是虽然一次能检查多个HTML页面,但每次只能检查一个CSS文件,而且还要手动输入:

IntelliJ IDEA这是一个颇强大的IDE,类似于DreamWeaver,不过在国内用的不多。该软件包括一个即时代码分析工具(On-the-fly Code Analysis),可以分析CSS文件中未用到的class和id。

Expression Web作为微软的新一代网站开发工具,还是有很多人使用的,其CSS Report功能可以检查未用到需要被清除的CSS(我的确没有使用EW开发过网站,希望使用该软件的童鞋可以帮忙确认一下这一点)。

另外,通常我们将整个网站的样式写入一个或多个样式文件中,然后在页面中全部调用或者分模块调用,那么某个CSS文件中的样式可能在某个页面中的确没有用到但是在其它的页面中被用到了,所以使用这些工具检测CSS文件中多余的样式的时候,需要保持一定的谨慎,清除样式可能会影响到其它的页面,所以 page speed提供的检查结果只适用于单个页面,不适合整个网站,而使用Dust-Me或CSS Redundancy Checker的时候可以对整个网站或者网站的多个页面同时检查,这样可能能避免万无一失。

有时候在写CSS的过程中,某些限制总是不起作用,这就涉及了CSS样式覆盖的问题,如下:

#navigator{height:100%;width:200px;position:absolute;left:0;border:solid2#EEE;}

.current_block{border:solid2#AE0;}

CSS优先级如下排列:

1.样式表的元素选择器选择越精确,则其中的样式优先级越高:id选择器指定的样式>类选择器指定的样式>元素类型选择器指定的样式所以上例中,#navigator的样式优先级大于.current_block的优先级,及时.current_block是最新添加的,也不起作用。

2.对于相同类型选择器制定的样式,在样式表文件中,越靠后的优先级越高注意,这里是样式表文件中越靠后的优先级越高,而不是在元素class出现的顺序。比如.class2在样式表中出现在.class1之后:

.class2{color:red;}

而某个元素指定class时采用 class="class2 class1"这种方式指定,此时虽然class1在元素中指定时排在class2的后面,但因为在样式表文件中class1处于class2前面,此时仍然是class2的优先级更高,color的属性为red,而非black。

而某个元素指定class时采用 class="class2 class1"这种方式指定,此时虽然class1在元素中指定时排在class2的后面,但因为在样式表文件中class1处于class2前面,此时仍然是class2的优先级更高,color的属性为red,而非black。

3.如果要让某个样式的优先级变高,可以使用!important来指定:

.class1{color:black!important;}

.class2{color:red;}

此时class将使用black,而非red。

此时class将使用black,而非red。

对于一开始遇到的问题,有两种解决方案:

1.将border从#navigator中拿出来,放到一个class.block中,而.block放.current_block之前:

#navigator{height:100%;width:200;position:absolute;left:0;}

.current_block{border:solid2#AE0;}

需要莫仁为#navigator元素指定class="block"

需要莫仁为#navigator元素指定class="block"

#navigator{height:100%;width:200;position:absolute;left:0;border:solid2#EEE;}

.current_block{border:solid2#AE0!important;}

此时无需作任何其他改动即可生效。可见第二种方案更简单一些。

此时无需作任何其他改动即可生效。可见第二种方案更简单一些。

关于css清除默认样式到此分享完毕,希望能帮助到您。