大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
你好 你的这个问题 我只能做如下解释
公司主营业务:网站建设、成都网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出微山免费做网站回馈大家。
第一 如果你写的是类样式 比如 li{color:red;}
那么所有的li都会 是红色字 不要试图去清除掉 因为继承样式是默认的 无法清除 就好像你无法改变代码的执行顺序默认从上至下一样 除非你加if判断等来控制 所以 答案是无法清除
除非你能够改变代码默认执行顺序 从下至上 解析 不过这是不可能的 因为代码不是你发明的 浏览器解析方式 更加不可能取决于你
第二 我们如何解决此类问题 比如说 我们可以规定区域
假设 2个div 分别上下两区域 分别 id=a id=b
你如果只想要id=a 部分的li 为红色 那么写法如下
#a li{color:red} 那么 在id=b区域中的li则不受影响
我们只能够通过这种 尽量规定使用区域 来解决此类问题
洗完能帮到你 谢谢
写网页的时候CSS样式一般是先把没用的清楚掉的,比如自带的边框 margin padding等等,
你需要把所有的标签基本都得清除一遍,不然后期写网页的时候有的小细节问题很难排查出来
问题问的比较含糊吧,其实不太能理解是想要整理样式,还是想要在原有基础上覆盖样式。
======整理样式=====
在我们写样式的时候,页面的CSS在经历几个版本的修改之后,可能有些样式已经用不到了,或许将某些样式更名了而原来的忘了删除,总之页面中可能存 在着一些无用的样式。这些无用的浪费了一些服务器空间和带宽消耗,也会增大我们的维护成本。下面介绍几个分析无用样式的工具:
【Dust-Me selectors】
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】
Page Speed是Google提供的一个前端性能分析工具,有些类似于YSlow,但是提供了一些比较个性且很有用的工具,比如Remove unused CSS:
Page Speed和YSlow一样依赖Firebug。
【CSS Redundancy Checker】
CSS Redundancy Checker 是一个免费的在线应用,可以检查所有的使用某个CSS文件的页面中无用的样式。可以同时检查某一个样式在多个页面中的使用情况。该工具的不足是虽然一次能 检查多个HTML页面,但每次只能检查一个CSS文件,而且还要手动输入:
【IntelliJ IDEA】
IntelliJ IDEA 这是一个颇强大的IDE,类似于DreamWeaver,不过在国内用的不多。该软件包括一个即时代码分析工具(On-the-fly Code Analysis),可以分析CSS文件中未用到的class和id。
【Expression Web】
Expression Web作为微软的新一代网站开发工具,还是有很多人使用的,其CSS Report功能可以检查未用到需要被清除的CSS(我的确没有使用EW开发过网站,希望使用该软件的童鞋可以帮忙确认一下这一点)。
另外,通常我们将整个网站的样式写入一个或多个样式文件中,然后在页面中全部调用或者分模块调用,那么某个CSS文件中的样式可能在某个页面中的确 没有用到但是在其它的页面中被用到了,所以使用这些工具检测CSS文件中多余的样式的时候,需要保持一定的谨慎,清除样式可能会影响到其它的页面,所以 page speed提供的检查结果只适用于单个页面,不适合整个网站,而使用Dust-Me或CSS Redundancy Checker的时候可以对整个网站或者网站的多个页面同时检查,这样可能能避免万无一失。
======覆盖样式=====
有时候在写CSS的过程中,某些限制总是不起作用,这就涉及了CSS样式覆盖的问题,如下:
/* css样式 */
#navigator {height:100%;width:200px;position: absolute;left: 0;border: solid 2 #EEE;}
.current_block {border: solid 2 #AE0;}
CSS优先级如下排列:
1. 样式表的元素选择器选择越精确,则其中的样式优先级越高:id选择器指定的样式 类选择器指定的样式 元素类型选择器指定的样式所以上例中,#navigator的样式优先级大于.current_block的优先级,及时.current_block是最新添加的,也不起作用。
2. 对于相同类型选择器制定的样式,在样式表文件中,越靠后的优先级越高注意,这里是样式表文件中越靠后的优先级越高,而不是在元素class出现的顺序。比如.class2 在样式表中出现在.class1之后:
/* Css代码 */
.class1 {color: black;}
.class2 {color: red;}
而某个元素指定class时采用 class="class2 class1"这种方式指定,此时虽然class1在元素中指定时排在class2的后面,但因为在样式表文件中class1处于class2前面,此时仍然是class2的优先级更高,color的属性为red,而非black。
3. 如果要让某个样式的优先级变高,可以使用!important来指定:
/* Css代码 */
.class1 {color: black !important; }
.class2 {color: red;}
此时class将使用black,而非red。
对于一开始遇到的问题,有两种解决方案:
1. 将border从#navigator中拿出来,放到一个class .block中,而.block放.current_block之前:
/* Css代码 */
#navigator {height: 100%;width: 200;position: absolute; left: 0; }
.block {border: solid 2 #EEE; }
.current_block {border: solid 2 #AE0;}
需要莫仁为#navigator元素指定class="block"
2. 使用!important:
/* Css代码 */
#navigator {height: 100%;width: 200;position: absolute;left: 0; border: solid 2 #EEE;}
.current_block {border: solid 2 #AE0 !important;}
此时无需作任何其他改动即可生效。可见第二种方案更简单一些。
写好的css最好还是尽量少删啦,因为可能现在没起作用,在某一块没起作用,但是说不定以后能起作用,在别的地方能有用。在现在越来越强调代码重用的环境下,我们只能在编码初期就把代码整体架构给打好。比如说选择一个好的样式重置,科学的浮动清除方式等等都是至关重要的。所以我觉得与其想办法删除一些多余的css,倒不如把心思花在前期工作和css代码的锤炼上,毕竟事先解决比事后解决还是好一些的嘛。
写法:*{}
星号即为通配符选择器,写在其中的样式会应用页面到所有的元素中,所以使用的频率并不高,主要用于清除浏览器默认样式。
在使用各种元素的过程中,我们会发现很多元素都是有默认样式的,比如body标签有默认的padding值和margin值,h1和p标签有默认的行高字号,margin值,a标签有默认的下划线,列表前面有小圆点等等,常常会干扰我们进行页面的编写,所以我们可以事先使用通配符选择器进行浏览器默认样式清除。
更精准的清除方法
刚刚我们使用的通配符选择器,会给所有元素都设置一遍默认样式,解析的工作量会比较大,所以我们可以根据我的页面里到底有哪些元素需要清除,使用群组选择器写出更精确的清除默认样式css,如:
可以把它写入一个外部样式表reset.css,如果需要清除直接导入就可以啦。
1、清除在编写页面中由于浏览器默认样式带来的干扰。
2、兼容性更好,不同浏览器的默认样式可能会有所不同,如果不清楚可能会造成我们编写的页面在不同浏览器上的效果有所出入。
选择器部分文章:
选择器介绍(一)标签选择器、id选择器、类选择器
选择器介绍(二)后代选择器,子代选择器,交集选择器,并集(群组)选择器
通配符选择器清除浏览器默认样式
在css中能够实现换行的代码有如下几个:
1、display:block; //将标签改成块元素,块元素是单独占一行的。
2、clear:both; //清除浮动实现换行。
3、white-space:break; //这个一般适用在英文文章中的折行。
可以根据上面的几个能实现换行的样式,只需要将对应标签的对应属性删除就可以了。