css的优化规则
1、避免过度约束:
// 不推荐
ul.nav{..} // 推荐
.nav{..}
2、避免过长的后代选择符:
// 不推荐
html div tr td {..}
3、避免链式(交集)选择符:
// 不推荐
.menu.left.icon {..} // 推荐
.menu-left-icon {..}
4、使用复合(紧凑)语法:
// 不推荐
.someclass {
padding-top: 20px;
padding-bottom: 20px;
padding-left: 10px;
padding-right: 10px;
background: #000;
background-image: url(../imgs/carrot.png);
background-position: bottom;
background-repeat: repeat-x;
} // 推荐
.someclass {
padding: 20px 10px 20px 10px;
background: #000 url(../imgs/carrot.png) repeat-x bottom;
}
5、避免不必要的命名空间
// 不推荐
.someclass table tr.otherclass td.somerule {..} // 推荐
.someclass .otherclass td.somerule {..}
6、避免不必要的重复
// 不推荐
.someclass {
color: red;
background: blue;
font-size: 15px;
} .otherclass {
color: red;
background: blue;
font-size: 15px;
} // 推荐
.someclass, .otherclass {
color: red;
background: blue;
font-size: 15px;
}
7、避免使用Hack:使用条件性注释来代替hack
8、移除多余的结构(frameworks)和重设(resets):
(1)使用CSS framework、reset,YUI Grid CSS使用的reset和Eric Meyer’s重设(Reset)
(2)Resets能够移除不同浏览器的默认样式,使得页面在各个浏览器之间的表现一致
9、将CSS分成清晰的结构块:
(1)将CSS文件的声明用注释分隔开并进行排版
(2)拆分布局风格,也就是给每种布局一个单独的CSS文件
10、使用留白:嵌套的代码使用一个tab缩进,所有属性独立一行
11、制定一套CSS标准:一定要养成为CSS写注释的习惯
12、压缩代码:
压缩是一个不错的解决方案,但是仅限于发布的时候,YUI Compressor和CSSTidy就是这样方面的专家,他们能够去除多余的代码,校验属性互相覆盖的错误。
许多流行的编辑器,比如BBEdit, TextMate, 和 TopStyle 都能够帮助你格式化你的CSS代码成你想要的样子,你还能通过服务器压缩技术使用PHP处理你的CSS,你可以找到更多的CSS优化和压缩的CSS工具。
13、最好使用表示语义的名字:一个好的CSS类名应描述它是什么而不是它像什么。
14、避免 !importants:其实你应该也可以使用其他优质的选择器。
15、尽可能精简规则:你可以进一步合并不同类里的重复的规则。
16、合并CSS文件
css的优化规则的更多相关文章
- 10个CSS简写/优化技巧-摘自网友
10个CSS简写/优化技巧23来源/作者:未知 类别:前端开发 字体大小:大|中|小 背景颜色:蓝|白|灰 ? ? CSS简写就是指将多行的CSS属性简写成一行,又称为CSS代码优化或CSS缩写.CS ...
- yahoo的30条优化规则
1.尽量减少HTTP请求次数 终端用户响应的时间中,有80%用于下载各项内容.这部分时间包括下载页面中的图像.样式表.脚本.Flash等.通过减少页面中的元素可以减少HTTP请求的次数.这是提高网页速 ...
- CSS性能优化探讨
大部分前端开发人员都不关心CSS性能优化,其实对于一个复杂的页面来说,高效的选择器还是可以带来一定的性能提升的. 1. CSS 选择器 浏览器是“从右往左”来分析 class 的,它的匹配规则是从右向 ...
- CSS性能优化的几个技巧
前言 随着互联网发展至今,对于网站来说,性能显的越来越重要了,CSS作为页面渲染和内容展现的重要环节,影响着用户对整个网站的第一体验.所以,我们需要重视与CSS相关的性能优化. 项目开发初期我们可能因 ...
- css的命名规则
本文转载自谈笑涧<css的命名规则> 操作系统版本:Windows 7 浏览器版本:IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.35 ...
- 改变CSS世界纵横规则的writing-mode属性
改变CSS世界纵横规则的writing-mode属性 这篇文章发布于 2016年04月27日,星期三,23:12,归类于 css相关. 阅读 8292 次, 今日 71 次 by zhangxinxu ...
- CSS样式优化
一.css代码优化作用与意义 1.减少占用网页字节.在同等条件下缩短浏览器下载css代码时间,相当于加快网页打开速度2.便于维护.简化和标准化css代码让css代码减少,便于日后维护3.让自己写的cs ...
- 1:CSS中一些@规则的用法小结 2: @media用法详解
第一篇文章:@用法小结 第二篇文章:@media用法 第一篇文章:@用法小结 这篇文章主要介绍了CSS中一些@规则的用法小结,是CSS入门学习中的基础知识,需要的朋友可以参考下 at-rule ...
- CSS的优先级规则
CSS的优先级规则有两类 1.位置群组规则 最高优先级为元素内嵌的style样式,如<div style=” “></div> 次高优先级为html头部中的<style& ...
随机推荐
- Why aren't more desktop apps written with Qt?
Ref http://programmers.stackexchange.com/questions/88685/why-arent-more-desktop-apps-written-with-qt ...
- Xshell配置SSH免密码登录
思路: 私钥存放于客户端,id_rsa 将客户端公钥存放于要远程控制服务器上:将客户在公钥id_rsa.pub内容追加到 /root/.ssh/authorized_keys 使用密钥认证分3步: 1 ...
- Ubuntu Nginx Ruby, Rails Mysql 安装
1. Nginx 安装 sudo apt-get install nginx 2. Ruby 安装 sudo apt-get install ruby 查看版本 ruby -v 3. Rails 安装 ...
- 手机浏览器User-Agent信息
ChormeMozilla/5.0 (Linux; Android 4.2.1; AMOI N828 Build/JOP40D) AppleWebKit/537.36 (KHTML, like Gec ...
- centos绑定多个域名
正在使用aliyun主机,运行centos6.4 64位系统,安装lamp环境后进行域名绑定.配置文件如下: <VirtualHost *:80> DocumentRoot /var/ww ...
- Task Class
https://docs.microsoft.com/zh-cn/dotnet/api/system.threading.tasks.task?redirectedfrom=MSDN&view ...
- line-height的理解
font-size:0清除display:inline-block元素换行符间隙,比如两个img标签之间有换行符 行内元素的高度是由其行高决定的. Div或者其他元素内的图片,底部会有间隙,原因是图片 ...
- 基于无锁队列和c++11的高性能线程池
基于无锁队列和c++11的高性能线程池线程使用c++11库和线程池之间的消息通讯使用一个简单的无锁消息队列适用于linux平台,gcc 4.6以上 标签: <无> 代码片段(6)[ ...
- CSS3 圆角(border-radius)
值:半径的长度 前缀 -moz(例如 -moz-border-radius)用于Firefox -webkit(例如:-webkit-border-radius)用于Safari和Chrome. 例1 ...
- 【推荐】asp.net 页面的生命周期
当一个页面请求发送到WEB服务器时,不论该事件是由页面提交还是由页面重定向而激发的,页面在其被创建到释放的过程中都会运行一系列的事件.一个ASP.NET页面从被创建到释放的过程包含10个事件. (1) ...