首页 > 其他分享 >涨姿势了,这 4 个场景可用 CSS 完全取代 JS ~

涨姿势了,这 4 个场景可用 CSS 完全取代 JS ~

时间:2022-11-12 11:36:27浏览次数:77  
标签:code cn JS pen 场景 https juejin CSS

本篇通译自:​​# It’s 2022. Sometimes You Don’t Need Javascript at All​

1. 颜色选择器

我们通常需要通过复杂的 JavaScript 来实现一个类似下图的颜色选择器组件。

涨姿势了,这 4 个场景可用 CSS 完全取代 JS ~_css

好消息来了,现在直接通过设置 input 标签属性,就自带这个颜色选择功能了~

​<input type="color" value="#FF99FF" />​

​https://code.juejin.cn/pen/7164305508357275652​

涨姿势了,赶紧收藏一波、加强记忆,后面总会用到~

2. 打字效果

纯 CSS 就能实现以下“打字效果”

​https://code.juejin.cn/pen/7164307268287070249​

HTML

<h1>Welcome to JUEJIN</h1>

css

@-webkit-keyframes typing { from { width: 0; } }
@-webkit-keyframes blink-caret { 50% { border-color: transparent; } }

h1 {
font: bold 300% Consolas, Monaco, monospace;
border-right: .1em solid black;
width: 16.5em;
width: 21ch;
margin: 2em 1em;
white-space: nowrap;
overflow: hidden;
-webkit-animation: typing 7s steps(21, end),
blink-caret .5s step-end infinite alternate;
}

3. 滑顶/触底效果

我们通常是这样实现点击按钮,滚动条立即触顶/触底效果的:

const scrollToTop = () => {
const c = document.documentElement.scrollTop || document.body.scrollTop

if (c > 0) {
window.requestAnimationFrame(scrollToTop)
window.scrollTo(0, c - c / 8)
}
}

现在不必了,CSS 一行代码就可解决了~

​https://code.juejin.cn/pen/7164310260218331174​

4. 顺滑切图

原来 CSS ​​scroll-snap-type: x mandatory;​​ 可以让你顺滑切图。当你滑动横向滚动条到一定位置时,会自动为你切图,这样显得流畅;

​https://code.juejin.cn/pen/7164311303769554948​

是否更顺滑,实际效果可以在码上掘金上去掉 ​​scroll-snap-type: x mandatory​​ 这一行,前后对比一试便知。

小结

另,推荐最近 3 篇关于 CSS 文章:

​# CSS 如何实现五彩斑斓的“呼吸字”?速度拿去装杯!

标签:code,cn,JS,pen,场景,https,juejin,CSS
From: https://blog.51cto.com/u_13961087/5846573

相关文章

  • Jsp中EL表达式不起作用
    困扰了很久的JSP中的表达式被当成字符串处理,原因是出于版本不同,有些isELIgnored属性默认值为false,但有些默认为true;所以这里要手动配置isELIgnored的属性为false<%@pag......
  • ODOO前端引用css如何修改页面属性
    odoo前端存在一些样式不合理的地方,如何通过ccs修改页面属性:1 通过页面属性class;2 新建模块后,创建static/src/css/styles.css文件  3 style.css内容十分简单,设......
  • nodejs 遍历文件夹下所有文件
    constfs=require("fs");letfileArr=[];constdir="E:/Hbuilder-Content/7.19新增页面";main(dir);console.log(fileArr);functionmain(currentPath){......
  • src/mixin/showButton.js
    exportdefault{//按钮权限methods:{showBtn(code){return(this.$store.state.user.userInfo.roles&&this.$store.state.user.......
  • CSS Sticky Footer实现
    什么是StickyFooter?StickyFooter(粘黏页脚)指的是在页面布局时,当页面的内容不足或等于一屏时,让页脚始终保持在页面的底部,如同粘在底部一样;当页面的内容超过一屏......
  • CSS的预处理器---[Less]
    CSS的预处理器---[Less]Less中文网址:http://lesscss.cn/常见的CSS预处理器:Sass、Less、Stylus1.Less使用我们首先新建一个后缀名为less的文件,在这个less文件里面书写......
  • store/user.js
    //解决:切换帐号时上一帐号权限会影响下一帐号import{resetRouter}from'@/router'//删除用户信息与tokenlogout(state){state.token=''state......
  • 9. JS的数据类型,区别
    js有2大数据类型分类: 基本数据类型:1.string字符串使用单、双引号包裹,或者使用反引号包裹2.number数字类型3.boolean布尔值truefalse ......
  • Export2Excel.js
    /*eslint-disable*///1:下载file-saverxlsx,如果出现问题,如果以前是yarn,先执行yarn如果还不行,再执行npmi再运行,如果还不行自行调整版本yarnadd插件名@版......
  • Export2Zip.js
    /*eslint-disable*/import{saveAs}from'file-saver'importJSZipfrom'jszip'exportfunctionexport_txt_to_zip(th,jsonData,txtName,zipName){const......