写出更好的代码CSS代码书写技巧分享

2016-02-19 15:34 1 1 收藏

今天图老师小编要向大家分享个写出更好的代码CSS代码书写技巧分享教程,过程简单易学,相信聪明的你一定能轻松get!

【 tulaoshi.com - Web开发 】

1. Reset

真的,要一直使用一个reset,无论是使用Eric Meyer Reset、YUI Reset、或者你自己的定制的reset,一定要使用。

这可以简单到仅仅将所有元素中的margin和padding属性去掉:

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

html, body, div, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, blockquote,
pre, form, fieldset, table, th, td { margin: 0; padding: 0; }

Eric Meyer和YUI的Resets样式是很棒的,但对我来说,它们走的太远了。我想要你清除所有东西,然后再重新定义元素的许多属性。这就是Eric Meyer所推荐的。如果有更有效的方法是用它的话,你不应该只是拿来他的样式文件,将它直接放到自己的项目中——提炼它,在它的基础上重建,把它变成你自己的。

哦,请不要再这样:

* { margin: 0; padding: 0; }

它被使用的地方太多了,如果把一个单选框的padding去掉,你觉得会发生什么事情? 表单元素有的时候会有些比较时髦的表现,所以最好还是让它们保持原状吧。

2. 按字母排序

一个小测试
下面的两个例子,你认为哪个能较快找到margin-right属性的位置?

例1

div#header h1 {
 z-index: 101;
 color: #000;
 position: relative;
 line-height: 24px;
 margin-right: 48px;
 border-bottom: 1px solid #dedede;
 font-size: 18px;
}

例2

div#header h1 {
 border-bottom: 1px solid #dedede;
 color: #000;
 font-size: 18px;
 line-height: 24px;
 margin-right: 48px;
 position: relative;
 z-index: 101;
}

不要告诉我例2没有例1快!通过将这些样式的属性按照字母排序,你所创建的连贯性将帮你减少花费在寻找某个属性的时间。

我知道有的人以这种方法组织排序,其他人又用另外的方法来组织样式的顺序。但是在我所在的公司,我们一致下定决心按照字母来排序。当你和其他人共同开发代码的时候,这种方法肯定对你有用。每次看到某个样式表没有按照字母排序,我就很讨厌,因为它们看起来比较凌乱无序……

3.有组织的

你应该组织你的样式,这样你就可以比较容易的找到想要的内容以及放在一起的相关条目。这可以使用注释的方法。例如,我是这样组织我的样式表的:


4. 一致性

无论你现在以何种方式编码,保持下去。我十分讨厌关于完全单行或者完全多行的争议,这本身是没有什么可争议的! 每个人都有自己的看法,所以就用你认为对的并自始至终保持下去。

就我个人而言,我使用混合模式,如果一个样式有超过3条属性,我就采用多行:

div#header { float: left; width: 100%; }
div#header div.column {
 border-right: 1px solid #ccc;
 float: right;
 margin-right: 50px;
 padding: 10px;
 width: 300px;
}
div#header h1 { float: left; position: relative; width: 250px; }

我使用这种方法是因为我的文本编辑器一行在换行前正好能容纳大概3个属性,如果没有太多的属性,显然单行要比多行更易读。

5.从正确的地方开始

在你写好你的标签之前不要动你的样式文件

当我准备开工的时候,在我创建一个CSS文件之前,我检查并对整个文档进行编码(HTML),从开始body标签到结束整个body标签。不添加任何多余的div、id或class。我会添加一些通用的div,比如头部,内容,底部,因为我知道这些东西肯定会有。

通过先编码整个文档,你可以避免出现多DIV症或多类症,这些毛病有的时候可能是致命的! 你只需要在你开始写CSS和确定需要另外的东西来实现相关效果的时候再加入它们。

使用CSS的向后选择器来定义子元素。不要直接自动的为元素添加类或id。请记住,如果一个文档没有良好的格式(结构),CSS是毫无价值的。

*编辑注: 我不能足够的强调这一点。就像Trevor 说的, 在没有100%完成HTML之前,不要动你的CSS文件。

结论

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

这只是一些帮我写出更好的代码的一些技巧。当然这绝不是此文的结束,当我发现了其它技巧时,我会继续分享的。


/*****Reset*****/
Reset

/*****Basic Elements*****/
为基本元素定义样式: body, h1-h6, ul, ol, a, p, etc.

/*****Generic Classes*****/
定义一些单独的样式,比如,浮动、去掉元素的底部边距等。
是的,可能他们不够语义化,但是,它们对有效的编码是很有效的。

/*****Basic Layout*****/
定义基本模板: 头部、底部、等,用来定义网站的基本结构

/*****Header*****/
定义头部的所有元素

/*****Content*****/
定义内容区域的所有元素

/*****Footer*****/
底部样式

/*****Etc*****/
继续定义其它样式通过使用注释和对相似元素进行分组,可以更快的找到你需要的内容。

来源:https://www.tulaoshi.com/n/20160219/1609936.html

延伸阅读
标签: Web开发
SNS的传播主体是人际传播。校内网与Web2.0应用典范的博客相比,校内网利用后发优势,集成了包括博客在内的绝大部分传统人际传播媒介的功能,更简易地实现了主体的多种需求。通过与博客等媒介的比较,归纳出传者的自组织性及去中心化,以隐私性和自主性为前提的高分享度微内容传播,传播符号的多元化,对象群体的同龄化及指定性,传播主体的...
标签: Web开发
在一行内声明CSS 我们来对比下面两段代码: h2 {font-size:18px; border:1px solid blue; color:#000; background-color:#FFF;} h2 { font-size:18px; border:1px solid blue; color:#000; background-color:#FFF; } 第二种看起来的确格式化,但是不会在阅读上有任何帮助。写在一行内可以让你...
标签: Web开发
!DOCTYPE a href="/keys/html/index.html" target="_blank"html/a PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh" head profile="http://www.w3.org/2000/08/w3c-synd/#" meta http-equiv="content-language" content="z...
这篇文章我们要分享的是一些优秀的CSS3和HTML5代码片段,以后我们会定期发布这样的代码片段。因为我们都知道现在代码片段对于WEB开发人员的重要性。这些优秀的片段可以让你在前端架构中提高编码效率,代码也相当规范。这些代码会让你惊叹。很多超出了你对于一般CSS的定义。让我们看到了CSS代码更大未来的可能。下面分享出的30+CSS代码片段会让...
标签: Web开发
position=定位方式 padding=内间距 margin=外间距 (top=顶边 right=右边 bottom=底边 left=左边) background=背景 background-image=背景图像 background-repeat=背景图像是否及如何铺排 font-weight=字体的粗细 font-family=选择字体 font-size=字体尺寸 display=设置是否及如何显示元素 list-style-type=列表项所使用的预设...

经验教程

534

收藏

78
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部