博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
5步减小你的CSS样式表
阅读量:7098 次
发布时间:2019-06-28

本文共 2522 字,大约阅读时间需要 8 分钟。

第一步:学会如何组合选择器

什么是选择器?

如果你还不知道什么叫做”选择器”,你可以先参考一下w3schools.com的。

未优化的CSS代码

在下面的图例中,你会看到来自三个不同选择器的同样的CSS属性声明。

点击小图浏览清晰大图

优化的CSS代码

你可以将上面的css代码优化组合,让所有CSS选择器使用同一组属性。每个选择器之间用逗号分割开,像下面这样。

h2, p, .block {
    font-size1.5em;
    padding10px 10px 10px 25px;
    margin10px 0;
    border1px solid #ddd;
    background#f0f0f0 url(crown.gifno-repeat 5px 10px;
}

第二步:了解CSS选择器优先级

什么是CSS优先级?

选择器优先级是用于在CSS代码中同一个选择器使用不同属性时CSS优选处理哪些属性的规则。对选择器优先级不了解的话可以参考:

未优化的CSS代码

理解优先级规则中不同等级重要性是很必要的,如果写了同样优先级的CSS声明将有可能导致代码冲突和代码臃肿。

点击小图浏览清晰大图

优化的CSS代码

当你完全掌握CSS选择器优先级之后,你便能通过合并统一的属性声明来所见代码量,然后再单独声明元素的独有属性。你会很快找到优化CSS代码的技巧,对完成合并和匹配代码。下面是关于优化上图代码的实例:

h2 {
    font-size1.5em;
    padding10px 10px 10px 25px;
    margin10px 0;
    border1px solid #ddd;
    background#f0f0f0 no-repeat 5px 10px;
}
h2.best {
background-imageurl(crown.gif);}
h2.fav {
background-imageurl(heart.gif);}
h2.comments {
background-imageurl(balloon.gif);}
h2.twitter {
background-imageurl(balloon_twitter.gif);}
#featured h2.twitter {
    background-color#fffdd7;
    border1px solid #ddd991;
}

你还可以参考以下相关文章:

第三步:学会如何合并类和ID

和之前类似,你也可以通过匹配合并class名和id值来优化你的CSS代码。请记住,为同一个元素添加不同的多个class,你就可以通过组合不同的属性声明在实现你希望的效果。在适当的位置添加id属性也是可以让你对样式有更多的控制权。

HTML

<div id="featured">
    <h2 class="best double">Best of</h2>
    <h2 class="fav double">Popular Posts</h2>
</div>
<div id="disable">
    <h2 class="comments double">Comments</h2>
    <h2 class="twitter double">Twitter</h2>
</div>

CSS

...
h2.best {
background-imageurl(crown.gif);}
h2.fav {
background-imageurl(heart.gif);}
h2.comments {
background-imageurl(balloon.gif);}
h2.twitter {
background-imageurl(balloon_twitter.gif);}
h2.tools {
background-imageurl(wrench_screwdriver.gif);}
h2.double {
    width263px;
    floatleft;
    margin0;
}
#featured h2.double {
    background-color#ffe2e2;
}
#disable h2 {
    filter:alpha(opacity=40);
    opacity:.40;
    -ms-filter"progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
    background-color#d5d5d5;
}

第四步:学会CSS简写

可以让你将多行的CSS属性声明缩写成简单的一行代码。现在你在很多地方都可以找到CSS缩写的相关教程,你也可以浏览以下CSS缩写教程:

第五步:将你的样式表分成几部分–@import

在你完成一个比较大的网站项目时,你的样式表中的代码量是相当庞大的,也许会有很多不同模块的CSS声明及注释。这种情况下,你可以考虑使用将一个庞大的样式表切割成几个不同模块的小样式表,然后再用@import将他们组合起来。

HTML

你可以像平常一样调用一个样式表

<link rel="stylesheet" type="text/css" href="styles.css" />

CSS – styles.css

这时styles.css作为你的主样式表,它将负责调用其它子样式表。(我会把子样式表放在’styles’ 目录下以便于组织管理,纯属个人习惯,你也可以有自己的习惯)

@import "styles/main.css";
@import "styles/checkout.css";
@import "styles/shoppingcart.css";

译者注:@import虽然能够为某个大的CSS文件减肥,但是它在页面读取方面(尤其IE)还是有弊端的。感兴趣的读者可以看看这篇文章:

你还可以参考以下相关文章:

 

转载于:https://www.cnblogs.com/zytrue/p/8493319.html

你可能感兴趣的文章
Sharepoint学习笔记—Site Definition系列-- 2、创建Content Type
查看>>
半DDD架构 1
查看>>
数据库 收缩
查看>>
uva 10913 Walking on a Grid
查看>>
Swing中如何让一个TextField获得焦点
查看>>
最近常常干出一些骑着驴找驴的事来
查看>>
The Glowing Python: K- means clustering with scipy
查看>>
配置ORACLE 客户端连接到数据库
查看>>
Asp.Net Web API 2第十五课——Model Validation(模型验证)
查看>>
爬虫中的编码问题
查看>>
vim 操作
查看>>
sudo apt-get install lib32stdc++6
查看>>
03. 行列转换写法小结
查看>>
H2 database 行相加-行列转换
查看>>
ASP.NET状态管理详解,让你明明白白
查看>>
使用mysql触发器脚本,解决流水数据的添加。
查看>>
SIP and RTP Stack
查看>>
Activity间用Intent、Bundle、onActivityResult进行传值
查看>>
SQL Server如何启用xp_cmdshell组件
查看>>
Windows phone 8 学习笔记(3) 通信(转)
查看>>