博主信息
博文 16
粉丝 0
评论 0
访问量 10938
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
各类选择器与结构状态伪类练习
Sinan学习博客
原创
462人浏览过

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

基本选择器

  • 标签(元素)选择器
  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>
批改老师:PHPzPHPz

批改状态:合格

老师批语:总结的不错,继续加油
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学