偷懒的方法(CSS)

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

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

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

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

h2, p, .block {     font-size: 1.5em;     padding: 10px 10px 10px 25px;     margin: 10px 0;     border: 1px solid #ddd;     background: #f0f0f0 url(crown.gif) no-repeat 5px 10px; }

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

什么是CSS优先级?

选择器优先级是用于在CSS代码中同一个选择器使用不同属性时CSS优选处理哪些属性的规则。

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

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

h2 {     font-size: 1.5em;     padding: 10px 10px 10px 25px;     margin: 10px 0;     border: 1px solid #ddd;     background: #f0f0f0 no-repeat 5px 10px; }
h2.best {background-image: url(crown.gif);} h2.fav {background-image: url(heart.gif);} h2.comments {background-image: url(balloon.gif);} h2.twitter {background-image: url(balloon_twitter.gif);}
#featured h2.twitter {     background-color: #fffdd7;     border: 1px 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-image: url(crown.gif);} h2.fav {background-image: url(heart.gif);} h2.comments {background-image: url(balloon.gif);} h2.twitter {background-image: url(balloon_twitter.gif);} h2.tools {background-image: url(wrench_screwdriver.gif);}
h2.double {     width: 263px;     float: left;     margin: 0; } #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; }

第五步:将你的样式表分成几部分–@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";

时间: 2024-08-29 23:48:25

偷懒的方法(CSS)的相关文章

横向排列两个多个div盒子的方法(CSS浮动清除float-clear/inline)/办法

最近在做一个div css切割,昨晚发现了长期以来一直无记录下来的问题!关于兼容IE跟FF的float属性.趁现在还清醒赶紧记下笔记先:一.并排在一行的两个div样式有这种情况:ie或者ff下对于子div设置float左的时候,如果另外的子div没有设置float左的 话,两个浏览器下会有区别,具体有一个会产生间隙.兼容做法就是都设置float属性.但是记住有设置过float就要将float clear掉,不然下面的div会叠在已float的div上.我通常把清除浮动写成单独的<div clas

CSS技巧: CSS隐藏文字的方法(CSS text-indent: -9999px;)

建站过过程中朋友喜欢把网站名称用H1表示,但从美观考虑,要用logo图片来代替h1,这时需要隐藏h1内的这段文字,但又不能对搜索引擎不友好,否则就失去了定义h1标签的意义. 在CSS中如何以图代字,找了一下CSS隐藏文字的方法,有以下几条: 1.display:none; 这个大家普遍说法是,搜索引擎可能认为被隐藏的文字属于垃圾信息而被忽略,不为隐藏的对象保留物理占位空间.GG也搜CSS文件?不过如果用这个方法,<h1>如何设计,也是难题. 2.visibility:hidden; 和disp

jQuery方法css()

jQuery中.css()方法设置被选元素一个或多个样式属性,属性,值的使用方法也不同. <div class="wrap"> jQuery css() </div> <script src="http://libs.baidu.com/jquery/1.9.1/jquery.min.js"></script> <script> $(function() { $(".wrap").css

scss、less 对浏览器兼容的处理方法, css 的单行溢出、多行溢出

1. scss @mixin rounded($param1,$param2) { #{$param1}:$param2; -webkit-#{$param1}: $param2; -moz-#{$param1}: $param2; -ms-#{$param1}: $param2; -o-#{$param1}:$param2; } 使用方法: @include rounded(transition,all 0.3s); 2.less .promise(@css, @args) { @{css}:

使用@media实现IE hack的方法,css 兼容ie,解决火狐、谷歌兼容问题

在写项目当中,我们总会遇到兼容各种浏览器,当然包括ie各种版本,在解决ie   css兼容性问题中,比如说使用“\0”,“\”和“\9”来仅让IE某些版本识别,但浏览器有时会无视这些代码.那我们可以尝试使用@media实现IE hack的方法. 列如: 仅IE6和IE7识别 @media screen\9 { .el-form-item__label { position: relative; } } 仅IE8识别 @media \0screen { .el-form-item__label {

鼠标经过图片时变换的两种方法--css+div及javascript应用

javascript方式:    熟悉使用document.getElementById()取得节点对象 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"

LESS CSS使用方法 , CSS也能跟JS一样玩

在使用CSS的时候,总会有这个想法 这个属性值老是重复写好烦 这个属性值我在前面那个CSS文件中写过,好想直接拿过来用 CSS能不能像其他程序性语言一样用一个变量来代替需要重复利用的内容呢 鉴于以上的想法并非我一人会想到,只要是做过前端的肯定都会思考过这个问题,无奈CSS基本可以说没有语法可依循,于是有了LESS框架 什么是CSS? 作为一门标记性语言,CSS 的语法相对简单,对使用者的要求较低,但同时也带来一些问题:CSS 需要书写大量看似没有逻辑的代码,不方便维护及扩展,不利于复用,尤其对于

二级下拉菜单的三种实现方法——CSS 、JS、 jQuery

直接用CSS的  hover实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>下拉菜单</title> <link rel="stylesheet" type="text/css" href="./css/style.css">

iconfont矢量图替换方法-css高级应用

矢量图标替换教程 首先进入:http://www.iconfont.cn/ 搜索你分类的关键字---然后加入购物车 加入购物车之后,下载到本地用浏览器打开demo.html 把a class=“原来样式”    替换成  iconfont 要把下载到本地的demo 里面的 这四个文件传到对应的模板文件夹下. 然后对应文件夹下的style.css 打开找到 /*字体图标区域*/ @font-face { font-family:fp-font; src:url(http://at.alicdn.c