CSS3入门:由点到面
2019-03-27 08:50:54来源: 胡太狼 阅读 ()
最近尝试着接翻译图书的活儿,但是相碰到内容精致的图书,机会还是很少的,试译了一下Smashing Magazine出版的Mastering CSS for Web Developers书中的一章节:CSS Three——Connecting the Dots(作者:Trent Walton)。总体来看,翻译的投入和产出比不是那么令人满意,倒不是酬金的问题,关键是图书的内容零散,没有体系,每篇文章的技术点也都很泛,既然翻译了就放出来吧。
——Starting Point——
作为Web社区,我们已经在CSS3方面取得了很大的进步。当我们开始使用background-clip和过渡动画(transition/animation)等可视化效果时,text-shadow和border-radius已经司空见惯了。我们似乎花了大量的时间争论何时或如何引入这些属性。一个特性不兼容所有浏览器或暂时未完全文档化,并不意味着我们不应该使用它。对此,我持相反态度。
我们可以利用业余时间在博客文章里讨论总结出CSS3的最佳实践。开发者绞尽脑汁,通过大量实验创造出了一些极具创新且合理的方法供大家来更好地掌握CSS3。现在,有大量的特性结合和使用点等待着我们去挖掘,动起手来吧!
如何起步?
我最喜欢做的事情之一就是浏览CSS特性列表并考虑哪些组合在一起使用更合理。如果我将@font-face和text-shadow、bg-clip:text联系在一起可行吗?webkit-transition和opacity呢?以下是我最近的一些实验结果。虽然有一些可能比其他的更实用,但主要是抛砖引玉,通过新颖的方式鼓励大家去实践。
注:以下的实验效果只适用于Google Chrome或Safari等Webkit内核浏览器。
案例一:CSS3过渡效果
CSS3可视化效果可以从color、background或border等的鼠标悬停(hover)CSS基础特性开始。首先,我们针对链接颜色设置0.4秒的过渡变换效果。
链接CSS代码如下(包括悬停状态):
接着我们需要利用CSS3设定过渡属性(transition-property)、过渡持续时间(transition-duration)和过渡变换效果(transition-timing)。此案例中,我们设定持续时间为0.4秒,变化效果为ease-out(ease-out变换的节奏为原效果迅速消失,新效果会慢慢隐现)。CSS过渡特性详细内容可参考此文章Sur?n' Safari Blog post on CSS animations。我特别喜欢这种效果,因为这样可以提醒用户当前状态正在改变。
你也可以进行代码合并:
查看在线案例
最后的效果就是当鼠标悬停在链接位置时,红色文本链接会变化至蓝色。大家可参照着举一反三。接下来的是导航栏的悬浮效果。
先实现3像素的底部边框,以及悬停时的50像素边框:
同时我们为边框延伸设置了0.3秒的过渡效果延时:
查看在线案例
参考案例
以下的网站均运用了上述的一些类似特性。
1. Team Excellence
导航栏使用了webkit过渡效果,0.2秒的效果过渡也避免了访问者过长时间的等待。
2. Ackernaut
Ackernaut为所有链接悬停提供了精细的过渡变换,同时将此特性扩展到网站头部。
3. DesignSwap
DesignSwap网站里,所有文本链接都有0.2秒的悬浮过渡效果,个人头像会隐现并变为"浏览详细内容"文本链接。
4. Eric E.Anderson
译者注:该网站已改版,与原内容不符,略去
案例二:背景裁剪
提及text-shadow和@font-face时,background-clip属性不乏亮点。简单说来,我们获取一张图片,将文本覆盖在该图上。代码非常简单,div标签里引入bg-clip类:
接着是CSS部分。首先,图片需要设置为背景图片。-webkit-text-fill-color属性设为transparent,-webkit-background-clip属性设为文本。
查看在线案例
参考案例
仅仅是一个简单的实现方法,却诞生了一些有趣、创造性的案例。
1. Trent Walton
我自己的一个实验,结合bg-clip和@font-face的设计。
2. Neography
将rotate、bg-clip和@font-face综合使用的精彩案例。
3. Everday Works
我所见过的最早实现CSS文本旋转的案例之一。
4. Panic Blog
Panic博客对发表的文章进行了随机旋转,你可以通过刷新来观察微妙的变化。
5. Sam Brown
译者注:该网站已改版,与原内容不符,略去
案例三:CSS变形、阴影和色值
简单几行CSS代码就能取代以前的一些额外的图片及相关标注工作。本案例将box-shadow和RGB值与案例二中的一些变形特性相结合。首先创建4个图片文件,每张图片展示了Smashing Magazine主页的不同时期版本,并配上阴影和相关的旋转效果。
HTML代码如下:
通过CSS添加RGBA阴影:
box-shadow属性中,头两个值分别表示了x和y方向的补偿值,这里x方向设为0,y方向设为3像素补偿。最后的数值表示阴影模糊度大小,这里设为4像素。
RGBa也与上述类似。RGBa分别代表了红色(red)、绿色(green)、蓝色(blue)、不透明度(alpha)。案例中,RGB值为(0,0,0),不透明度为50%,即0.5。
最后,通过CSS为每个截图添加旋转变换特效:
查看在线案例
参考案例
1. Butter Label
该网站充分利用了CSS3的相关特性。注意订阅表单处的transform和box-shadow属性。
2. Hope 140
译者注:该网站已不存在
3. Simon Collison
Simon Collison在他的新网站中,为每个缩略图链接都应用了RGBa和box-shadow。
案例四:CSS3动画
如果你想挑找自我,尝试一些新的CSS3特性,那么CSS3关键帧动画(keyframe animation)值得尝试。本案例,我们主要是让一张圆形的png图片沿着矩形边沿轨迹运动。首先在div类里引入原型图片:
第一步,为.circle_motion类设置相关属性,包括动画名赋值:
- 作就是设定关键帧值,简单起见,我将8秒的动画分成了四个部分:
查看在线案例
参考案例
1. Hope 140
注:此网站已无法浏览
2. Optimum7
Anthony Calzadilla结合CSS3、JQuery和HTML5技术重新勾勒了蜘蛛侠。具体的可以参考他的文章"Pure CSS3 Spiderman Cartoon w/ jQuery and HTML5 – Look Ma, No Flash!"。
3. The Many Faces Of…
The Many Faces Of…创建了背景图片的动画,打开页面就会看到一个人像从底部弹出来。
接下来呢?
CSS3让人如此兴奋,你一定迫不及待想去尝试一番。以下是我的一些体会,仅供参考:
- CSS3的丰富特性并不能取代固有的用户体验设计;
- 动画确实能引起人的注意,但是也需要适度,否则哗众取宠,得不偿失。归根结底,使用一些动作或动画特效时,得考虑清楚使用这类效果的意图、心理。
- 不要让用户等待。尤其是点击链接时,状态切换要迅速。
- 这些特效可以当做是应用给用户的意外收获或者是预置的彩蛋。给予用户额外的惊喜!
文章来源:hoowolf.net
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 产品运营入门指南 2019-07-24
- Hexo建站从入门到精通:本地环境配置、初始化、写作与部署 2019-04-10
- HTTP 协议入门 2019-04-10
- DNS 原理入门 2019-04-10
- H5如何布局?这个才是入门篇… 2019-04-10
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash