CSS覆盖公共样式中的某个属性

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,所以字体颜色是绿色

原文地址:https://www.cnblogs.com/acm-bingzi/p/cssCover.html