提升你设计水平的CSS3新技术[译]

作者:暴风彬彬 来源:彬go 时间:2009-08-02 20:51:00 

前些日子在SmashingMagazine看到一篇关于CSS3新技术不错的文章,它详细介绍了CSS3的新特性和它的使用方法,它包括:浏览器专有属性、选择器(属性选择器、连字符、伪类、伪元素)、RGBA和透明度属性、多栏布局、多背景图、Word Wrap、文字阴影、CSS圆角、边框图片、盒阴影、盒尺寸、媒体查询、语音,并详细说明了每个新技术目前有哪些浏览器兼容。彬Go本想将本文翻译成中文版和大家分享,但发现已有国人完成翻译,所以就偷个小懒,转载一下人家的翻译,在此感谢前端观察的博主辛苦翻译本文,为大家贡献了如此珍贵的学习资料。

如果你热爱前端开发,你对CSS感兴趣,那么你肯定不可错过这篇文章。

级联样式表在13年前被引入,而且被广泛使用的CSS 2.1 标准在11年前被创建,显然我们现在已经与当年相差千里了。相当了不起的是期间网站开发有了多少进步——事实上,我们也无法想象。

为什么会这样呢,当提到CSS的时候,过去我们是如此的不情愿和害怕尝试?为什么我们还要使用讨厌的hack和依赖JavaScript的技术来写样式?为什么我们不能利用丰富的CSS3 特性和现代浏览器中可用的工具 并将我们的设计品质带到下一个等级?

是时候在我们的项目中引入CSS3 特性了,不用害怕逐渐在我们的样式表中加入css3特性和选择器会出问题。让我们的客户意识到CSS3的优势 (而且让旧浏览器更快的消失)是我们力所能及的事情——我们应该这样做,特别是在它能够让网站更加灵活并减少开发和维护成本的时候。

在本文中,我们将研究CSS3的优势,并看一下一些网页设计师是如何使用它们的。最后,我们将了解到从CSS3中我们能得到什么以及我们如何在我们的项目中使用它的新特性。

同时请参考我们之前的一篇相关文章:
使用CSS3将你的网站设计推向未来

使用浏览器专有属性

为了使用大部分CSS3特性,我们不得不与原来的属性一起使用生产商专有扩展。原因是直到现在,大部分浏览器只支持部分CSS3属性。而且不幸的是,一些属性甚至到最后都可能不被W3C推荐,所以通过指定浏览器专有属性,将他们与标准属性区分开来是很重要的(然后在他们是多余的的时候使用符合标准的样式将之覆盖)。

当然,这种方法的劣势是,将导致一个杂乱的样式表和网站在浏览器之间的表现不一致。毕竟,我们不想在我们的样式表中重拾私有浏览器hack的需求。Internet Explorer的臭名昭著的marquee、blink以及其它标签在大量样式表中被应用,并在20世纪九十年代成为一个传奇;它们依然让现存的很多网站(在其他浏览器中)表现不一致甚至难以阅读。而我们现在也不想将我们自己置于同样的境地,对吧?

然而,网站不需要在所有的浏览器中看起来必须严格的一致。有的时候在某个浏览器中使用私有属性来实现特定的效果是可行的。

最常见的私有属性是用于Webkit核心浏览器的(比如, Safari), 它们以-webkit-开始,以及Gecko核心的浏览器(比如, Firefox),以-moz-开始,还有Konqueror (-khtml-)、Opera (-o-) 以及Internet Explorer (-ms-)都有它们自己的属性扩展(目前只有IE8支持-ms-前缀)

作为专业的设计师,我们不得不注意:使用这些私有属性将让我们的样式表不能通过验证。所以目前将他们放到最终版的样式中是少见的。但是在某种情况下,比如试验或学习,我们至少可以考虑将他们和标准的CSS属性一起写到一个样式表中。

扩展阅读

1. 选择器

CSS选择器是个难以置信地强大的工具:它们允许我们在标签中指定特定的HTML元素而不必使用多余的class、 ID 或JavaScripts。而且它们中的大部分并不是CSS3中新添加的,而是没有被得到应有的广泛应用。如果你在尝试实现一个干净的、轻量级的标签以及 结构与表现更好的分离,高级选择器是非常有用的。它们可以减少在标签中的class和ID的数量并让设计师更方便的维护样式表。

属性选择器

三个新的属性选择器被添加到CSS3:

  • [att^="value"]
    匹配包含以特定的值开头的属性的元素

  • [att$="value"]
    匹配包含以特定的值结尾的属性的元素

  • [att*="value"]
    匹配包含含有特定的值的属性的元素

值的属性的元素

tweetCC 使用一个属性选择器来指定有title属性并以字符“tweetCC”结尾的链接:

a[title$="tweetCC"] {
position: absolute;
top: 0;
right: 0;
display: block;
width: 140px;
height: 140px;
text-indent: -9999px;
}

浏览器支持:只有IE6不支持CSS的属性选择器。IE7和IE8、Opera、Webkit核心和Gecko核心的浏览器都支持。所以在你的样式中使用属性选择器是比较安全的。

标签:设计,浏览器,CSS3,新技术
0
投稿

猜你喜欢

  • 利用色轮选择颜色搭配[译]

    2009-10-31 18:24:00
  • 纯CSS实现动态提示信息Tooltips

    2008-05-22 11:56:00
  • 使用SQL Server 2000索引视图提高性能

    2009-01-13 13:47:00
  • 深入浅出SQL之左连接、右连接和全连接

    2009-08-30 15:14:00
  • 利用J2ME与ASP建立数据库连接

    2010-04-03 20:53:00
  • 交互设计的方法

    2010-08-18 12:32:00
  • 用CSS实现柱状图(Bar Graph)的方法(四)—table实现复杂柱状图

    2008-05-28 12:55:00
  • SQL Server 中导入导出数据三方法比较

    2009-01-21 14:22:00
  • 快速掌握 Mysql数据库对文件操作的封装

    2009-02-23 17:37:00
  • DWCS3-CSS布局之一CSS规则大纲

    2008-06-11 18:48:00
  • asp如何做一个树状展开视图来显示自己的记录结构?

    2010-07-12 18:56:00
  • ASP伪静态页简单教程

    2007-09-28 14:35:00
  • JS+ASP实现无刷新新闻列表之分页

    2007-08-22 12:57:00
  • Monster for Chrome

    2010-05-04 16:30:00
  • 验证码的最高境界

    2008-05-08 14:17:00
  • PHP使用laravel邮件服务发送邮件

    2023-05-25 03:48:23
  • 楼层数横排比竖排好

    2008-04-26 07:28:00
  • asp如何利用当前时间生成随机函数?

    2010-01-01 15:44:00
  • 如何使用ADO.NET连接数据库?

    2010-06-03 10:52:00
  • 让JavaScript拯救HTML5的离线存储[译]

    2009-05-15 12:26:00
  • asp之家 网络编程 m.aspxhome.com