CSS3变换入门

作者:神飞 来源:前端观察 时间:2010-01-30 13:29:00 

尽管人们期望在屏幕上有些改变,但是CSSHTML对页面中的交互能做的实在太少了,而那些还需要用代码来实现。

比如一个链接要么是这个颜色,要么是那个颜色;一个文本区域要么这么大,要么那么大;一张图片要么是透明的要么是不透明的;它们是从一个状态直接变到另一个状态——中间并没有过渡

这导致大部分网页有些生硬,因为元素只会很死板的切换或改变。

是的,你可以使用DHTML、jQuery或者自己编写JS来实现过度,但是这需要更多的代码来实现本应该非常简单的功能。

我们需要的是快速而简单的方法来给页面添加简单的变换(transition)效果。在本文中,你会发现很有用的关于CSS变换(transition)以及如何使用它们的信息。

几个月之前,我就建议设计师应该开始使用新的CSS 3 技术来实现一些它们渴求已久的基本的功能了——唯一的问题就是,这些技术没有一个能在IE中可用,包括IE8。

一些读者认为的那些技术将会有75%的用户看不到的观点是不靠谱的。

对那些读者我想说,“坐稳了”,因为我将要向你介绍另一个新的CSS属性,它允许你通过简单的几行代码来为任意元素添加很酷的变换效果。

CSS 变换刚刚在CSS 3中被引入,但是已经被添加为webkit的扩展了。也就是说,现在它们只能用于基于webkit内核的浏览器,包括Apple Safari和Google Chrome。不过从Opera 10.5 pre-Alpha版本来看,Opera将在下一个10.5中支持CSS 3变换。所以要看到本文中提到的实际效果,强烈建议你使用Chrome或者Safari 4来查看本文

CSS变换从哪里来?

变换曾经只是Webkit的一部分,而且是Safari UI能做而其它浏览器不能实现的一些很酷的东东的基础。

但是W3C CSS工作组曾经拒绝将变换添加到它的官方特性里面,一些成员坚持认为变换并非CSS属性而通过脚本来处理会更好。(内牛满面啊,我前一段也有类似的观点,也和高温讨论过,我认为CSS动画超出了表现的范围,交互的东西应该有脚本来实现,不过后来在鬼哥的点拨下,才开始有了新的认识——神飞)

但是很多设计师和开发人员,包括我自己,坚持认为这确实是样式——只是动态样式,而不是我们日常使用的传统的静态样式。

幸运的是,关于动态样式的争论已经成为过去。去年三月份,来自Apple和Mozilla的代表们开始将CSS变换模块添加到CSS 3特性里面,非常接近Apple已经添加到webkit中的表现。

关于设计增强的一个简要介绍

在我们继续之前,让我强调一点:永远不要让网站的功能依赖样式,如果该样式不是浏览器通用的话(也就是说,所有的常用浏览器都支持)。

对错过的同学再一次强调:永远不要让网站的功能依赖样式,如果该样式不是浏览器通用的话

这也就是说,你可以使用样式,比如变换,作为设计增强以提高用户体验——在不牺牲看不到它们的用户的可用性的前提下。如果你不用CSS变换照样能用而且用户依然能够完成他们的任务,就没问题,你就可以使用CSS变换。

标签:css3,变换,入门,dhtml
0
投稿

猜你喜欢

  • 用ASP和SQL语句动态的创建Access表

    2008-10-14 16:59:00
  • 用ASP木马实现FTP和解压缩

    2008-02-13 08:47:00
  • ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)

    2012-06-06 20:11:21
  • sqlserver 导出插入脚本代码

    2012-01-29 18:04:43
  • JavaScript中实现字符串的取左取右(实现left和right功能)

    2009-07-20 12:39:00
  • JavaScript 日期联动选择器

    2010-08-01 10:18:00
  • 访问javascript私有变量

    2010-01-19 13:56:00
  • 一个表单焦点效果函数

    2008-01-19 10:59:00
  • 如何在页面错误时向数据库中添加记录?

    2010-06-26 12:26:00
  • 潜谈产品设计中的可用性和可访问性

    2009-01-18 12:47:00
  • ASP 相关文章或者相关产品

    2011-03-30 11:12:00
  • asp xml 缓存类

    2011-04-03 11:20:00
  • xmlhttp中运行getResponseHeader出错,提示:The requested header was not found

    2010-03-27 21:47:00
  • 解决MSSQL下“不能在手动或分布事务方式下创建新的连接”的问题

    2008-07-15 12:48:00
  • 两段不错的JS文字特效

    2007-09-27 12:52:00
  • SQL脚本语言学习(黑客篇)

    2008-02-29 13:09:00
  • 客户体验

    2008-12-11 13:58:00
  • 如何进行MySQL数据库表的故障检测

    2009-02-10 10:34:00
  • 全局字体最佳实践

    2009-08-13 14:37:00
  • Oracle字符集修改查看方法

    2009-11-05 21:45:00
  • asp之家 网络编程 m.aspxhome.com