CSS 分组 和 嵌套 选择器

选择器分组

假设希望 h2 元素和段落都有灰色。为达到这个目的,最容易的做法是使用以下声明:

h2, p {color:gray;}

将 h2 和 p 选择器放在规则左边,然后用逗号分隔,就定义了一个规则。其右边的样式(color:gray;)将应用到这两个选择器所引用的元素。逗号告诉浏览器,规则中包含两个不同的选择器。如果没有这个逗号,那么规则的含义将完全不同。参见后代选择器。

可以将任意多个选择器分组在一起,对此没有任何限制。

例如,如果您想把很多元素显示为灰色,可以使用类似如下的规则:

body, h2, p, table, th, td, pre, strong, em {color:gray;}

提示:通过分组,创作者可以将某些类型的样式“压缩”在一起,这样就可以得到更简洁的样式表。

以下的两组规则能得到同样的结果,不过可以很清楚地看出哪一个写起来更容易:

/* no grouping */ 

h1 {color:blue;} h2 {color:blue;} h3 {color:blue;} h4 {color:blue;} h5 {color:blue;} h6 {color:blue;} 

 /* grouping */ 

h1, h2, h3, h4, h5, h6 {color:blue;}

实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>实例</title> 
<style type="text/css">
  
  h1, h2, h3, h4, h5, p{ 
          color:purple;    
          font-size:15px;  
    }
    h2.special, .special, #one{  
          text-decoration:underline;  
    }
  
  </style>
</head>
<body>
<h1>集体声明h1</h1>
<h2 class="special">集体声明h2</h2>
<h3>集体声明h3</h3>
<h4>集体声明h4</h4>
<h5>集体声明h5</h5>
<p>集体声明p1</p>
<p class="special">集体声明p2</p>
<p id="one">集体声明p3</p>
</body>
</html>

嵌套选择器

使用规则小结:

1、id嵌套class #myid.myclass: <p id="sp" class="myclass"></p>。
2、一个元素标签使用多个class。.important.warning <p class="important warning">注意不要有空格 。有空格表示分别适用于两个class。
3、id标签内的class元素。#myid .myclass  <div id="myid"><p class="myclass"></p></div>
4、元素标签下的class。p .myclass <p><span class="myclass"></span></p>
4、元素标签下的id。p #myid<p><span id="myid"></span></p>
5、class下的元素标签。 .myclass span  <p class="myclass"><span>dd</span></p>
6、id标签内的id标签 #myid #myid2 <div id="myid"><div id="myid2"></div></div>。id的用法和元素标签类似。
7、.myclass1 .myclass2是表示两个class使用同一个样式,而不是嵌套。class也能嵌套class。但是若两个.myclass之间没有空格则表示同时拥有这两个class
8、元素标签嵌套元素标签 p span <p><span></span></p>

实例:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>实例</title> 
<style type="text/css">
 #top {
    background-color: #ccc;
    padding: 1em
   }
  #top h1 {
    color: #ff0;
   }
  #top p {
    color: red;
    font-weight: bold;
   } 
  </style>
</head>
<body>
<div id="top">
    <h1>Chocolate curry</h1>
    <p>This is my recipe for making curry purely with chocolate</p>
    <p>Mmm mm mmmmm</p>
</div> 
</body>
</html>


Weiter lernen
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>实例</title> <style type="text/css">  body{padding:50px;} *{padding:0; margin:0; color:#fff; text-decoration:none; list-style:none; font-family:"微软雅黑"} li{width:300px; height:80px; line-height:80px; text-align:center;} .classone{background:#f00;} .classone.classtwo {background:#090} .classtwo{background:#009}  </style> </head> <body> <ul> <li class="classone"><a href="#">classone红色的</a></li> <li class="classone classtwo"><a href="#">classone and classtwo 绿色的</a></li> <li class="classtwo"><a href="#">classtwo蓝色的</a></li> </ul> </div> </body> </html>
einreichenCode zurücksetzen