写点什么

CSS 之选择器(四)

作者:Augus
  • 2021 年 12 月 12 日
  • 本文字数:1208 字

    阅读完需:约 4 分钟

CSS之选择器(四)

往期链接:


CSS之选择器


CSS之选择器(二)


CSS之选择器(三)

前言

终于,经过我们前几天的章节的总结,选择器的分类算是总结完了,大家可以来回查阅,巩固自己的知识。


那我们为什么要用选择器呢?接下来就让我们来好好说道说道。

为什么要用选择器?

我们知道在现在书写 CSS 样式的时候基本全是各种各样的类,那我们为什么还要用选择器呢?


首先,


  • 使用选择器可以完成一些只能通过 JS 实现的效果,这样就可以减少对 DOM 的操作。

  • 还可以减少一些无用或者少用的类,避免标签上全是各种各样的类。


接下来,我们就来看一下几个常用和具有的选择器。

:hover

:hover:用作鼠标悬浮的样式,可以说是我们开发中非常常用了,而且非常方便。在一些场景下,还可以代替 mouseenter 和 mouseleave 两个鼠标事件,再加上 css 的动画,简直完美。


结合 attr()我们可以实现很有趣的东西。



代码如下:


// html<ul class="hover-tabs">  <li data-name="红"></li>  <li data-name="橙"></li>  <li data-name="黄"></li>  <li data-name="绿"></li>  <li data-name="青"></li>  <li data-name="蓝"></li></ul>
复制代码


// css$color-list: red orange yellow green greenyellow blue;.hover-tabs {  margin: 200px 100px;  display: flex;  justify-content: space-between;  width: 200px;  li {    position: relative;    padding: 2px;    border: 2px solid transparent;    border-radius: 100%;    width: 24px;    height: 24px;    background-clip: content-box;    cursor: pointer;    transition: all 300ms;    &::before,    &::after {      position: absolute;      left: 50%;      bottom: 100%;      opacity: 0;      pointer-events:none;      transform: translate3d(0, -30px, 0);      transition: all 300ms;    }    &::before {      margin: 0 0 12px -35px;      border-radius: 5px;      width: 70px;      height: 30px;      background-color: rgba(#000, .5);      line-height: 30px;      text-align: center;      color: #fff;      content: attr(data-name);    }    &::after {      margin-left: -6px;      border: 6px solid transparent;      border-top-color: rgba(#000, .5);      width: 0;      height: 0;      content: "";    }    @each $color in $color-list {      $index: index($color-list, $color);      &:nth-child(#{$index}) {        background-color: $color;        &:hover {          border-color: $color;        }      }    }    &:hover {      &::before,      &::after {        opacity: 1;        transform: translate3d(0, 0, 0);      }    }  }}
复制代码


好,今天就到这里了,拜了个拜,今天努力的你依然是最棒的。加油,加油,你最棒!加油,加油,你最强!哦豁,Bye Bye!!!

用户头像

Augus

关注

爱瞎搞的软件开发工程师 2021.06.10 加入

某摸鱼集团

评论

发布
暂无评论
CSS之选择器(四)