`
charrysong
  • 浏览: 48904 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

与您分享六个CSS习惯(CSS经验)

阅读更多

一、用class_name方式写类名。
  以前喜欢用class-name写,不过好像两样也没什么差别。但我比较反对用className写类名,因为始终对浏览器大小写敏感的问题抱有怀疑态度。但是id我会写成驼峰式,理由见下一条。

二、样式都用class而不用id。
  有三个理由,一,id不可以重复,所以用class的话,可以肆无忌惮的用无数次。二,id的优先级太高,若是写了一个#page_content a {color:#f60} ,那你完蛋了,里面要改链接颜色,都必须加上#page_content才能越过这个优先级。三,id专门留给JS用,这样才符合表现与行为分离的原则。所以id我用驼峰式,也是为了体现这一点。

三、margin和padding,尽量省略最后一个值。
  比如margin: 20px 10px 5px 10px; ,左右值是一样的,就应该省略掉最后一个值,写成margin: 20px 10px 5px; 这样到时候要改左右间距,改一个就好,免得改漏了。其实这个问题虽然很细小,但是可以看得出对margin四个值省略规则的熟练程度。

四、按标准写CSS,再针对特定浏览器作hack。
  比如,通常我们会遇到如下的写法:


Css代码
  1. .side_col {   
  2.         float:left;   
  3.         display: inline;   
  4.         margin-left: 20px;   
  5.     }  
.side_col {
	    float:left;
	    display: inline;
	    margin-left: 20px;
	}

而我的写法会是:

 

Css代码
  1. .side_col {   
  2.         float: left;   
  3.         margin-left: 20px;   
  4.     }   
  5.     *   .side_col {   
  6.         _display:inline;  /*hacked for IE 6*/   
  7.     }  
.side_col {
	    float: left;
	    margin-left: 20px;
	}
	*   .side_col {
	    _display:inline;  /*hacked for IE 6*/
	}

看明白了么?不应该把hack混在一起,也不应该用一种侥幸的心态,觉得float:left与display:inline写在一起没事。嗯,它们俩确实没事儿,但是其他的hack就不一定了。而且这里写display:inline纯粹就是为了解决IE6的bug,所以前面加上下划线,以明确的表达你的目的。
另外不要以为凡是hack都是为IE准备的。其实有些hack是针对其他浏览器的,比如FF。这就要求你对CSS标准的熟练掌握,能够自信的判断哪些渲染是遵守标准,哪些违反标准的。
此外,我喜欢在hack前面加上星号,其实这纯粹是个人习惯了。可能过段时间我就不这么用了,呵呵。

五、记得加空格。

Css代码
  1. .class_name {property: value; }  
.class_name {property: value; }

我个人觉得合理的空格是优秀代码的一个指标。按英文的习惯,标点后面都应该带空格(如果你写This is a pen.That’s a pencil.句点后面不加空格, word里面会有错误提示)。所以既然CSS是外国人发明的,应该按他们的格式来写。类似的,在JS里var a = b + c;里面的空格也应该都要加。

六、适当的层叠(Cascading)或缩进以定义CSS的“作用域”。
  啥叫“CSS的作用域”?其实并不是所有的样式都在所有的地方使用。有的样式只用在某一块里面,比如“导航栏”里的“搜索框”,可能应该写成:

 

Css代码
  1. .nav .search {}  
.nav .search {}

而有时候用层叠会增加代码优先级,所以也可以用缩进来“象征性的”体现作用域。像这样:

 

Css代码
  1. .login_box {}   
  2.    .forgot_pwd{}  
.login_box {}
   .forgot_pwd{}

缩进,是为了表示它们对应的标签具有父子关系。但这样只能起一个提醒的作用。

转自:http://www.ok22.org/art_detail.aspx?id=171

分享到:
评论

相关推荐

    CSS教程:设计制作网页的CSS经验

    有些习惯显得尤为重要,今天与您分享六个CSS习惯。因为习惯其实是会变的,所以只能写“最近”的。这些习惯都跟技术无关,如果不遵守,也不会出错。但是我觉得良好的习惯会体现一个人的素质。  我们在软件开发网中向...

    CSS经验:ul列表不正确使用的趋势

    今天交流会上,分享前端的开发经验,有一条虽然很快带过,但是我倒是印象蛮深刻的,就写点小结来分享一下吧。 不知道是标准害了大家还是大家害了标准,继class和div被滥用后,ul列表也有被不正确使用的趋势。似乎...

    HTML5 CSS3编码规范

    网站建设及网络编程必看,编码的黄金定律。 养成良好的编码习惯,对以后的维护及别人的阅读都非常有用。 分享给大家。 尊重别人的劳动,原文由bootstrap中文网提供。

    hugo-primer:基于GitHub的Primer CSS的Hugo主题

    如果您习惯使用GitHub风格的页面,那么此主题将是一个完美的选择。 Hugo-Primer是基于GitHub风格CSS主题:Primer,并在其上添加了一些博客之类的功能。 立即尝试,如果喜欢的话,给我留下一颗星! 特征 入门CSS...

    CSS3弹性盒模型开发笔记(二)

    本文为大家继续分享CSS3弹性盒模型开发笔记第二篇,之前一篇以及为大家引入了CSS3弹性盒模型的相关介绍,点击查看:CSS3弹性盒模型开发笔记(一) box-flex属性 box-flex属性能够灵活地控制子元素在盒子中的显示空间...

    纯css写出爱心版加载效果的示例代码

    本文介绍了纯css写出爱心版加载效果的示例代码,分享给大家,具体如下: 爱心等待效果如下: 现在互联网时代网站何其多,各有各得风格,但是什么样的风格能留住用户的停留观看呢?就从加载来说,很多加载效果都是...

    Extjs4 Treegrid 使用心得分享(经验篇)

    像对于我们习惯用C++的coder来说,EXTJS简直就是一群无政府土匪来维护的,官网上连个搜索框都没有,找资料基本靠遍历,还是人工的。使用treegrid,需要在调用页面的head中加载以下几个文件: 代码如下: <link rel...

    基于SSM++jsp的在线云音乐系统.zip

    基于SSM框架(Spring+SpringMVC+MyBatis)的在线云音乐系统是一个Web应用程序,主要为用户提供在线音乐播放、下载、分享等功能。系统采用了流行的Java EE技术栈,结合前端技术如HTML、CSS和JavaScript,打造了一个...

    基于微信小程序的微信阅读小程序.zip

    社交分享:用户可以将喜欢的书籍或章节分享到微信朋友圈、好友聊天等场景,与朋友一起分享阅读的乐趣。 阅读统计:小程序会记录用户的阅读时长、阅读速度等数据,帮助用户了解自己的阅读习惯。 离线下载:支持将...

    “口腔助手”小程序的设计与实现_1171u--(源码+部署说明+演示视频+源码介绍+lw).zip

    互动社区:建立一个平台,让用户可以分享自己的口腔健康经验,互相学习和鼓励。 数据分析:根据用户的记录,分析其口腔健康状况,给出个性化的建议和提醒。 总之,“口腔助手”小程序结合了现代互联网技术和口腔...

    火狐常用插件(firebug、ie tab、SuperDragAndGo、tab clicking options...)

    结合自身使用习惯,精选了一些常用插件分享给大家。 1. firebug 开发JavaScript、CSS、HTML和Ajax的得力助手 2. ie tab 可以在Mozilla/Firefox浏览器中嵌入IE浏览器的标签 3. SuperDragAndGo 超级拖拽 4. tab ...

    JS学习资料

    网上有人分享经验,说到学习前端开发技术JavaScript很实用的一些书籍,从入门到高级,一一列举,很不错。整理了一下发上来。 名称: JavaScript+DOM编程艺术.pdf 概述: “本书理应奉为经典。文笔清晰,采用了优秀...

    讯浪安全浏览器 v6.2.zip

     4、 通过各种商家合作渠道,不改变您的任何购物习惯,您可以按随便逛淘宝、购物,就能省钱;  5、 专门的冒牌网站识别,有效的反钓鱼功能,通过金山毒霸认证,让您购物安全又放心;  6、 为您精选性价比高的...

    weixin115音乐播放器的设计与实现+ssm(源码+部署说明+演示视频+源码介绍+lw).rar

    "weixin115音乐播放器的设计与实现+ssm(源码+部署说明+演示视频+源码介绍+lw).rar" 这个资源包似乎是一个关于音乐播放器项目的压缩文件,其中可能包含了项目的源代码、部署说明、演示视频、源码介绍以及学习文档...

    jquery插件使用方法大全

    以前习惯在input 元素上写onclick = "fn()",使用jquery可以使javascrīpt代码与html代码分离,保持HTML的清洁,还可以很轻松地绑定事件,甚至你可以不知道“事件”这个名词。 代码 $(document).ready(function() { $...

    基于微信小程序的微信阅读网站小程序.zip

    社交分享功能让用户能够将喜欢的内容分享到微信朋友圈或与好友讨论,增强了阅读的互动性。 综上所述,基于微信小程序开发的微信阅读网站小程序不仅技术先进,而且功能全面,为用户提供了一站式的阅读解决方案。通过...

    EditPlus_32位.rar

    另外它也是一个非常好用的HTML编辑器,它除了支持颜色标记、HTML 标记,同时支持C、C++、Perl、Java,另外,它还内建完整的HTML & CSS1 指令功能,对于习惯用记事本编辑网页的朋友,它可以节省一半以上的网页制作...

    微信小程序 less文件编译成wxss文件实现办法

    对于基本不使用原生css,而习惯编写less的我,这个事儿让我的样式编写相当的吃力。 在尝试配置koala (一个可以编译less/sass的工具)以及搜索各种资料后,终于找到了一个可行的方法。我以less为示例,和大家分享下

    less/sass 文件编译成微信小程序wxss文件

    对于基本不使用原生 css ,而习惯编写 less 的我,这个事儿让我的样式编写相当的吃力。 在尝试配置 koala (一个可以编译less/sass的工具)以及搜索各种资料后,终于找到了一个可行的方法。我以less 为示例,...

Global site tag (gtag.js) - Google Analytics