CSS如何覆盖公共样式中的某个属性?利用CSS样式的优先级。
如下例子:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <style type="text/css"> .x{color: red;} .a .x{color:blue;} .a .b .x{color:green;} </style> </head> <body> <div class="x">你好</div> <div class="a"> <div class="x">你好</div> </div> <div class="b"> <div class="x">你好</div> </div> <div class="a"> <div class="b"> <div class="x">你好</div> </div> </div> </body> </html>
页面上字体颜色从上到下,依次是红、蓝、红、绿
有层级关系的样式,越精确的优先级越高。
利用这一个 特点,当公共样式中,当有需要特殊处理的样式,可以使用此种方法:
在当前样式前的父级,添加一个独一无二的样式名称。
另外,当父级中有多个样式的时候,如下:
<div class="a b"> <div class="x">你好</div> </div>
可以定义两个父级样式中的任何一个
<style type="text/css"> .a .x{color:blue;} .b .x{color:green; </style>
如果同时定义了两个父级样式,这个时候字体的颜色就与css中,这两个父级样式的顺序有关了,后加载的样式优先,此时后加载的是.b .x,所以字体颜色是绿色