书写高效CSS应注意的七个问题

网络整理 - 07-27

本文详细介绍如何书写高效的CSS代码应该注意的七个方面的问题。

一、使用外联样式替代行间样式或者内嵌样式 
不推荐使用行间样式

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Page title - 52css.com</title>
</head> 
<body>
<p style="color: red"> ... </p> 
</body> 
</html>
 
 不推荐使用内嵌样式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ""> <html lang="en"> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Page title - 52css.com</title> 
<style type="text/css" media="screen">
p { color: red; } 
</style> 
</head> 
<body>... </body> 
</html>
 

 推荐使用外联样式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "">
<html lang="en">
<head> 
<meta http-equiv="content-type" content="text 
<title>Page title - 52css.com</title> 
<link rel="stylesheet" href="name.css" type="text/css" media="screen" /> 
< /head> 
<body> ... </body> 
</html>
 

二、建议使用 link 引入外部样式表

  为了兼容老版本的浏览器,建议使用 link 引入外部样式表的方来代替 @import导入样式的方式. 
译者注: @import是CSS2.1提出的所以老的浏览器不支持,点击查看 @import的兼容性。
  @import和link在使用上会有一些区别, 利用二者之间的差异,可以在实际运用中进行权衡。 
  关于@import和link方式的比较在52CSS.com上有几篇文章可以拓展阅读。
  不推荐@import导入方式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ""> 
<html lang="en">
<head> 
<meta http-equiv="content-type" content="text 
<title>Page title - 52css.com</title> 
<style type="text/css" media="screen"> 
@import url("styles.css");
</style>
</head>
<body> ... </body>
</html>
 

推荐引入外部样式表方式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" ""> <html lang="en"> <head>
<meta http-equiv="content-type" content="text 
<title>Page title - 52css.com</title>
<link rel="stylesheet" href="name.css" type="text/css" media="screen" />
</head> 
<body> ... </body> 
</html>
 

三、使用继承 
低效率的
p{ font-family: arial, helvetica, sans-serif; }
#container { font-family: arial, helvetica, sans-serif; }
#navigation { font-family: arial, helvetica, sans-serif; }
#content { font-family: arial, helvetica, sans-serif; }
#sidebar { font-family: arial, helvetica, sans-serif; }
h1 { font-family: georgia, times, serif; } 
高效的
body { font-family: arial, helvetica, sans-serif; } 
body { font-family: arial, helvetica, sans-serif; }
h1 { font-family: georgia, times, serif; }
 

四、使用多重选择器 
低效率的 
h1 { color: #236799; } 
h2 { color: #236799; }
h3 { color: #236799; }
h4 { color: #236799; } 
高效的h1, h2, h3, h4 { color: #236799; }
 

五、使用多重声明
低效率的
p { margin: 0 0 1em; }
p { background: #ddd; }
p { color: #666; } 
译者注: 对于十六进制颜色值,个人偏向于色值不缩写且英文字母要大写的方式. 
高效的
p { margin: 0 0 1em; background: #ddd; color: #666; }
 

  六、使用简记属性 
低效率的 
body { font-size: 85%; font-family: arial, helvetica, sans-serif; background-image: url(image.gif); background-repeat: no-repeat; background-position: 0 100%; margin-top: 1em; margin-right: 1em; margin-bottom: 0; margin-left: 1em; padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px; border-style: solid; border-width: 1px; border-color: red; color: #222222; 
高效的 
body { font: 85% arial, helvetica, sans-serif; background: url(image.gif) no-repeat 0 100%; margin: 1em 1em 0; padding: 10px; border: 1px solid red; color: #222; }
 

七、避免使用 !important 
慎用写法
#news { background: #ddd !important; } 
特定情况下可以使用以下方式提高权重级别
#container #news { background: #ddd; }
body #container #news { background: #ddd; }