css_formatting_rules.rst 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. CSS格式化规则
  2. ===============
  3. 声明顺序
  4. ---------
  5. 按字母顺序排列声明。
  6. css文件书写按字母顺序排列的方式,容易记忆和维护,以达到一致的代码。
  7. 在排序时忽略浏览器特定的前缀。但是,特定CSS属性的多个浏览器前缀应按字母顺序排列(如-moz书写在-webkit前面)。
  8. .. code-block:: css
  9. background: fuchsia;
  10. border: 1px solid;
  11. -moz-border-radius: 4px;
  12. -webkit-border-radius: 4px;
  13. border-radius: 4px;
  14. color: black;
  15. text-align: center;
  16. text-indent: 2em;
  17. 块内容的缩进
  18. --------------
  19. 缩进块内容。
  20. 将包括嵌套及声明的 `块内容 <http://www.w3.org/TR/CSS21/syndata.html#block>`_ 进行缩进,以体现层次并提高可读性。
  21. .. code-block:: css
  22. @media screen, projection {
  23. html {
  24. background: #fff;
  25. color: #444;
  26. }
  27. }
  28. 声明结束
  29. ----------
  30. 每个属性后使用分号结束。
  31. 以分号结束每个属性,提高一致性和可扩展性。
  32. .. code-block:: css
  33. /* 不推荐 */
  34. .test {
  35. display: block;
  36. height: 100px
  37. }
  38. /* 推荐 */
  39. .test {
  40. display: block;
  41. height: 100px;
  42. }
  43. CSS属性名结束
  44. ---------------
  45. 属性名称的冒号后有一个空格。
  46. 为保证一致性,在属性名与属性值之间添加一个空格(但是属性名和冒号间没有空格)。
  47. .. code-block:: css
  48. /* 不推荐 */
  49. h3 {
  50. font-weight:bold;
  51. }
  52. /* 推荐 */
  53. h3 {
  54. font-weight: bold;
  55. }
  56. 声明块间隔
  57. --------------
  58. 在选择器和后面的声明块之间使用一个空格。
  59. 最后一个选择器与表示 `声名块 <http://www.w3.org/TR/CSS21/syndata.html#rule-sets>`_ 开始的左大花括号在同行,中间有一个字符空格。
  60. 表示开始的左大花括号和选择器在同行。
  61. .. code-block:: css
  62. /* 不推荐:缺少空间 */
  63. #video{
  64. margin-top: 1em;
  65. }
  66. /* 不推荐:不必要的换行符 */
  67. #video
  68. {
  69. margin-top: 1em;
  70. }
  71. /* 推荐 */
  72. #video {
  73. margin-top: 1em;
  74. }
  75. 选择器及声明分离
  76. -------------------
  77. 每个选择器和声明独立成行。
  78. 总是让每个选择器和声明单独成行。
  79. .. code-block:: css
  80. /* 不推荐 */
  81. a:focus, a:active {
  82. position: relative; top: 1px;
  83. }
  84. /* 推荐 */
  85. h1,
  86. h2,
  87. h3 {
  88. font-weight: normal;
  89. line-height: 1.2;
  90. }
  91. CSS代码块分离
  92. -----------------
  93. 使用新空行分离规则。
  94. 始终把一个空行(两个换行符)放在代码块规则之间。
  95. .. code-block:: css
  96. html {
  97. background: #fff;
  98. }
  99. body {
  100. margin: auto;
  101. width: 50%;
  102. }
  103. CSS引号
  104. ----------
  105. 属性选择器和属性值中使用单引号。
  106. 在属性选择器及属性值中使用单引号('')而不是双引号("")。在 ``url()`` 中不要使用引号。
  107. 特例:如果你确实需要定义 ``@charset`` ,由于 `不允许使用单引号 <http://www.w3.org/TR/CSS21/syndata.html#charset>`_ ,故请使用双引号。
  108. .. code-block:: css
  109. /* 不推荐 */
  110. @import url("//www.google.com/css/maia.css");
  111. html {
  112. font-family: "open sans", arial, sans-serif;
  113. }
  114. /* 推荐 */
  115. @import url(//www.google.com/css/maia.css);
  116. html {
  117. font-family: 'open sans', arial, sans-serif;
  118. }