如何书写高效的css样式?

有以下四个关键要素:

1.高效的css

2.可维护的css

3.组件化的css

4.hack-free  css

书写高效的css:

1.使用外联样式替代行间样式或内嵌样式(不建议使用@import外联方式)
2.使用继承(比如字体、字号属性,可以在body的css样式中规定,有特定的变化,再针对该元素书写。并非特指使用inherit属性)
3.使用多重选择器
  示例:h1,h2,h3,...,a{color:#333}
4.使用多重声明(同一元素的样式设置,在一对{}中写完)
5.使用简记属性
  示例:a{font:bold 14px/20px Verdana, Arial, Helvetica, sans-serif;}
分别表示:加粗;字号14px;行高20px;字体
6.避免使用!important属性,特定情况下可以使用以下方式加高权重级别
  示例:body #content{...}

书写可维护的css:

书写可维护的css,可以让后续维护人员更容易理解我们书写的样式代码。

1.在样式表的开头添加一个注释块,用以描述这个样式表的创建日期创建者标记等备注信息
  示例:/*------------------------------------
      创建时间:2015.10.16
      创建者:

    ----------------------------------------*/  

2.包括公用的颜色标记
  示例:body{color:#333;}
       a{color:#333;}
     a:hover{color:#ff3300;}
3.给ID和class进行有意义的命名
4.将关联的样式进行整合
  示例:#nav{...}
     #nav ul{...}
     #nav ul li{...}
5.给样式添加清晰的备注
  示例:/*---------header start---------------*/
        .........................
     /*---------header end---------------*/
6.组件化css
  将css样式表拆分成独立的css样式文件:header.css    footer.css   common.css   content.css  container.css等等,拆分之后方便css样式的维护管理。

Hack free css:

  如何处理IE浏览器的兼容性问题,一直困扰着前端工作者。如果使用css hack来解决问题,在IE浏览器版本升级更替,改进对css样式的支持后,之前使用的hacks将会无效。
在不使用css hack的情况下更新页面,可以使用条件注释来针对或避开IE浏览器。

针对IE浏览器:
步骤1.创建一个css样式文件,ie5.css
步骤2.使用条件注释:当使用的浏览器是ie5版本时,读取并使用ie5.css文件
  示例:<!--[if IE 5]>
      <link rel="stylesheet" type="text/css" href="css/ie5.css" media="screen">
     <![endif]-->
使用条件注释的优点:
1.No Hacks  
  特定的css规则仅出现在新的样式表里。
2.文件分离
  针对特定版本的IE定义的样式脱离了主样式表,可以在IE浏览器升级更新对属性支持时轻松移除这些文件。
3.针对性
  可对不同版本的IE浏览器有针对性的进行相关属性的定义。

如何书写高效的css样式的更多相关文章

  1. 书写高效的CSS

    一.使用高效是CSS ①:使用外联样式替代行间样式或内嵌样式. 不推荐使用内联样式:<style></style> 不推荐使用内嵌样式:<p style="&q ...

  2. 书写更加高效的CSS,走出误区

    根据一些CSS写作经验,如何提高渲染效率及所占用消耗的资源,我们来浅谈一下CSS的渲染效率,书写高效的CSS. 1.十六进制的颜色值对位数与大小写 编写十六进制颜色值时你可能会用小写字母或省略成3位数 ...

  3. 引入CSS样式表(书写位置)

    CSS可以写到那个位置? 是不是一定写到html文件里面呢? 内部样式表 内嵌式是将CSS代码集中写在HTML文档的head头部标签中,并且用style标签定义,其基本语法格式如下: <head ...

  4. CSS样式表的书写位置

    行内式(内联样式) 是通过标签的style属性来设置元素的样式,其基本语法格式如下: <标签名 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"&g ...

  5. 在不同的浏览器使用不同的css样式,解决浏览器兼容问题

    区别IE6与FF:       background:orange;       *background:blue; 区别IE6与IE7:       background:green !import ...

  6. 如何让不同浏览器调用不同的CSS样式

    如何让不同浏览器调用不同的CSS样式 由 于对W3C标准支持程度的不同,往往导致同一个CSS样式表在各种Web浏览器中的呈现大相径庭.以目前市场占有率最高的两个浏览器Microsoft Interne ...

  7. css书写规范及特殊样式

    1.CSS书写顺序: (1)位置:position.top.right.z-index.display.float (2)大小:width.height.padding.margin (3)文字系列: ...

  8. css样式书写的问题

    经常遇到前端的朋友问及css样式书写的问题,结合自己实际的工作,自己总结了整理了一下,给大家分享: 一.顺序问题:显示属性-位置属性-元素自身属性-文本属性-其他属性 1.显示属性:z-index.d ...

  9. CSS 样式书写规范

    可能不同团队都有各自的规范,又或者很多人在写 CSS 的时候还是想到什么就写什么,不存在太多的约束. 我觉得 CSS 代码规范还是有存在的必要的,尤其是在团队配合,多人协作下,规范就显得尤为重要. 本 ...

随机推荐

  1. linux 初步试水_安装问题整理_1

    linux的安装问题 预备: 我开始学习Linux使用的是<鸟哥的Linux私房菜 基础学习篇>,在书中提到的安装方法是光盘安装. 问题是,我没有光盘,这就很僵硬了. 通过网络的扫荡,我选 ...

  2. 学习笔记-Little Tips_day20170615-"\n" and '\n'

    1.'\n'是字符 相当于char   占一个字节 "\n"是字符串 相当于char[2]   占两个字节 答案是ABC

  3. 【Unity与23种设计模式】代理模式(Proxy)

    GoF中定义: "提供一个代理者位置给一个对象,好让代理者可以控制存取这个对象." 代理模式多用来优化资源的加载 当资源已经加载过时,使用原来的资源 当资源没有加载过时,开始加载 ...

  4. C++调用C方法

    //1,编译静态库 libtest.a gcc -c test.c -o test.o ar rc libtest.a test.o //2,编译main函数 g++ -o main main.cpp ...

  5. 温故而知新-set

    set:同map一样,关联式容器.在插入时就会进行排序,主要特点如下: 1.记录元素即是key值又是value值 2.插入的时候严格排序,底层是红黑树 3.删除元素时只要操作指针节点,无需进行内存的拷 ...

  6. 常见的if语句shell脚本

    常见的if语句shell脚本 author :headsen  chen  2017-10-17  15:00:07 1,cat if.sh 2, cat  if2.sh

  7. Online Judge(OJ)搭建——1、项目介绍

    项目名 Piers 在线评测 项目需求 用户: 获取题库.题目的相关信息. 在线对代码进行编译.执行.保存.返回运行(编译)结果. 总体题目评测成绩查询. 用户信息服务,包括注册.登录.忘记密码.邮箱 ...

  8. python爬微信公众号前10篇历史文章(3)-lxml&xpath初探

    理解lxml以及xpath 什么是lxml? python中用来处理XML和HTML的library.与其他相比,它能提供很好的性能, 并且它支持XPath. 具体可以查看官方文档->http: ...

  9. 通过Beego将之前实现的短url项目实现

    正好通过这个小例子对之前了解的beego框架的基本内容进行一个简单的应用 实现的完整代码地址:https://github.com/pythonsite/go_simple_code/tree/mas ...

  10. 使用jquery-panzoom来实现图片或元素的放大缩小

    1. html <div class="wrapper"> <a class="btn btn-md" ui-turn-off="A ...