Blogger Information
Blog 16
fans 0
comment 0
visits 5693
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
各类选择器与结构状态伪类练习
Sinan学习博客
Original
305 people have browsed it

各类选择器与结构状态伪类练习

基本选择器

  • 标签(元素)选择器
  1. <h2>标签选择器演示</h2>
  2. <sytle>
  3. h2{color:red;}
  4. </sytle>
  • 属性选择器
  1. <h2 class="title">属性选择器演示 1</h2>
  2. <h2 id="city">属性选择器演示 2</h2>
  3. <sytle>
  4. h2[class='titel']{color:green;}
  5. h2[id='city]{background-color:gary;}
  6. </sytle>
  • class与id属性使用频率高有语法糖
  1. <!--- [class='titel'] === .class --->
  2. h2.class{...}
  3. <!--- [id='city] === #id --->
  4. h2#id{...}

上下文选择器

根据元素层级与关系匹配元素

  1. 父子: >
  2. 后代: 空格
  3. 兄弟: +
  4. 同级: ~
  • 父子: >
  1. <!--ul是li的父级-->
  2. <ul class="list">
  3. <li class="item">item1</li>
  4. <li class="item">item2</li>
  5. <li class="item">item3</li>
  6. <li class="item">item4</li>
  7. <li class="item">item5</li>
  8. <li class="item">item6</li>
  9. <li class="item">item7</li>
  10. <li class="item">item8</li>
  11. </ul>
  12. <sytle>
  13. ul > li {color:red;}
  14. </sytle>
  • 后代: 空格
  1. <ul class="list">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. <li class="item">
  6. item4
  7. <!--这个ul的父级是item4-->
  8. <ul>
  9. <li class="item">item4-1</li>
  10. <li class="item">item4-2</li>
  11. <li class="item">item4-3</li>
  12. <!--这里li的父级是最靠近的ul-->
  13. </ul>
  14. </li>
  15. <li class="item">item5</li>
  16. <li class="item">item6</li>
  17. <li class="item">item7</li>
  18. <li class="item">item8</li>
  19. </ul>
  20. <style>
  21. /* 后代 空格 */
  22. .list .item {
  23. color: red;
  24. }
  25. </style>

注意:.list 选择了它包含的所有层级的.item

  • 兄弟: +

兄弟层级是起点元素的下一个同级元素

  1. <!--如果把h2视为兄弟层级关系的起点元素-->
  2. <h1>我是h1,在h2的前面,与h2是同级关系不是兄弟关系</h1>
  3. <h2>兄弟层级选择器演示</h2>
  4. <p>P元素是h2元素的同级元素他们还是兄弟层级关系</p>
  5. <h3>h3元素虽然与h2也是同级关系,由于不是位于h2的下一个所以不是兄弟关系</h3>
  6. <style>
  7. /* 兄弟 + */
  8. h2 + p {
  9. color: green;/* 兄弟+有效 */
  10. }
  11. h2 + h3 {
  12. color: green;/* 兄弟+无效 */
  13. }
  14. h2 + h1 {
  15. color: green;/* 兄弟+无效 */
  16. }
  17. </style>
  18. /* 要是兄弟关系,只能是起点元素与下一个紧挨着的同级元素才符合条件 */
  • 同级: `~

同级将选择起点元素的所有同级元素

  1. <!-- 同级选择器演示 -->
  2. <h2>同级选择器演示</h2>
  3. <p>第一个p元素与h2是同级</p>
  4. <h3>h3元素与h2是同级</h3>
  5. <p>第二个p元素与h2是同级</p>
  6. <style>
  7. h2 ~ p,h3 {
  8. color: violet;/* 第一个P,第二个P,h3都有效 */
  9. }
  10. </style>

伪类选择器:结构

  1. /* 选择一个元素 */
  2. <ul class="list">
  3. <li>item1</li>
  4. <li>item2</li>
  5. <li>item3</li>
  6. <li>item4</li>
  7. <li>item5</li>
  8. <li>item6</li>
  9. <li>item7</li>
  10. <li>item8</li>
  11. <li>item9</li>
  12. <li>item10</li>
  13. </ul>
  14. <style>
  15. /* 方法一 */
  16. .list :nth-child(1) {
  17. /* 选择第一个元素 */
  18. background-color: lightblue;
  19. }
  20. .list :nth-child(10) {
  21. /* 选择第一个元素 */
  22. background-color: lightgray;
  23. }
  24. /* 方法二,使用语法糖 */
  25. .list :first-child {
  26. /* 选择第一个元素 */
  27. background-color: lightblue;
  28. }
  29. .list :last-child {
  30. /* 选择最后一个元素 */
  31. background-color: lightgray;
  32. }
  33. </style>
  1. /* 选择一组元素 */
  2. <ul class="list1">
  3. <li>item1</li>
  4. <li>item2</li>
  5. <li>item3</li>
  6. <li>item4</li>
  7. <li>item5</li>
  8. <li>item6</li>
  9. <li>item7</li>
  10. <li>item8</li>
  11. <li>item9</li>
  12. <li>item10</li>
  13. </ul>
  14. <style>
  15. /* 正向选择第5个li起后面的所有同级元素 */
  16. .list1 > :nth-child(n + 5) {
  17. color: brown;
  18. }
  19. /* 反向选择第5个li起后面的所有同级元素 */
  20. .list1 > :nth-child(-n + 5) {
  21. color: green;
  22. }
  23. </style>
  1. /* 选择偶数与奇数元素 */
  2. <ul class="list2">
  3. <li>item1</li>
  4. <li>item2</li>
  5. <li>item3</li>
  6. <li>item4</li>
  7. <li>item5</li>
  8. <li>item6</li>
  9. <li>item7</li>
  10. <li>item8</li>
  11. <li>item9</li>
  12. <li>item10</li>
  13. </ul>
  14. <style>
  15. /* 使用even选择偶数元素 */
  16. .list2 > :nth-child(even) {
  17. background-color: lightgreen;
  18. }
  19. /* 使用odd选择奇数元素 */
  20. .list2 > :nth-child(odd) {
  21. background-color: lightblue;
  22. }
  23. </style>

状态伪类

用状态伪类:hover写一个简单的下拉类表

  1. <a class="menu" href="#">下拉列表</a>
  2. <ul class="list3">
  3. <li><a href="">item1</a></li>
  4. <li><a href="">item2</a></li>
  5. <li><a href="">item3</a></li>
  6. <li><a href="">item4</a></li>
  7. <li><a href="">item5</a></li>
  8. </ul>
  9. <style>
  10. .list3 {
  11. display: none;
  12. list-style-type: none;
  13. }
  14. .menu:hover + .list3 {
  15. display: block;
  16. }
  17. </style>
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:总结的不错,继续加油
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post