【CSS3和JS】

对于CSS了解的同学都知道,CSS的实现是最底层的,在实现方式和性能上都不是,JS这种提供接口的脚本可比的;从CSS3的动画和JS动画对比角度来看两者,会更清晰;而且随着前端框架的使用,页面动画会越来越多的应用CSS3

【CSS3的其他用法】

除了动画的代替,还有就是对于各种交互的实现上,也体现了CSS的强大,更多的是使用CSS3提供的选择器;

先来看个例子:可以更好的体现我这次对于CSS的深刻感悟

<style>
body{background:#f4f4f4;margin:0;}
/*list*/
.list__con{}
.list__con .box{background:#fff;position:relative;border-bottom:solid 1px #858585;overflow:hidden;}
.list__con .box:hover{background:#f4f4f4;-webkit-transition:all .6s;transition:all .6s;}
.list__con .box:hover .delete{-webkit-transition:all .6s;transition:all .6s;opacity:1;}
.list__con .input{-webkit-appearance:none;appearance:none;position:absolute;top:10px;left:12px;padding:0;border:none;margin:0;width:24px;height:24px;border:solid 2px red;border-radius:50%;box-sizing:border-box;outline:none;cursor:pointer;}
.list__con .input:checked::after{content:'';width:14px;height:14px;background:red;position:absolute;top:3px;left:3px;border-radius:50%;}
.list__con label{line-height:24px;padding:10px 0 10px 48px;display:block;-webkit-transition:all .4s;transition:all .4s;}
.list__con .input:checked label{color:#d9d9d9;text-decoration:line-through;}
.list__con .delete{width:44px;height:44px;float:right;position:relative;cursor:pointer;opacity:0;}
.list__con .delete:hover::after{-webkit-transform:rotate(225deg);transform:rotate(225deg);}
.list__con .delete:hover::before{-webkit-transform:rotate(225deg);transform:rotate(225deg);}
.list__con .delete::after{content:'';position:absolute;width:2px;height:20px;background:red;top:12px;left:50%;margin-left:-1px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:4px;-webkit-transition:all .6s;transition:all .6s;}
.list__con .delete::before{content:'';position:absolute;width:20px;height:2px;background:red;top:50%;left:12px;margin-top:-1px;-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:4px;-webkit-transition:all .6s;transition:all .6s;}
</style>
<div class="list__con"><div class="box"><div class="delete"></div><input class="input" type="checkbox" /><label>啥地方垃圾费</label></div>
</div>

【说明】

上面包括了诸多的交互,hover的交互、checked的交互;

对于上面的实现方法相信,早已经有很多人实现了;这里主要说说我对于这次的感悟和对于技术的憧憬,到现在工作也有近四年了,在这些年中,成长快慢自知,但相同的一点就是,很多知识都会用,也知道怎么用;可这次才真正明白,什么叫只知其意,不知其真意,为何!

上面的交互效果,在之前我都是用css和js结合的方式实现;期间也尝试着全部使用css实现交互效果,不过却在探索的时候故步自封导致到现在才真正的实现当初的想法;

使用CSS完全实现的好处,提高了可复用性和可维护性,对于实现相应组件提供了更好的实现方式,同时也提高了性能;

.list__con .input:checked label

如上面这种用法,我们可以使用CSS3增加的各种强大的选择器,实现更多更好的交互效果;从此离开使用JS改变DOM的悲剧,更多的倾向于CSS

【憧憬】相信为了的CSS将会更强大,交互方面的事情都由CSS来完成;JS更多的是回归本体,最近开始研究Vuejs,从中体会到技术进步所带来的各种美好;这次体会也是在做项目中的一些体会,不仅提高了对Vue的使用,还提高了我对CSS3选择器的看法,之前一直认为CSS3选择器就是卖萌的,很多选择的方法根本就用不上;现在才知道,我们对于技术,更应该要知其真意

用CSS3来代替JS实现交互相关推荐

  1. as3是js和java_AS3与JS进行交互(一)

    这个话题在网上应该说很好找,有很多这方面的资料.比者也看过一些,不过大部分都是AS2与JS进行交互.很少提到AS3,即使有,也让人感觉浅尝辄止.很多东西并没有介绍的太清楚.所有笔者萌生了写这样一篇教程 ...

  2. Android与Js进行交互

    Android与JS进行交互主要依靠WebView,webView相当于一个桥梁来沟通两者. Android调用Js: 1.webView的loadurl()方法 互联网页面用:loadUrl(htt ...

  3. WebView 和JS 之间交互

    2019独角兽企业重金招聘Python工程师标准>>> 1.android中利用webview调用网页上的js代码. Android 中可以通过webview来实现和js的交互,在程 ...

  4. ios 使用webview 查找_iOS开发WKWebView与JS的交互

    iOS8以后,Apple公司推出了WKWebView,对比之前的UIWebView不论是处理速度还是内存性能,都有了大幅度的提升! 那么下面我就分享一下WKWebView与JS的交互. 首先使用WKW ...

  5. [转]OC与JS的交互详解

    事情的起因还是因为项目需求驱动.折腾了两天,由于之前没有UIWebView与JS交互的经历,并且觉得这次在功能上有一定的创造性,特此留下一点文字,方便日后回顾. 我要实现这样一个需求:按照本地的CSS ...

  6. css3 动画 vs js 动画

    之前被问到过,css3 动画与 js 动画孰优孰劣,脑袋的第一反应就是性能上肯定 css3 动画会好很多,但别人说不对,我就在想,不对?难道还有别的原因吗?答案是肯定的.先来看看二者实现动画的原理吧. ...

  7. 在UAP中如何通过WebView控件进行C#与JS的交互

    原文:在UAP中如何通过WebView控件进行C#与JS的交互 最近由于项目需求,需要利用C#在UWP中与JS进行交互,由于还没有什么实战经验,所有就现在网上百度了一下,但是百度的结果显示大部分都是在 ...

  8. js 访问android 路径,Android与JS进行交互传文件路径

    webview+h5这种混合开发最近很火,其中最重要的大概就是java代码和js的交互了,刚接触这东西两天,写写收获. 新建一个assets文件夹,要与res这个文件夹同级,其中存放web项目. 先看 ...

  9. 征服大前端视频教程第一季(jQuery、HTML5、CSS3、Node.js)

    征服大前端视频教程第一季(jQuery.HTML5.CSS3.Node.js.AngularJS.MongoDB) 网盘地址:https://pan.baidu.com/s/1-dbJMOa1RrQz ...

最新文章

  1. Vivado 随笔(6) Timing Summary 相关讨论(一)
  2. Windows 活动目录(AD)服务器系统升级到2012之升级完成后工作(八)
  3. sparkstreaming监听hdfs目录_大数据系列之Spark Streaming接入Kafka数据
  4. python多维数据划分_【python+机器学习(4)】多维数据的特征选取(RidgeLasso)...
  5. 工作114:传参控制
  6. http代码_一行代码就可以实现HTTP文件服务器,他为什么写了150行?
  7. 长途货运4大痛,Uber新上的「自动驾驶卡车」如何改善?
  8. win11怎么去除快速搜索 Windows11去除快速搜索的步骤方法
  9. 终面后拿offer几率_20届网易校招失败后的经验(现已拿offer)
  10. CSS实现三角形的方法--拓展
  11. RBF(径向基函数)神经网络
  12. 简单的STM32汇编程序
  13. JavaScript 弹出窗口代码大全
  14. WIN10桌面美化(折腾)
  15. 虚幻浏览器插件 播放视频
  16. 计算机硬盘怎么整理,w7怎么整理磁盘碎片_如何清理win7电脑磁盘碎片
  17. 小 V 视频号下载工具(可下载所有视频号中的视频+公众号中的部分视频、音频)
  18. 2020-03-12-脑电分析之线性与非线性变换
  19. deny of sb sth_deny的短语
  20. 基于SSM框架的OA办公系统

热门文章

  1. centos安装llvm_Linux CentOS上编译并安装Clang教程
  2. 信号与系统 chapter6 时变与时不变系统
  3. python获取某文件路径_Python获取当前文件路径
  4. Java EE 6 开发环境
  5. 基于django rest framework的mock server实践
  6. hadoop hdfs (java api)
  7. 你在乎的--世界在乎的
  8. java split函数应该注意的问题
  9. URAL 1013 K-based Numbers. Version 3
  10. ubuntu postgresql 的安装