SMACSS:一个关于CSS的最佳实践-2.Base Rules

回顾

  在上一篇SMACSS:一个关于CSS的最佳实践-Overview中,讲到SMACSS将CSS Rules分为5个Categories:

  1. Base
  2. Layout
  3. Module
  4. State
  5. Theme

本篇我们将介绍Base Rules。你可以将所有Base Rules放在一个文件,比如 base.css ;当然,也可以不这么做。区分Category的作用是帮助我们区分出不同功能的CSS,提高可重用性,可维护性。

哪些CSS属于Base Rules?

  Base Rules指的是所有元素的默认styles,比如说默认的link style,font styles,body backgrounds等等,也可以理解为为了屏蔽浏览器的差异,而对所有元素重新定义的一类CSS。 Normalize.css 和 Reset.css 是典型的Base Rules。笔者建议以 Normalize.css 为基础,根据自己的实际情况添加,形成自己的 base.css 。

Base styles例子

body, form {
margin: 0;
padding: 0;
}
a {
color: #039;
}
a:hover {
color: #03F;
}

Base Rules最佳实践

  根据Base Rules的定义,我们可以很容易的理解如下最佳实践。

  Base Rules可以出现如下CSS选择符:

  1. element selector
  2. descendant selector
  3. child selector
  4. pseudo selector

  相反,以下选择符不应该出现在Base Rules中:

  1. class selector
  2. ID selector
  3. !important

  如果违背了上述最佳实践,那么显然,你应该仔细回忆下Base Rules的定义,并再次确认究竟哪些CSS应该放在Base Rules下面。

相关阅读

  上一章 SMACSS:一个关于CSS的最佳实践-1.Overview

  下一章 SMACSS:一个关于CSS的最佳实践-3.Layout Rules

  若觉得文章写得不错,请点击下方的推荐支持一下博主,谢谢!

时间: 2024-08-06 07:04:43

SMACSS:一个关于CSS的最佳实践-2.Base Rules的相关文章

SMACSS:一个关于CSS的最佳实践-3.Layout Rules

本篇笔者要介绍的是Layout Rules.看完本篇,大家将会知道Layout Rules的作用,以及哪些CSS应该归类为Layout Rules. 什么是Layout Rules? Layout Rules指的是用于布局的CSS.我们常常对布局和内容不加区分,总是将所有的CSS写在一块,从而降低了代码的可重用性.SMACSS将布局CSS抽象为Layout Rules,内容CSS抽象为Module Rules.一个module只需要关心自己长什么样就可以了,至于放在哪里,那是它的容器需要考虑的问

SMACSS:一个关于CSS的最佳实践-Overview

什么是SMACSS? SMACSS(发音"smacks"),是Scalable and Modular Architecture for CSS的缩写.顾名思义,SMACSS是一个可扩展的,模块化的CSS架构.它不是一个CSS框架,而是一个指南,一个CSS设计的最佳实践.SMACSS旨在规范一种统一的CSS开发方式,以便开发人员能够更好的开发和维护CSS代码. 为什么要SMACSS? 对于软件系统来说,不管使用何种语言,何种编程思想,有几个要求总是永恒不变的:可重用,可扩展,可维护.对

CSS规范 - 最佳实践

最佳选择器写法(模块) /* 这是某个模块 */ .m-nav{}/* 模块容器 */ .m-nav li,.m-nav a{}/* 先共性 优化组合 */ .m-nav li{}/* 后个性 语义化标签选择器 */ .m-nav a{}/* 后个性中的共性 按结构顺序 */ .m-nav a.a1{}/* 后个性中的个性 */ .m-nav a.a2{}/* 后个性中的个性 */ .m-nav .z-crt a{}/* 交互状态变化 */ .m-nav .z-crt a.a1{} .m-nav

JS判断浏览器是否支持某一个CSS3属性的最佳实践

css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候.比如transition的animation-play-state,就只有部分浏览器支持. 检测方法 下面的方法可以使用脚本判断浏览器是否支持某一个CSS3属性: /**2017-01-05 * 判断浏览器是否支持某一个CSS3属性 * @param {String} 属性名称 * @return {Boolean} true/false

jQuery编码规范与最佳实践

p{text-indent:2em;}前端开发whqet,csdn,王海庆,whqet,前端开发专家 翻译自:http://lab.abhinayrathore.com/ 翻译人员:前端开发whqet,意译为主,不当之处欢迎大家指正. 译者说:临近期末,大部分的基础教学内容已经讲解完毕,在进行比较大型的项目训练之前,如果能让学生了解甚至遵循一些前端开发的编码规范将会是一件非常有意义的事情.因此,本博客准备于近期整理一个编码规范与最佳实践的系列文章,包括html.css.javascript.jq

Java自学最佳实践   get √

文/向右奔跑(简书作者)原文链接:http://www.jianshu.com/p/d99a1d7bb176 著作权归作者所有,转载请联系作者获得授权,并标注"简书作者". 大榜现在唯品会从事供应链金融开发,他初中毕业,没有读高中,大专读了一个成人类的电大.自学Java开发. 去年(15年)大榜在技术上像开了挂一样成长.2月份的时候,项目中要用到ActiveMQ,让他先了解,我上京东看了一下,只有一本原版书.他在公司内部进行技术分享完,跟我说,公司的牛人那么多,初中生也跟大家讲课了.5

最重要的 Java EE 最佳实践

参考:IBM WebSphere 开发者技术期刊: 最重要的 Java EE 最佳实践 IBM WebSphere 开发者技术期刊: 最重要的 Java EE 最佳实践 2004 年 IBM? WebSphere? 开发者技术期刊中曾发表过一篇名称类似的文章,本文是其更新版本.这个修正版中考虑了一些不断变化的技术趋势,更重要的是推荐了一些作者认为应当广泛遵循.但尚未广泛遵循的实践. 2 评论: Keys Botzum, 高级技术人员 , EMC Kyle Brown, 杰出工程师, EMC Ru

Canal & Otter 的一些注意事项和最佳实践

1,canal和otter由于是java开发的,运行在windows和linux上都可以 2,为了使用otter必须要canal的支持,otter作为canal的消费方,当然也可以单独使用canal,如果你有消费mysql binlog的需求 3,canal有几种运行方式,生产环境中推荐使用zookeeper的持久化方式,对应的spring配置文件为:default-instance.xml 4,运行otter需要aria2的支持,windows和linux都有对应的版本 centos5,安装a

编写超级可读代码的15个最佳实践

译自:http://net.tutsplus.com/tutorials/html-css-techniques/top-15-best-practices-for-writing-super-readable-code/ 译者:蒋宇捷        一月两次,我们重温Nettuts历史上读者最喜欢的文章. 代码可读性是一个计算机编程世界的普遍主题.它是我们作为开发者第一件学习的事情.这篇文章将阐述编写可读性代码十五个最重要的最佳实践. 1 – 注释和文档 集成开发环境IDE在过去的短短几年里走