博主信息
博文 41
粉丝 0
评论 1
访问量 41588
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
CSS 基本选择器、上下文选择器、伪类选择器区别演示
kong
原创
525人浏览过

选择器

基本选择器

  1. 元素选择器 - div h1 h2

  2. 属性选择器 - div[class='box']
    id, class 使用频率很高的选择器,有专用的语法糖

#id, .class

上下文选择器

  1. 父子元素 >
  2. 后代元素 div p
  3. 兄弟元素 +
  4. 同级元素 ~

伪类选择器

结构伪类

  1. :nth-child(): 选取父元素的第 N 个子元素
  2. :first-child: 第一个元素
  3. :last-child: 最后一个
  4. :nth-last-child(): 匹配属于其元素的第 N 个子元素的每个元素,从最后一个子元素开始计数

状态伪类

  1. :hover: 鼠标悬停
  2. :enabled: 有效控件
  3. :disabled: 禁用控件
  4. :checked: 选中控件
  5. :required: 必选控件
  6. :focus: 焦点控件

伪类选择器

:nth-of-type(an + b)

  1. a: 系数, [0,1,2,3…]
  2. n: 参数, [0,1,2,3…]
  3. b: 偏移量, 从零开始
    规则: 计算出来的索引,必须是有效的(从1开始)

实例

基本选择器

  1. <ul class="list" id="list">
  2. <li class="item">item1</li>
  3. <li class="item">item2</li>
  4. <li class="item">item3</li>
  5. <li class="item cur">item4</li>
  6. <li class="item">item5</li>
  7. <li class="item">item6</li>
  8. <li class="item">item7</li>
  9. <li class="item">item8</li>
  10. </ul>
  1. .list {
  2. background-color: red;
  3. }
  4. #list {
  5. background-color: red;
  6. }

上下文选择器

  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 cur">item4</li>
  6. <li class="item">item5</li>
  7. <li class="item">item6</li>
  8. <li class="item">item7</li>
  9. <li class="item">item8</li>
  10. </ul>

父元素选择器 >

  1. .list > {
  2. background-color: red;
  3. }

后代元素 空格

  1. .list li {
  2. background-color: red;
  3. }

兄弟元素 +

  1. .list li + li {
  2. background-color: red;
  3. }

同级元素 ~

  1. .list li ~ li {
  2. background-color: red;
  3. }

伪类选择器

  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">item4</li>
  6. <li class="item">item5</li>
  7. <li class="item">item6</li>
  8. <li class="item">item7</li>
  9. <li class="item">item8</li>
  10. <li class="item">item9</li>
  11. <li class="item">item10</li>
  12. </ul>

1. 结构伪类

  1. /* 第一个 */
  2. .list li:first-child {
  3. background-color: blue;
  4. }
  5. /* 最后一个 */
  6. .list li:last-child {
  7. background-color: aqua;
  8. }
  9. /* 匹配前三个 */
  10. .list > :nth-child(-n-3) {
  11. background-color: beige;
  12. }
  13. /* 匹配倒数第三个 */
  14. .list > :nth-last-child(-n + 3) {
  15. background-color: khaki;
  16. }
  17. /* 规则: 计算出来的索引,必须是有效的(从1开始) */
  18. .list > :nth-of-type(4n + 1) {
  19. background-color: blueviolet;
  20. }

2.状态伪类

  1. <form action="" method="post">
  2. <label for="a1">
  3. <input type="text" id="a1" name="" value="" />
  4. </label>
  5. <label for="a2">
  6. <input type="button" id="a2" name="" disabled value="按钮" />
  7. </label>
  8. <label for="a3">
  9. <input type="text" id="a3" name="" required value="数值" />
  10. </label>
  11. <label for="a4">
  12. <input type="text" id="a4" name="" value="数值1" />
  13. </label>
  14. <label for="a5">
  15. <input type="checkbox" name="" id="a5" />
  16. <span>演示</span>
  17. </label>
  18. <button type="button">提交</button>
  19. </form>
  1. /* 鼠标悬停 */
  2. form button:hover {
  3. background-color: gold;
  4. }
  5. /* 有效控件 */
  6. form label:nth-child(1) input:enabled {
  7. background-color: aquamarine;
  8. }
  9. /* 禁用控件 */
  10. form label:nth-child(2) input:disabled {
  11. background-color: gray;
  12. }
  13. /* 必选控件 */
  14. form label:nth-child(3) input:required {
  15. background-color: salmon;
  16. }
  17. /* 焦点控件 */
  18. form label:nth-child(4) input:focus {
  19. background-color: sienna;
  20. }
  21. /* 选中控件 */
  22. form label:nth-child(5) input[type="checkbox"]:checked + span {
  23. color: red;
  24. }

使用 :checked 实现显示和隐藏

  1. <label for="ic" class="btn">
  2. <span>点击</span>
  3. <input type="checkbox" id="ic" name="2" />
  4. <ul class="list">
  5. <li>item1</li>
  6. <li>item2</li>
  7. <li>item3</li>
  8. <li>item4</li>
  9. <li>item5</li>
  10. </ul>
  11. </label>
  1. .list {
  2. display: none;
  3. }
  4. .btn input[type="checkbox"]:checked + ul {
  5. display: block;
  6. }
批改老师: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+教程免费学