一、有效组织CSS代码

规划组织CSS代码:组织CSS代码文件,所有的CSS都可以分为2类,通用类和业务类。代码的组织应该把通用类和业务类的代码放在不同的目录中。

模块内部的另一样式规则:样式声明的顺序是按照模块中元素的层级关系来处理,从父级元素开始,如果是同一级元素则按照元素在页面的位置从上到下。从坐到右地定义对应的样式。如果多个公用,则先声明公用的样式,然后声明个体样式。

CSS排序实践:

  • 对CSS样式排序
  • 推荐按样式属性功能分组排序
  • 推荐在CSS样式代码编写完成并准备嵌入的时候排序
  • 使用如CSScomb等工具排序

二、合理利用权重:提高代码的重用性

CSS的6中基础选择器:

  • ID选择器
  • 类选择器
  • 属性选择器
  • 伪类和伪对象选择器
  • 标签类型选择器
  • 通配符选择器

组合选择器:

  • 后代选择器(.reader .title{})
  • 子选择器(.reader>.title{})
  • 相邻选择器(.reader+.title{})

CSS权重规则:

  • 计算选择符中的ID选择器的数量(=a)
  • 计算选择符中的类选择器、属性选择器以及伪类选择启动额数量(=b)
  • 计算标签类型选择器和伪对象选择启动额数量(=c)
  • 忽略全局选择器

基础选择器的优先级:

ID>类|伪类|属性选择>标签选择|伪对象>通配符

操作原则:

  • CSS样式中尽量不使用ID选择器
  • 减少子选择器的层级
  • 使用组合的CSS类选择器

浏览器兼容:http://browserhacks.com/#ie

相对单位:

W3C官方文档注意把尺寸单位分为相对长度单位和绝对长度单位两种。相对长度单位在定义长度时是相对于其他长度的,它又分为字体相对单位和视窗相对单位,字体相对单位包括:em  ex   ch  rem视窗相对单位包括:vw  vh  vmin  vmax。绝对长度单位定义的长度是固定的,使用的是物理度量单位,包括:cm  mm in px pt  pc 。使用最广泛的就是em  px和百分比值。

  1. px:像素,相当于绝对尺寸
  2. em:相当于元素上计算的字体大小值
  3. 百分比:相对于父元素的设置

尺寸设置最佳实践:

尽量设置相对尺寸:如果希望尺寸随着字体的改变而改变则应该使用em,如果期望尺寸随着父元素尺寸的改变而改变则应该使用百分比。设置行高一般使用em,设置高度和宽度一般使用百分比。

只有在预知元素尺寸的情况下才使用绝对尺寸:

使用em设置字体大小

三、CSS优化

减少CSS的代码量

合并相关CSS的规则

定义简洁的属性值

删除无效的定义

兼容在线监测:caniuse.com   、 CSS3 Click ChartCSS  contents  and browser compatibility。CSS3 Clicj  Chart提供完整的浏览器兼容代码示例.

添加必要的前缀:Chrome和Safari浏览器使用-webket,Firefox浏览器使用-moz,IE使用-ms,Opera浏览器使用-o.

使用工具来生成CSS属性定义的浏览器前缀:Prefixr。如果希望开发过程中有更多的自主性可以使用Autoprefixer

除上述之外还可以使用:cssFx  、  CSS Agent-prefis-free。以及LESS预处理

有效使用HTML5的建议网站:html5please

【WEB前端开发最佳实践系列】CSS篇的更多相关文章

  1. Web前端开发最佳实践系列文章汇总

    Web前端开发最佳实践(1):前端开发概述 Web前端开发最佳实践(2):前端代码重构 Web前端开发最佳实践(3):前端代码和资源的压缩与合并 Web前端开发最佳实践(4):在页面中添加必要的met ...

  2. 【WEB前端开发最佳实践系列】JavaScript篇

    一.养成良好的编码习惯,提高可维护性 1.避免定义全局变量和函数,解决全局变量而导致的代码“污染”最简单的额方法就是把变量和方法封装在一个变量对象上,使其变成对象的属性: var myCurrentA ...

  3. 【Web前端开发最佳实践系列】前端代码推荐和建议

    一.常用的前端文件的组织结构: 1.js (放置JavaScript代码) lib(放置框架JavaScript文件) custom.js 2.css(放置CSS样式代码) lib(放置框架CSS文件 ...

  4. 【WEB前端开发最佳实践系列】高可读的HTML

    一.HTML语义化 HTML5中增加了很多标签都是基于此类原则设计的(article   nav  header  footer).页面标签语义化的优点是使得搜索引擎以及第三方抓包工具等更容易读懂页面 ...

  5. 【Web前端开发最佳实践系列】标准的HTML代码

    一.验证代码是否符合标准 优点: 标准的页面会保证浏览器正确的渲染 网页能更容易被搜索引擎搜索,提高网站的搜索排名 提高网站的易用性 网页更好维护和扩展 常用工具: W3 Validator HTML ...

  6. Web前端开发最佳实践(9):CSS代码太太乱,重复代码太多?你需要精简CSS代码

    前言 提高网站整体加载速度的一个重要手段就是提高代码文件的网络传输速度.之前提到过,所有的代码文件都应该是经过压缩了的,这可提高网络传输速度,提高性能.除了压缩代码之外,精简代码也是一种减小代码文件大 ...

  7. Web前端开发最佳实践(8):还没有给CSS样式排序?其实你可以更专业一些

    前言 CSS样式排序是指按照一定的规则排列CSS样式属性的定义,排序并不会影响CSS样式的功能和性能,只是让代码看起来更加整洁.CSS代码的逻辑性并不强,一般的开发者写CSS样式也很随意,所以如果不借 ...

  8. Web前端开发最佳实践(1):前端开发概述

    引言 我从07年开始进入博客园,从最开始阅读别人的文章到自己开始尝试表达一些自己对技术的看法.可以说,博客园是我参与技术讨论的一个主要的平台.在这其间,随着接触技术的广度和深度的增加,也写了一些得到了 ...

  9. web前端开发最佳实践笔记

    一.文章开篇 由于最近也比较忙,一方面是忙着公司的事情,另外一方面也是忙着看书和学习,所以没有时间来和大家一起分享知识,现在好了,终于回归博客园的大家庭了,今天我打算来分享一下关于<web前端开 ...

随机推荐

  1. asp.net mvc中配置路由默认值(Area中)

    public class RouteConfig { ] { "Best.Site.Areas.BestPalace" }; public static void Register ...

  2. PHP获取MySql新增记录ID值的3种方法

    From: http://www.jb51.net/article/51473.htm 这篇文章主要介绍了PHP获取MySql新增记录ID值的3种方法,一般使用PHP自带函数mysql_insert_ ...

  3. Thinkphp5 Route用法

    域名路由:domain 1.application/router.php 文件位置,吧一下代码放进去就可以了 use think\Route; Route::domain('app.tp5a.com' ...

  4. spring mvc 框架URL接收中文参数的乱码解决方案

    后台可能就会出现乱码,具体解决方案如下: 一. 配置tomcat目录下的service.xml文件 tomcat7/conf/server.xml 给该行代码加上 URIEncoding=" ...

  5. scala中获取Map中key和value的方法

    val scores=Map("Alice"->10,"Bob"->3,"Cindy"->8) // 获取所有的key v ...

  6. MVC输出字符串常用四个方式

    "); ";//@Html.Raw(s1); "); ";//@String.fomart(s3); 要MVC的Razor视图输出字符串的常用几个方式 记录下 ...

  7. css3-rem

    http://www.w3cplus.com/css3/define-font-size-with-css3-rem https://mp.weixin.qq.com/s/DpLXJhfCHsgrbg ...

  8. ​4种实现多列布局css

    摘要: 多列布局在网站应用中也是经常见到的,今天就分享4中多列布局. display:table <style> .table { width: auto; min-width: 1000 ...

  9. 10 -- 深入使用Spring -- 5... 实现任务的自动调度

    10.5 实现任务的自动调度 10.5.1 使用Quartz 10.5.2 在Spring中使用Quartz

  10. bat批处理设置静态、动态、ping、查看网络配置

    @echo off :startIP set /p source=S or D or C or P or E: echo source:%source% if /i "%source%&qu ...