关注一些鲜为人知、试验性的CSS属性
尽管现代浏览器已经支持了众多的CSS3属性,但是大部分设计师和开发人员貌似依然在关注于一些很“主流”的属性,如border-radius、box-shadow或者transform等。它们有良好的文档、很好的测试并且最常用到,所以如果你最近在设计网站,你很难能脱离它们。
但是,隐藏在浏览器的大宝库中是一些高级的、被严重低估的属性,但是它们并没有得到太多的关注。或许它们中的一些应该这样(被无视),但是其它的属性应该得到更多的认可。最伟大的财富隐藏在Webkit的下面,而且在iPhone、iPad和Android apps的时代,开始了解它们会非常有用。就连Firefox等使用的Gecko引擎,也提供了一些独特的属性。在本文中,我们将看一下鲜为人知的CSS 2.1和CSS3属性以及它们在现代浏览器中的支持情况。

说明: 对于每个属性,我们这里规定:”WebKit” 即指代使用Webkit内核的浏览器(Safari、Chrome、iPhone、iPad、Android等),”Gecko“指代采用Gecko内核的浏览器(Firefox等)。然后有的属性是官方CSS 2.1. 规范的一部分,这意味着更多的浏览器甚至一些古老的浏览器也会支持它们。最后,一个CSS3 的标签标明遵守这个标准,被最新的浏览器版本——比如Firefox 4、Chrome 10、Safari 5、Opera 11.10以及IE9支持的属性。
WebKit特有属性
-webkit-mask
这个属性是相当强大的,所以详细的介绍超出了本文的范畴,它非常值得深入研究,因为它可以在实际应用中为你省掉很多时间。
-webkit-mask让为一个元素添加蒙板成为可能,从而你可以创建任意形状的花样。蒙板可以是CSS3渐变或者半透明的PNG图片。蒙板元素的alpha值为0的时候会覆盖下面的元素,为1的时候会完全显示下面的内容。相关的属性有-webkit-mask-clip、 -webkit-mask-position 和-webkit-mask-repeat等,严重依赖来自于background中的语法。更多信息请查看webkit的博客和下面的链接。

示例
图片蒙板:
1 2 3 4
.element{ background: url(img/image.jpg) repeat; -webkit-mask: url(img/mask.png); }
示例
渐变蒙板:
1 2 3 4
.element2 { background: url(img/image.jpg) repeat; -webkit-mask: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0))); }
-webkit-text-stroke
CSS边框的一个不足就是只有矩形的元素才能使用。-webkit-text-stroke可以为文字添加边框。它不但可以设置文字边框的宽度,也能设置其颜色。而且,配合使用color: transparent属性,你还可以创建镂空的字体!
示例
为所有的<h1>标题设定一个2px宽的蓝色边框:
1
h1 {-webkit-text-stroke: 2px blue}
另一个特性是,通过设定1px的透明边框,可以让文字变得平滑:
1
h2 {-webkit-text-stroke: 1px transparent}
创建红色镂空字体:
1 2 3 4
h3 { color: transparent; -webkit-text-stroke: 4px red; }

-webkit-nbsp-mode
换行有时是很棘手的事情:有时你希望文字在适当的地方断行(而不是折行),有时你又不想这样。一个能控制这个的属性就是-webkit-nbsp-mode,它让你可以改变 空白符的行为,强制文字在它被用到的地方断行。通过设置值为space即可实现。
-webkit-tap-highlight-color
这个属性只用于iOS (iPhone和iPad)。当你点击一个链接或者通过Javascript定义的可点击元素的时候,它就会出现一个半透明的灰色背景。要重设这个表现,你可以设置-webkit-tap-highlight-color为任何颜色。
想要禁用这个高亮,设置颜色的alpha值为0即可。
示例
设置高亮色为50%透明的红色:
1
-webkit-tap-highlight-color: rgba(255,0,0,0.5);
浏览器支持: 只有iOS(iPhone和iPad).
zoom: reset
通常来说,zoom是一个IE专用的属性。但是webkit也开始支持它了,而且使用值reset,webkit可以实现不错的效果(有趣的是,IE不支持这个值)。它让你重设掉浏览器中正常的缩放行为——如果某个元素被声明了zoom:reset,页面上的其它元素在用户放大页面的时候都会跟着放大。
注:其实,我们常用来禁用chrome强制字体大小的时候用到的-webkit-text-size-adjust:none;也是可以实现类似的效果,不同的是,设置该属性的元素内的文字不会被放大/缩小,但是页面上的其它元素则会变化——神飞
-webkit-margin-collapse
这个属性属于限制级的,但是它还是非常值得关注。通常,两个相邻的元素的margin会折叠起来(collapse)。这意味着第一个元素的底部的边距和第二个元素的头部边距会被合并到一起。
最常见的例子就是两个相邻的<p>元素会共享他们的margin值。想要控制这个表现,我们可以使用-webkit-margin-collapse及其分拆后的-webkit-margin-top-collapse、-webkit-margin-bottom-collapse等属性。默认值是collapse,值separate则停止共享margin值,也就是说,第一个元素的底部边距和第二个元素的头部边距会正常叠加。

-webkit-box-reflect
你还记得几乎每个网站都把他们的网站logo或者头部的文字做成倒影的那个年代吗?谢天谢地,那个年代已经过去了,但是如果你要在一些按钮、导航、或者其他UI元素上更好的使用这个技术,-webkit-box-reflect是更好的选择。
- 栏目搜索>>分类导航
-
Flash幻灯
jQuery幻灯
JS幻灯
Flash相册
jQuery相册
图片特效
导航菜单
广告代码
在线客服
表单按钮
其它特效
-
HTML
CSS
JavaScript
Dreamweaver
Fireworks
设计分享
-
建站教程
网站运营
实用工具
网页模板
网页素材
- CSS酷站 网上购物 设计团队 设计博客
-
- 教程排行榜
- 21个令人惊叹的CSS技术(案例)展示
- HTML5的Video标签详细说明手册
- 看这些用CSS3绘制的图标,你震撼了吗
- 如何使一个DIV层居中于浏览器中?
- IE PNG Fix—让IE6完美支持PNG透明图片的插件
- 加一段代码让IE6支持hover伪类效果
- CSS Sprite(CSS精灵)的优点和使用方法
- 最新的IE6、IE7和IE8的CSS BUG汇总列表
- 深入理解CSS的inherit与auto之间区别
- CSS3教程:17种用CSS实现的很酷炫的立体网...
- 用浮动清除LI元素在IE6中底部3像素的BUG
- 解决IE6下PNG图片透明的最佳方法
- IE的几个最常见BUG及解决方案
- div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法
- CSS样式的postion属性absolute和fixed的区别
- DIV+CSS布局两列右列宽度自适应布局的不同...
- 下载排行榜
- jQuery图片特效代码 带缩略图和文字标题简...
- 仿淘宝商城天猫首页jQuery多格焦点幻灯图特...
- 仿QQ商城焦点图jquery幻灯特效代码
- 宽屏flash+xml焦点幻灯图特效代码
- 效果媲美flash的jQuery幻灯代码支持多种切换效果
- 3D立体效果的flash+xml照片墙相册展示代码
- 带标题和数字导航的JS焦点幻灯特效代码
- 31款简单实用的CSS+JS下拉菜单脚本
- 漂亮的jquery+Lightbox灯箱效果图片展示特效代码
- 基于mootools有7种效果的Gallery(画廊)幻灯相册代码
- 超酷HTML5图片特效代码支持全屏显示
- 漂亮的jquery画廊相册特效支持缩略图和键盘...
- 可自动展开和折叠收起的QQ在线客服代码
- 半透明立体质感的宽屏flash+xml焦点幻灯代码
- 基于jQuery的首页自动收缩全屏广告代码
- 超酷3D摩天轮flash+xml幻灯相册特效源码
