博客列表 >2020年4月6日作业--CSS选择器

2020年4月6日作业--CSS选择器

暴宇
暴宇原创
2020年04月13日 22:57:50647浏览

CSS 选择器

1.简单选择器

1.1 元素选择器包含:元素选择器、群组选择器、通配选择器

1.2 属性选择器包含:属性选择器、类选择器、id 选择器

html 复用代码:

  1. <!-- html九宫格 -->
  2. <div class="com">
  3. <span class="item">1</span>
  4. <span class="item two">2</span>
  5. <span class="item">3</span>
  6. <span class="item" name="four">4</span>
  7. <span class="item" id="five">5</span>
  8. <span class="item">6</span>
  9. <span class="item">7</span>
  10. <span class="item">8</span>
  11. <span class="item">9</span>
  12. </div>

css 代码

  1. /* css简单元素选择器 */
  2. div {
  3. width: 300px;
  4. height: 300px;
  5. display: grid;
  6. grid-template-columns: repeat(3, 1fr);
  7. gap: 5px;
  8. }
  9. span {
  10. font-size: 2rem;
  11. background-color: #80ff80;
  12. display: flex;
  13. justify-content: center;
  14. align-items: center;
  15. }
  16. /* css类选择器 */
  17. .com {
  18. width: 300px;
  19. height: 300px;
  20. display: grid;
  21. grid-template-columns: repeat(3, 1fr);
  22. gap: 5px;
  23. }
  24. .item {
  25. font-size: 2rem;
  26. background-color: #80ff80;
  27. display: flex;
  28. justify-content: center;
  29. align-items: center;
  30. }

简单选择器和类选择器效果:

id 选择器和属性选择器

  1. #five {
  2. background-color: #ffff00;
  3. }
  4. .item[name="four"] {
  5. background-color: #ff00ff;
  6. }

效果

2.上下文选择器

上下文选择器分为:后代选择器、父子选择器、同级相邻选择器、同级所有选择器四种

css 代码

  1. /* 后代选择器 */
  2. .com span {
  3. background-color: #0080ff;
  4. }
  5. /* 父子选择器 */
  6. div > span {
  7. border: 3px solid red;
  8. }
  9. /* 后代选择器 */
  10. .item.two {
  11. background-color: #80ffff;
  12. }
  13. /* 同级相邻选择器,选择后面相邻的第一个元素 */
  14. .item.two + .item {
  15. background-color: #ff00ff;
  16. }
  17. /* 同级相邻所有选择器,选择后面的所有兄弟元素 */
  18. .item.two ~ .item {
  19. background-color: #ffff00;
  20. }

效果

3.伪类选择器

3.1 结构伪类

(1)不分组匹配

代码

  1. /* 匹配第一个子元素 */
  2. div > span:first-child {
  3. background-color: #ff8080;
  4. }
  5. /* 匹配最后一个子元素 */
  6. span:last-child {
  7. background-color: #0080ff;
  8. }
  9. /* 匹配任意一个子元素 */
  10. span:nth-child(2) {
  11. background-color: #ffff80;
  12. }
  13. /* 匹配倒数任意一个子元素 */
  14. span:nth-last-child(2) {
  15. background-color: #80ffff;
  16. }

效果

代码

  1. /* 匹配前4个元素 */
  2. span:nth-child(-n + 4) {
  3. background-color: #ffff80;
  4. }
  5. /* 从第5个开始选择剩下的所有元素 */
  6. span:nth-child(n + 5) {
  7. background-color: #80ffff;
  8. }

效果

代码

  1. /* 选择偶数元素 */
  2. span:nth-child(2n) {
  3. background-color: #ffff80;
  4. }
  5. span:nth-child(even) {
  6. background-color: #ffff80;
  7. }
  8. /* 选择奇数元素 */
  9. span:nth-child(2n -1) {
  10. background-color: #80ffff;
  11. }
  12. span:nth-child(odd) {
  13. background-color: #80ffff;
  14. }

效果

(2)分组匹配

html 复用代码:

  1. <!-- html九宫格 -->
  2. <div class="com">
  3. <div class="item">1</div>
  4. <div class="item two">2</div>
  5. <div class="item">3</div>
  6. <div class="item" name="four">4</div>
  7. <span class="item" id="five">5</span>
  8. <span class="item">6</span>
  9. <span class="item">7</span>
  10. <span class="item">8</span>
  11. <span class="item">9</span>
  12. </div>

css 代码

  1. /* div分组第一个 */
  2. .com div:first-of-type {
  3. background-color: #ff8080;
  4. }
  5. /* div分组最后一个 */
  6. .com div:last-of-type {
  7. background-color: #ff8080;
  8. }
  9. /* div分组任意一个 */
  10. .com div:nth-of-type(2) {
  11. background-color: #ff8080;
  12. }
  13. /* div分组倒数第2个 */
  14. .com div:nth-last-of-type(2) {
  15. background-color: #ff8080;
  16. }
  17. /* span分组前2个 */
  18. .com span:nth-of-type(-n + 2) {
  19. background-color: #80ffff;
  20. }
  21. /* span分组后2个 */
  22. .com span:nth-last-of-type(-n + 2) {
  23. background-color: #80ffff;
  24. }
  25. /* span分组从第3个开始 */
  26. .com span:nth-of-type(n + 3) {
  27. background-color: #ff00ff;
  28. }

效果

3.2 表单伪类

html 代码

  1. <h3>用户登录</h3>
  2. <form action="" method="post">
  3. <div>
  4. <label for="email">邮箱:</label>
  5. <input
  6. type="email"
  7. id="email"
  8. name="email"
  9. required
  10. placeholder="example@email.com"
  11. />
  12. </div>
  13. <div>
  14. <label for="password">密码:</label>
  15. <input
  16. type="password"
  17. id="password"
  18. name="password"
  19. placeholder="不得少于6位"
  20. />
  21. </div>
  22. <div>
  23. <label for="password">手机号:</label>
  24. <input
  25. type="password"
  26. id="password"
  27. name="password"
  28. disabled
  29. placeholder="手机号"
  30. />
  31. </div>
  32. </form>

css 代码

  1. /* 选择html */
  2. :root {
  3. background-color: #80ffff;
  4. font-size: 20px;
  5. padding: 20px;
  6. }
  7. /* 选择活动文本框 */
  8. input:enabled {
  9. background-color: #ffff80;
  10. font-size: 20px;
  11. margin: 10px;
  12. }
  13. /* 选择禁用文本框 */
  14. input:disabled {
  15. background-color: #0080ff;
  16. font-size: 20px;
  17. margin: 10px;
  18. }
  19. /* 选择必填文本框 */
  20. input:required {
  21. background-color: #ff00ff;
  22. }

效果

总结

1.选择器分为简单选择器、上下文选择器、伪类选择器

2.伪类选择器需要重点掌握

3.选择器优先级:ID 选择器>类选择器/属性选择器>元素选择器

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议