CSS 阴影动画优化技巧_CSS教程_CSS_网页制作

来源:脚本之家  责任编辑:小易  

前端简介Web前端开发工程师是一个很新的职业,在国内乃至国际上真正开始受到重视的时间不超过5年。Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征。随着人们对用户体验的要求越来越高,前端开发的技术难度越来越大,Web前端开发工程师这一职业终于从设计和制作不分的局面中独立出来。早期的前端其实就是Table布局,后来发展到所谓的Div+CSS网站重构,再到现在的让人眼花缭乱的各种各样的新技术,Web前端技术发展是非常快速的,因此选择了前端这个行业就意味着不停的学习吧。让我们先看看张克军绘制的前端知识体系结构:前端开发的核心是HTML + CSS + JavaScript。本质上它们构成一个MVC框架,即HTML作为信息模型(Model),CSS控制样式(View),JavaScript负责调度数据和实现某种展现逻辑(Controller)。HTML1.标签的分类1.标签表示一个元素2.按性质划分:Block-Level和Inline-Level3.按语义划分:Headings:h1,h2,h3,h4,h5,h6Paragraphs:pText Formatting:em,strong,sub,del,ins,smallLists:ul,li,ol,dl,dt,ddTables:table,thead,tbody,tr,th,tdForms and Input:form,input,select,textareaOthers:div,span,a,img,!HTML5 : header,footer,article,section2.XHTMLXHTML 于2000年的1月26日成为 W3C 标准。W3C 将 XHTML 定义为最新的HTML版本。XHTML 将逐渐取代HTML。XHTML是通过把HTML 和 XML 各自的长处加以结合形成的。XHTML 语法规则如下:属性名和标签名称必须小写属性值必须加引号属性不能简写用 Id 属性代替 name 属性XHTML 元素必须被正确地嵌套XHTML 元素必须被关闭3.标签的语义化为表达语义而标记文档,而不是为了样式,结构良好的文档可以向浏览器传达尽可能多的语义,不论是浏览器位于掌上电脑还是时髦的桌面图形浏览器。结构良好的文档都能向用户传达可视化的语义,即使是在老的浏览器,或是在被用户关闭了 CSS 的现代浏览器中。同时结构良好的HTML代码也有助于搜索引擎索引你的网站。不要使用table布局,table是用来表格显示的。不要到处滥用div标签,div是用来分块用的。不要使用样式标签,如font,center,big,small,b,i,样式可以用CSS来控制,b和i可以用strong和em来代替。不要使用换行标签和空格来控制样式,请用CSS。尽量不要使用内联CSSCSS1.CSS基础知识层叠和继承优先级盒模型定位浮动2.CSS进阶CSS Sprite浏览器兼容性IE HasLayout和Block Format ContentCSS FrameworksCSS3CSS性能优化LESS and SASSCSS SpriteCSS Sprite主要用于前端性能优化的一种技术,原理是通过将多张背景图片合成在一张图片上从而减少HTTP请求,加快载入速度。浏览器兼容性绝大部分情况下我们需要考虑浏览器的兼容性,目前正在使用的浏览器版本非常多,IE6,IE7,IE8,IE9,IE10,Chrome,Firefox,Safari。IE HasLayout和Block Format ContentIE HasLayout是一个 Internet Explorer for Windows的私有概念,它决定了一个元素如何显示以及约束其包含的内容、如何与其他元素交互和建立联系、如何响应和传递应用程序事件、用户事件等。这种渲染特性可以通过某些 CSS 属性被不可逆转地触发。而有些HTML 元素则默认就具有”layout”。目前只有IE6和IE7有这个概率。BFC是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。这个其实和浏览器的兼容性有关,因为绝大部分的兼容性问题都是它们引起的。参考:CSS BFC和IE Haslayout介绍CSS FrameworkCSS框架是一系列CSS文件的集合体,包含了基本的元素重置,页面排版、网格布局、表单样式、通用规则等代码块,用于简化web前端开发的工作,提高工作效率。目前常见框架有:960 Grid SystemBlueprint CSSBluetripMinimum Page还是一个比较出名和特殊的框架是Twitter的 Bootstrap。Bootstrap是快速开发Web应用程序的前端工具包。它是一个CSS和HTML的集合,它使用了最新的浏览器技术,给你的Web开发提供了时尚的版式,表单,buttons,表格,网格系统等等。它是基于Less开发的。不支持IE6,在IE7和IE8里效果也不咋地。CSS3虽然CSS3还没有正式成为标准,但是包括IE9+,chrome,Firefox等现代浏览器都支持CSS3。CSS提供了好多以前需要用JavaScript和切图才能搞定的功能,目前主要功能有:圆角多背景font-face动画与渐变渐变色Box阴影RGBa-加入透明色文字阴影CSS性能优化CSS 代码是控制页面显示样式与效果的最直接“工具”,但是在性能调优时他们通常被 Web 开发工程师所忽略,而事实上不规范的 CSS 会对页面渲染的效率有严重影响,尤其是对于结构复杂的 Web 2.0 页面,这种影响更是不可磨灭。所以,写出规范的、高性能的 CSS 代码会极大的提高应用程序的效率。参考 CSS性能优化探讨LESS和SASSLESS 和 SASS 都是 CSS 预处理器,用来为 CSS 增加一些编程的的特性,无需考虑浏览器的兼容性问题,例如你可以在 CSS 中使用变量、简单的程序逻辑、函数等等在编程语言中的一些基本技巧,可以让你的 CSS 更见简洁,适应性更强,代码更直观等诸多好处。SASS 基于Ruby开发。LESS 既可以在客户端运行,也可以借助Node.js或者Rhino在服务端运行www.zgxue.com防采集请勿采集本网。

本技巧来自这篇文章 --How to animate box-shadow with silky smooth performance

进入游戏按~打开控制台 输入以下 gl_smoothmodels 1 模型平滑开启 1 r_mirroralpha 1 开启通道混合 1 gl_max_512*512 设定贴图材质的最大解析度r_drawviewmodel 1 提高FPS并增大视野范围 1gl_

本文不是直译,因为觉得这个技巧很有意思很有用,遂起一文。

css模糊效果 css\"> mohu{ font-family:\"黑体;color:\"red;} by{ font-family:\"黑体;position:absolute;top:14px;left:9px;} 你好,是这个效果吗?你好,是这个效果

box-shaodw在我们的工作中使用以及越来越多,伴随阴影的动画或多或少都有一点。假设,我们有下面这样一个盒子:

要看多少难度,用什么族的 我走的经常是强行扩张打法,第一周不一定出市政厅的 以下几个技能Roll到的话一定要学,战术、土系魔法、进攻、防御、领导(亡灵除外、对手有压士气宝物除外)、外交、

div { width: 100px; height: 100px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);}

你好,所谓的网页设计就是网站页面的设计等,就是通过一些软件做的图片设计等不过网页设计还是需要代码的。

希望 hover 的时候,盒阴影从box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3)过渡到box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3)

css中悬停改变样式的最好方法是用伪类选择器 div:hover{}。css代码示例如下: div{ width:100px;height:200px;background:#000;} div:hover{ background:#fff;} 这是一个修改背景颜色的示例,伪

box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3)-->box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3)

OK,最简单的方法当然是:

div:hover { width: 100px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);}

因为过渡动画是在两个不同的盒阴影状态在发生,所以在过渡动画的时间内,浏览器会不断的重绘盒阴影。而又由于阴影属于耗性能样式,所以这种动画给人的感觉多少有些卡顿。

这里有一个小技巧可以优化这种情况下的阴影动画。

使用伪元素及透明度进行优化

使用伪元素及透明度进行优化,我们给上述元素添加一个 before 伪元素,大小与父 div 一致,并且提前给这个元素添加好所需要的最终的盒阴影状态,但是元素的透明度为 0。

div { position: relative; width: 100px; height: 100px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);} div::before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); opacity: 0;}

然后,在 hover 的时候,我们只需要将伪元素的透明度从 0 设置为 1 即可。

div:hover::before { opacity: 1;}

这样做的好处是,实际在进行的阴影变化,其实只是透明度的变化,而没有对阴影进行不断的重绘,有效的提升了阴影动画的流畅程度,让它看起来更加丝滑。

为什么对透明度opacity进行动画要比对box-shadow进行动画性能更好呢?可以看看这里这张表格,列举了不同属性变换对页面重排、重绘的影响:

very few CSS properties

最后,Demo 可以看看:

CodePen Demo -- 优化box-shadow动画

存在的问题,另外一种方案

原文中上述这个方案其实并不算太完美,因为最终的效果是两个阴影的叠加效果,可能会在整体的感觉上阴影颜色更深了一点。

所以需要对最终状态的阴影进行微调一下,削弱一点效果,尽量让两个阴影的叠加效果与单一一个阴影效果相近。

当然,我们可以再对上述方案进行优化,我们再使用一个::after伪元素,::after伪元素设置为初始状态且透明度为1,::before伪元素设置为末尾状态且透明度为0:

实际 hover 的时候,对两个伪元素进行一显一隐,这样最终的效果只有一个阴影效果,没有阴影的叠加,与直接对阴影进行过渡变化效果一致:

CodePen Demo -- 优化box-shadow动画

总结

以上所述是小编给大家介绍的CSS 阴影动画优化技巧,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对真格学网网站的支持!

如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

 

IE的CSS3前缀是-ms-,你没写吧内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • js+css3实现带阴影可点击旋转的3d立体杯子效果源码
  • css阴影效果的比较之drop-shadow与box-shadow
  • css 翘边阴影的实现代码
  • css 曲线阴影实现的示例代码
  • css实现悬浮效果的阴影的方法示例
  • css实现多边形和梯形盒阴影技巧
  • css中使用文本阴影与元素阴影效果
  • 关于CSS3里面的动画不显示阴影的问题,求大神解决。
  • 如何成为前端开发高手
  • 跪求CS1.6优化命令!
  • 做这样的CSS文字阴影效果,该怎么做?
  • CS1.6画面优化要输入哪些参数?
  • css文本阴影,模糊度
  • 英雄无敌3死亡阴影 赢电脑的技巧
  • 网页设计流程是什么?
  • css里鼠标悬停变色怎么弄
  • 静态阴影和动态阴影的区别在哪里?
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全主页网页制作csscss教程css阴影css中使用文本阴影与元素阴影效果css教程css3div+css教程web标准教程浏览器兼容教程css布局实例css控制ul li 的样式详解(推荐)html设置超链接字体颜色和点击后的字体颜色div水平垂直居中的完美解决方案css设置各种中文字体如雅黑、黑体、宋体、楷体等等css 文本字体颜色设置方法(css color)css 漂亮搜索框美化代码css自定义select下拉选择框的样式(不用其他标签模拟)css圆角效果 -webkit-border-radius(css3中border-radcss 中的background:transparent到底是什么意思有什么css 首行缩进两个文字css 实现渐变效果小结( linear-gradient线性渐变 和 r解决type=file 文件修改表单 名称不能正常回显的问题移动端前端适配方案(总结)css 横向进度条和竖向进度条实现代码css运用阿里巴巴矢量库快速在对应位置加上好看的图标详解盒模型大小取决于它的padding,margin,border数css+svg实现b站充电效果的示例代码css动画实现领积分效果的思路详解html/css中的空格处理及如何保留页面中的空格css实现气泡的小尖角效果
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved