博客列表 >CSS选择器学习

CSS选择器学习

遇见
遇见原创
2020年06月16日 19:23:47715浏览

一、简单选择器:一般是指id选择器,类选择器、元素选择器。

演示HTML代码:

  1. <div class="box" id="boxid">
  2. <div class="boxitem">1</div>
  3. <div class="boxitem">2</div>
  4. <div class="boxitem">3</div>
  5. <div class="boxitem">4</div>
  6. <div class="boxitem">5</div>
  7. <div class="boxitem">6</div>
  8. <div class="boxitem">7</div>
  9. <div class="boxitem">8</div>
  10. <div class="boxitem">9</div>
  11. </div>

简单选择器演示CSS样式文件:

  1. * {
  2. padding: 0;
  3. margin: 0;
  4. }
  5. .box {
  6. width: 500px;
  7. background: linen;
  8. display: flex;
  9. justify-content: space-between;
  10. align-items: center;
  11. flex-wrap: wrap;
  12. }
  13. /* 简单选择器 */
  14. /* id选择器 */
  15. #boxid {
  16. background: lightcyan;
  17. }
  18. /* id+元素选择器 */
  19. #boxid div {
  20. width: 150px;
  21. height: 150px;
  22. text-align: center;
  23. line-height: 150px;
  24. margin-bottom: 15px;
  25. background: lightgreen;/*绿色*/
  26. border: 1px solid lightgreen;
  27. }
  28. /* 类选择器比元素选择器优先级高,所以会覆盖上面样式的绿色背景颜色 */
  29. #boxid .boxitem {
  30. background: lightpink;/*粉色*/
  31. }

展示效果:

二、上下文选择器

  1. /* 上下文选择器 */
  2. /* 表示选择box类下所有类名称为boxitem的子类 */
  3. .box .boxitem {
  4. background: lightyellow;
  5. }
  6. /* 加>表示只选择第一个子类 */
  7. .box > .boxitem {
  8. background: lightskyblue;
  9. }

二、相邻选择器(兄弟选择器)、同级选择器

  1. <div class="box" id="boxid">
  2. <div class="boxitem">1</div>
  3. <div class="boxitem">2</div>
  4. <div class="boxitem">3</div>
  5. <div class="boxitem">4</div>
  6. <div class="boxitem five_item">5</div>
  7. <div class="boxitem">6</div>
  8. <div class="boxitem">7</div>
  9. <div class="boxitem">8</div>
  10. <div class="boxitem">9</div>
  11. </div>

兄弟选择器、同级选择器样式

  1. /*兄弟选择器*/
  2. /* 如将第6个的背景色改为蓝色,兄弟选择器优先级小于子类选择器,所以要加important */
  3. .box .boxitem.five_item + .boxitem {
  4. background: mediumblue !important;
  5. }
  6. /*同类选择器,~表示选中后面所有five_item后面所有含boxitem类的元素*/
  7. .box .boxitem.five_item ~ .boxitem {
  8. background: red !important;
  9. }

展示效果:

三、伪类选择器

.box:first-child:选择第一个子元素;
.box:last-child:选择最后一个子元素;
nth-child(n):选择器选取父元素的第n个子元素,索引从1开始;
nth-child(n):选择器选取父元素的第n个子元素;
.box .boxitem:nth-child(-n + 3):选择前三个子元素;
.box .boxitem:nth-last-child(-n + 3):选择后三个子元素;
.box .boxitem:nth-last-child(3):从最后选,倒数第3个子元素;
nth-child(2n)或者nth-child(even):选择器选取父元素的第n个偶数子元素;
nth-child(2n-1)或者nth-child(odd):选择器选取父元素的第n个奇数子元素;

四、分组伪类

:last-of-type:表示分组后最后1个元素;

:nth-of-type(1):表示分组后第1个元素;

:nth-of-type(-n + 2):表示分组后前2个元素;

:nth-last-of-type(-n + 2):表示分组后最后2个元素;

:focus:元素获取光标焦点时样式,一般用于输入框;

:before:元素之前插入内容选择器;

:after:元素之后插入内容选择器

:target:元素被点击指向url时触发来改变样式(a标签href、button点击时跳转url事件window.location.href(‘XXX’));

::not(selector) 选择器匹配非指定元素/选择器的每个元素,如

  1. /*表示.box下排除span的子元素,其他子元素背景颜色设置为紫色*/
  2. .box :not(span) {
  3. background: mediumpurple;
  4. }

演示HTML代码

  1. <div class="box" id="boxid">
  2. <div class="boxitem">1</div>
  3. <div class="boxitem">2</div>
  4. <div class="boxitem">3</div>
  5. <div class="boxitem">4</div>
  6. <div class="boxitem five_item">5</div>
  7. <span class="boxitem">6</span>
  8. <span class="boxitem">7</span>
  9. <span class="boxitem">8</span>
  10. <span class="boxitem">9</span>
  11. </div>

分组伪类样式

  1. /* .box下的子类.boxitem会根据元素类型div、span,分为2个类型 */
  2. /* last-of-type表示分组后最后一个元素,所以第5个和第9个背景颜色会改变 */
  3. .box .boxitem:last-of-type {
  4. background: mediumpurple;
  5. }

展示效果:

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