只要 CSS 实现的 就不用麻烦 JavaScript 😂

虽然万物都可以是JavaScript,但某种程度css的运行效率会比JavaScript高,所以笔者认为:能用CSS实现的就不用麻烦JavaScript。

image.png

两种语言都有不同的用途随着浏览器版本特性和属性的增加,CSS正成为一种功能强大的语言,能够处理我们以前依赖JavaScript实现的功能。

滚动捕抓

幻灯片、图片库这些也是前端高频使用功能,上一代CSS能力有限,我们不得不依赖JavaScript来完成这功能。现在只要几行代码就可以实现此功能。从某种意义上说,它与Flexbox或CSS Grid的工作原理类似,即您需要一个容器元素,在该容器元素上设置scrolln-snap-type和多个为其设置了scroll-snap-align的子元素,如下所示:

<main class=”parent”>
  <section class=”child”></section>
  <section class=”child”></section>
  <section class=”child”></section>
</main>
.parent {
  scroll-snap-type: x mandatory;
}

.child {
  scroll-snap-align: start;
}

image.png

平滑滚动

我有一段时间不得不依靠 JavaScript 的 window.scrollY 来实现来执行此操作,如果想平滑滚动还要依赖定时器增加一个动画。
随着 scroll-behavior 属性的新增,我可以使用一行CSS代码来处理网站上的平滑滚动!兼容性还是挺不错的。

html {
   scroll-behavior: smooth;
 }

image.png

CSS 的 content 属性 attr 抓取资料

想必大家都想到了伪元素 after ,但是文字怎么获得呢,又不能用 JavaScript
CSS 的伪元素是个很強大的东西,我们可以利用他做很多运用,通常为了做一些效果, content:" " 多半会留空,但其实可以在里面写上 attr 抓资料哦!

<div data-msg="这里是获取content的内容">  
hover
</div>
div{
width:100px;
border:1px solid red;  
position:relative;
}
div:hover:after{
content:attr(data-msg);
position:absolute;
font-size: 12px;
width:200%;
line-height:30px;
text-align:center;
left:0;
top:25px;
border:1px solid green;
}

image.png

这里展示也只是一些常用的功能,其实还有很多可以通过CSS实现的功能,有兴趣的同学继续研究一下更多不依赖JavaScript完成的CSS功能。


只要 CSS 实现的 就不用麻烦 JavaScript 😂
http://localhost:8090//archives/%E5%8F%AA%E8%A6%81css%E5%AE%9E%E7%8E%B0%E7%9A%84%E5%B0%B1%E4%B8%8D%E7%94%A8%E9%BA%BB%E7%83%A6javascript
作者
阅站长
发布于
2021年10月16日
许可协议