<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>前端观察 &#187; CSS</title>
	<atom:link href="http://www.qianduan.net/category/css-research/feed" rel="self" type="application/rss+xml" />
	<link>http://www.qianduan.net</link>
	<description>专注于网站前端设计与前端开发</description>
	<lastBuildDate>Wed, 08 Feb 2012 05:05:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>user-select介绍</title>
		<link>http://www.qianduan.net/introduce-user-select.html</link>
		<comments>http://www.qianduan.net/introduce-user-select.html#comments</comments>
		<pubDate>Sun, 15 Jan 2012 12:20:26 +0000</pubDate>
		<dc:creator>神飞</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[user-select]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12961</guid>
		<description><![CDATA[之前在《CSS的未来：一些试验性CSS属性》中有提到user-select这个属性，最近整理的时候有遇到，所以详细的了解了下，这里简单的介绍下... ]]></description>
			<content:encoded><![CDATA[<p>之前在《<a title="CSS的未来：一些试验性CSS属性" href="http://www.qianduan.net/the-future-of-css-experimental-css-properties.html">CSS的未来：一些试验性CSS属性</a>》中有提到user-select这个属性，最近整理的时候有遇到，所以详细的了解了下，这里简单的介绍下。<span id="more-12961"></span></p>
<p>这是在css3 UI规范中新增的一个功能，用来控制内容的可选择性。</p>
<h3>用法：</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">user-select<span style="color: #00AA00;">:</span>value<span style="color: #00AA00;">;</span></pre></td></tr></table></div>

<h3>值：</h3>
<ul>
<li>auto——默认值，用户可以选中元素中的内容</li>
<li>none——用户不能选择元素中的任何内容</li>
<li>text——用户可以选择元素中的文本</li>
<li>element——文本可选，但仅限元素的边界内(只有IE和FF支持)</li>
<li>all——在编辑器内，如果双击/上下文点击发生在子元素上，改值的最高级祖先元素将被选中。</li>
<li>-moz-none——firefox私有，元素和子元素的文本将不可选，但是，子元素可以通过text重设回可选。</li>
</ul>
<p>&nbsp;</p>
<style contenteditable="true" class="demoStyle" style="border: 2px solid rgba(255, 255, 255, 0.1);box-shadow: 1px 1px 5px black inset;display: block;
padding: 2px 3px;white-space: pre-wrap;">.selectDemo{
background-color:#eee;
padding:20px;
-moz-user-select: none;  
-webkit-user-select: none;  
-ms-user-select: none;  
}
</style>
<h3>实例——用鼠标拖动或双击下面的文字试下：</h3>
<div class="selectDemo">
前端观察是一个纯粹的前端技术分享网站，本站的目的是为前端技术人员提供所需的资讯及资源。<br />
向来中国的前端开发领域，就像一盘散沙一样，每个人每个站都各自为营，高手就像就像天空的星星一样多，但是他们的成就却很少广为传播，初学者却苦于在大海一样的设计中寻找自己的参考。<br />
所以本站首先将是挖掘，挖掘国内优秀的原创设计及内容，加以高度的整理。<br />
相信你在这里能够发现自己需要的东西，同时也希望各位能提供一些好的内容给我们。
</div>
<h3>浏览器支持</h3>
<p>目前，只有<strong>Gecko</strong>和<strong>webkit</strong>支持该属性，包括基本上所有版本的Firefox/Chrome/Safari，<strong>IE10</strong>中也将支持该属性。当然，各个浏览器都必须加上私有前缀。Opera尚不支持。</p>
<h3>结语</h3>
<p>这个属性，在之前是被用来保护网站的内容，不被用户复制和转载，从而保护资讯的版权，但是这样却对普通用户的用户体验造成了伤害，而且，并不能真正的保护页面中的内容，这对前端开发人员来说，很容易搞定的吧？ &#8230;XD</p>
<p>现在，HTML5蒸蒸日上，很多网站或者web app会使用到Drag and Drop技术，user-select正好在一些情境中可以用到。</p>
<p>当然，技术是为人服务的，怎么用都可以，但是，伤害用户体验的产品，最终是得不到用户的吧。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/introduce-user-select.html/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>-webkit-filter是神马？</title>
		<link>http://www.qianduan.net/what-is-webkit-filter.html</link>
		<comments>http://www.qianduan.net/what-is-webkit-filter.html#comments</comments>
		<pubDate>Fri, 23 Dec 2011 11:52:13 +0000</pubDate>
		<dc:creator>神飞</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front News]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12932</guid>
		<description><![CDATA[这两天有看到国外网站纷纷介绍-webkit-filter，开始很迷惑，丫是想要学IE吗？今天看了下，和IE的滤镜没一毛关系啊，而且，效果很赞... ]]></description>
			<content:encoded><![CDATA[<p>这两天有看到国外网站纷纷介绍-webkit-filter，开始很迷惑，丫是想要学IE吗？今天看了下，和IE的滤镜没一毛关系啊，而且，效果很赞！<span id="more-12932"></span></p>
<p>这些滤镜效果最初是用于SVG的，W3C引入到CSS中，然后制定了<a title="css filter effect 1.0" href="https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html" target="_blank">CSS Filter Effects 1.0</a>，现在webkit率先支持了它。</p>
<p>现在规范中支持的效果有：</p>
<ul>
<li>grayscale 灰度</li>
<li>sepia 褐色</li>
<li>saturate 饱和度</li>
<li>hue-rotate 色相旋转</li>
<li>invert 反色</li>
<li>opacity 透明度</li>
<li>brightness 亮度</li>
<li>contrast 对比度</li>
<li>blur 模糊</li>
<li>drop-shadow 阴影</li>
</ul>
<p>嗯，有些和CSS3重复了，不过，具体要怎么用还要看具体情况，至少我们可以用不同的方法实现同样的效果——比如透明度。</p>
<p>用法是标准的CSS写法：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">-webkit-filter<span style="color: #00AA00;">:</span> blur<span style="color: #00AA00;">&#40;</span><span style="color: #933;">2px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span></pre></div></div>

<p>然后，Eric Bidelman<a title="CSS Filter Effects" href="http://html5-demos.appspot.com/static/css/filters/index.html" target="_blank">写了一个demo</a>，可以很方便的查看各种效果。但是考虑到某网站因为不明原因在国内无法访问，我将该demo页面简单的翻译了下，<a title="CSS Filter Effects" href="http://labs.qianduan.net/css_filter.html" target="_blank">放到这边给大家预览，请猛击查看</a>。</p>
<p>请注意，改滤镜目前只有最新的<a title="webkit nightly" href="http://nightly.webkit.org/" target="_blank">webkit nightly</a>版本和<a title="chrome dev channel" href="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;source=web&amp;cd=6&amp;ved=0CF8QFjAF&amp;url=http%3A%2F%2Fwww.google.com%2Fchrome%2Fintl%2Fen%2Feula_dev.html&amp;ei=GWD0Tq2hLovkrAfv3ojtDw&amp;usg=AFQjCNFc6aJq0n3DNLjLkV2ArUF5r58pmA&amp;sig2=rzPxXvCeMdRmC5wwhyYRsA" target="_blank">Chrome 18.0.976以上</a>版本才支持，所以你需要下载一个最新的版本来体验～～我用的是webkit nightly。</p>
<p>现在，让我们看一下一些简单的效果吧：</p>
<p>原图<br />
<img title="filter 原图" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter.jpg" alt="" width="366" /></p>
<p>模糊<br />
<img title="filter 灰度" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_blur.jpg" alt="" width="366" /></p>
<p>50%灰度<br />
<img title="filter 灰度" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_grayscale.jpg" alt="" width="366" /></p>
<p>100%灰度<br />
<img title="filter 灰度" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_grayscale2.jpg" alt="" width="366" /></p>
<p>50%褐色<br />
<img title="filter 褐色" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_sepia.jpg" alt="" width="366" /></p>
<p>100%褐色<br />
<img title="filter 褐色" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_sepia2.jpg" alt="" width="366" /></p>
<p>50%亮度<br />
<img title="filter 亮度" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_brightness.jpg" alt="" width="366" /></p>
<p>100%亮度<br />
<img title="filter 亮度" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_brightness2.jpg" alt="" width="366" /></p>
<p>色相<br />
<img title="filter 色相" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_hue.jpg" alt="" width="366" /></p>
<p>反色<br />
<img title="filter 反色" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_invert.jpg" alt="" width="366" /></p>
<p>饱和度<br />
<img title="filter 饱和度" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_saturate.jpg" alt="" width="366" /></p>
<p>对比度<br />
<img title="filter 对比度" src="http://www.qianduan.net/wp-content/uploads/2011/12/filter_contrast.jpg" alt="" width="366" /></p>
<p>嗯，我们在手机端的各种特效如lomo、日系等，也可以在页面简单实现一些了，配合css3内阴影、遮罩、渐变等，相信不必instagram等差多少。</p>
<p>ps:sepia的翻译貌似有点儿问题，求专业指点。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/what-is-webkit-filter.html/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>animate.css 一些常用的CSS3动画效果</title>
		<link>http://www.qianduan.net/animate-css.html</link>
		<comments>http://www.qianduan.net/animate-css.html#comments</comments>
		<pubDate>Tue, 13 Dec 2011 03:23:52 +0000</pubDate>
		<dc:creator>神飞</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Resource]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[动画]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12903</guid>
		<description><![CDATA[大家已经开始在项目中使用一些CSS3动画效果了吧，这让网站在高端浏览器上看起来很上流。animate.css是一个老外做的各种CSS3动画的合集，比较全，也很炫，大家可以参考学习一下... ]]></description>
			<content:encoded><![CDATA[<p>大家已经开始在项目中使用一些CSS3动画效果了吧，这让网站在高端浏览器上看起来很上流。<a href="http://daneden.me/animate/" target="_blank">animate.css</a>是一个老外做的各种CSS3动画的合集，比较全，也很炫，大家可以参考学习一下。<span id="more-12903"></span></p>
<p><a title="css3 animate" href="http://daneden.me/animate/"><img class="alignnone size-full wp-image-12904" title="animate.css" src="http://www.qianduan.net/wp-content/uploads/2011/12/animate.css.jpg" alt="" width="722" height="413" /></a></p>
<ul>
<li>项目主页：<a href="http://daneden.me/animate/">http://daneden.me/animate/</a></li>
<li>自定义下载样式：<a href="http://daneden.me/animate/build/">http://daneden.me/animate/build/</a></li>
<li>git地址：<a href="https://github.com/daneden/animate.css">https://github.com/daneden/animate.css</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/animate-css.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>响应式网页设计</title>
		<link>http://www.qianduan.net/responsive-web-design.html</link>
		<comments>http://www.qianduan.net/responsive-web-design.html#comments</comments>
		<pubDate>Tue, 01 Nov 2011 16:36:11 +0000</pubDate>
		<dc:creator>神飞</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front News]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[响应式]]></category>
		<category><![CDATA[移动互联网]]></category>
		<category><![CDATA[设计]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12868</guid>
		<description><![CDATA[这个话题最近很火爆，我也一直在关注，响应式网页设计和移动互联网密切相关，并因移动终端的丰富和普及而兴盛，并且是一个颇具争议的话题，我今天将和大家探讨下... ]]></description>
			<content:encoded><![CDATA[<p>这个话题最近很火爆，我也一直在关注，响应式网页设计和移动互联网密切相关，并因移动终端的丰富和普及而兴盛，并且是一个颇具争议的话题，我今天将和大家探讨下。<span id="more-12868"></span></p>
<p>上周写了个简单的ppt在组内大概介绍了下，感兴趣的话可以<a href="http://mienflying.bitbucket.org/responsive/">先看下这个PPT</a>。</p>
<h3>移动互联网的现状和未来</h3>
<p>在说到这个话题前，我们先看下网页设计和前端开发的现状：</p>
<ol>
<li>全球有超过53亿手机用户（包括传统手机）</li>
<li>国内3G用户超过1亿</li>
<li>iPhone4手机在2010年出货量超过3000万部；</li>
<li>iPhone 4S上市前3天卖掉400万部；</li>
<li>Android手机每天激活超过50万部；</li>
<li>iPad出货量已经超过2.5亿部；</li>
<li>预计到2015年，移动互联网的数据流量<a title="[图表]移动互联网的现状和趋势" href="http://www.qianduan.net/chart-status-and-trends-of-mobile-internet.html" target="_blank">将超越桌面端的流量</a>。</li>
<li>。。。</li>
</ol>
<p>嗯，大家也许已经开始注意到，自己和身边的朋友也都越来越多的用上了iPhone或者android手机或平板——一两年前我们预料的移动互联网时代即将来临，现在已然实现了——我们正处在移动互联网快速发展的时代——已经不再是起步阶段了。</p>
<h3>那么，什么是响应式网页设计？</h3>
<p>响应式网页设计是<a title="Responsive Web Design" href="http://www.alistapart.com/articles/responsive-web-design/" target="_blank">Ethan Marcotte在去年5月份提出的一个概念</a>，简而言之，就是一个网站能够兼容多个终端——而不是为每个终端做一个特定的版本。这个概念可以说是是为移动互联网而生的！</p>
<p>或许大家之前会注意到，有很多知名网站都推出了iPhone或针对智能手机的专门网站，比如3g.qq.com、m.taobao.com、ipad.xxx.com等等。。。甚至前端观察之前也尝试过用wordpress插件实现m.qianduan.net的移动网站。</p>
<p>那么问题就来了——我们要为每一个设备做一个单独的网站吗？来让网站在每个设备中得到相应的视觉风格和操作体验？</p>
<p>这样势必就要增加很多的工作量，而且很多还是重复的。</p>
<p>我们在做页面的时候，一般很强调模块化的概念，我们要求一个合格的模块要能够“可扩展、无侵染”，它要能够用在任何地方都能够正常的显示。响应式网页设计与此类似——网站在任何设备中都能够正常适配，而不用为每个设备单独做个子网站！</p>
<p>但是，产品经理和设计师可能还是会要求网站在各个浏览器里面表现要一模一样，甚至要像素还原——WTF！不同的浏览器本身的功能、行为和处理方式都不一样，为什么要表现完全一样？！</p>
<p>let the browser flow&#8230;</p>
<h3>怎么做？</h3>
<p>其实响应式网页的实现很简单，都是大家熟悉的技术。</p>
<h4>media query(媒体查询)</h4>
<p>因为现在主流的智能终端都是基于iOS和Android的，而它们自带的浏览器都是基于webkit内核，所以我们可以完全使用viewport属性和media query技术实现网站的响应性：</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;viewport&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;width=device-width, initial-scale=1, maximum-scale=1&quot;</span>&gt;</span></pre></div></div>

<p>后面的initial-scale表示初始缩放，maximum-scale表示最大缩放比例，1意味着不能进行缩放。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* for 240 px width screen */</span>
<span style="color: #a1a100;">@media only screen and (max-device-width:240px){</span>
    selector<span style="color: #00AA00;">&#123;</span>
    <span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* for 360px width screen */</span>
<span style="color: #a1a100;">@media only screen and (min-device-width:241px) and (max-device-width:360px){</span>
    selector<span style="color: #00AA00;">&#123;</span>
    <span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">/* for 480 px width screen */</span>
<span style="color: #a1a100;">@media only screen (min-device-width:361px)and (max-device-width:480px){</span>
    selector<span style="color: #00AA00;">&#123;</span>
    <span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>当然依靠屏幕宽度来进行适配是最简单的方法，media query有很多参数可以使用比如orientation、aspect-ratio等，不太了解的可以查看<a title="media type与media query" href="http://www.qianduan.net/media-type-and-media-query.html" rel="bookmark">这篇详细的介绍</a>。</p>
<p>其实，media query是响应式网页设计中被用到最多的技术。</p>
<h4>fluid grid(流体网格)</h4>
<p>很多项目都在使用网格技术(或者叫栅格)，前几年960.gs很流行，但是随着屏幕分辨率的普遍提升，它已经不太适合当前需求了，于是最近几年fluid grid开始逐渐多了起来，这种技术其实也很简单，只是将格栅的单位由px变成%，用百分比来控制页面每列的宽度，从而实现宽度的自适应。</p>
<p>使用流体网格的网站能够根据屏幕宽度自动调整页面中每列的宽度，从而保证页面的完整展现和基本功能。这也是一种不错的方法。</p>
<h4>flex box</h4>
<p>flex box是css3中的新技术，它很强大，可以实现很多我们之前无法想象的自适应布局。</p>
<p>有时我们希望网站能够以webapp的外观呈现给手机用户，flexbox是个不二的选择。</p>
<p>比如，要实现这样的简单结构：</p>
<p><img class="alignnone size-full wp-image-12874" title="flex box layout" src="http://www.qianduan.net/wp-content/uploads/2011/11/flex.jpg" alt="" width="312" height="402" /></p>
<p>它很像一个app的结构，头部和底部固定，中间高度自适应，用flexbox可以简单实现：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">.flex_wrap<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> box<span style="color: #00AA00;">;</span>  
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> -moz-box<span style="color: #00AA00;">;</span>  
	<span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> -webkit-box<span style="color: #00AA00;">;</span>
	-webkit-box-orient<span style="color: #00AA00;">:</span> vertical<span style="color: #00AA00;">;</span>
	-moz-box-orient<span style="color: #00AA00;">:</span> vertical<span style="color: #00AA00;">;</span>
	box-orient<span style="color: #00AA00;">:</span> vertical<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
.flex_bd<span style="color: #00AA00;">&#123;</span>
	box-flex<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	-moz-box-flex<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span> 
	-webkit-box-flex<span style="color: #00AA00;">:</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#E7E7E7</span><span style="color: #00AA00;">;</span>
	overflow-y<span style="color: #00AA00;">:</span><span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
.flex_hd<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#16364C</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span><span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span><span style="color: #993333;">center</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#FFF</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-weight</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">700</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">font-family</span><span style="color: #00AA00;">:</span><span style="color: #933;">14px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
.flex_ft<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #993333;">green</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">line-height</span><span style="color: #00AA00;">:</span><span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">text-align</span><span style="color: #00AA00;">:</span><span style="color: #000000; font-weight: bold;">right</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>HTML代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;flex_wrap&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;flex_hd&quot;</span>&gt;</span>前端观察<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;flex_bd&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>这里是主内容区<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>这里是主内容区<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;flex_ft&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.qianduan.net/about&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;关于我们&quot;</span>&gt;</span>关于我们<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.qianduan.net/copyright&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;版权声明&quot;</span>&gt;</span>版权声明<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.qianduan.net/sitemap&quot;</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;网站地图&quot;</span>&gt;</span>网站地图<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div>

<p>虽然这里还会有点儿问题，比如主内容区域内容太多会被隐藏掉，因为android webkit和iOS 5之前的mobile safari均不支持overflow:scroll属性，但是这个问题还是很好解决的，比如在里面嵌套一个子容器，用js来给定个高度并使用定位来实现滚动条从而完整展示内容，或者直接使用iscroll等js库来实现。好消息是，iOS5中safari开始支持overflow:scroll了。</p>
<h3>不足之处</h3>
<p>如果你关注网站性能之类的话，可能已经发现了一些问题：</p>
<ul>
<li>加载很多不需要的资源，比如多余的图片和样式内容</li>
<li>带宽限制</li>
<li>移动终端的内存和CPU限制</li>
<li>图片大小和屏幕大小不匹配</li>
</ul>
<p>嗯，任何一个方案都不是完美的，但也不会很糟糕。下面我们会提到一些可行的优化方案：</p>
<h4>HTML5本地存储</h4>
<p>对于支持HTML5 appcache /manifest特性的浏览器，我们可以将一些不常改动的静态资源存储到本地，比如css文件，css中用到的图片，以及一些js文件等：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="text" style="font-family:monospace;">CACHE MANIFEST
NETWORK:
/*
&nbsp;
CACHE:
img/bg.jpg
img/days.otf
slideshow.js
slideshow.css
classList.js</pre></td></tr></table></div>

<p>然后将文件保存为manifest格式，并在HTML标签中引入即可：</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> manifest<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;responsive.manifest&quot;</span>&gt;</span></pre></div></div>

<p>这样，用户在第一次访问的时候会慢一点儿，但是后续访问会很快，3G网络中也能为用户节省带宽。</p>
<h4>移动设备优先</h4>
<p>一种新的设计流程是，先为移动设备设计界面，然后将PC端作为一个扩展。</p>
<p>这样做的好处是显而易见的，移动终端不会加载多余的资源，也不会因为PC端的样式而重绘页面，同时也不会影响PC端的表现。</p>
<h4>流体图片(fluid image)</h4>
<p>页面中的图片有时会比手机/平板的屏幕（viewport）宽，这样会将页面容器撑开，但是移动浏览器又不能scroll，结果图片被切掉一部分，然后还会有一部分内容被隐藏掉，用户看不到。</p>
<p>解决这个问题的方法很简单，将img的最大宽度设置成100%就可以了：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">img<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">max-width</span><span style="color: #00AA00;">:</span><span style="color: #933;">100%</span><span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>嗯，这里的前提是，没有给img标签设置宽度和高度，否则显示会有问题。另外不建议直接设置width=&#8221;100%&#8221;，因为会把小图拉大，模糊显示。</p>
<p>同理，video标签和iframe标签的宽度也可以这样做，而且最好不要使用iframe，宽度是个问题，性能也是一个方面吧。</p>
<h4>CSS3 image</h4>
<p>这个方法有些惊艳</p>
<p>我们都知道可以用::before和::after伪元素+content属性来动态显示一些内容或者做其它很酷的事情，而且在CSS 2.1中即被支持。不过content属性在CSS 2.1中只能用于这两个伪元素中，而在CSS3中，任何元素都可以使用content属性了，这个方法就是结合css3 的attr属性和HTML自定义属性的功能：</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;image.jpg&quot;</span> </span>
<span style="color: #009900;">	data-src-600px<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;image-600px.jpg&quot;</span> </span>
<span style="color: #009900;">	data-src-800px<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;image-800px.jpg&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;</span></pre></div></div>

<p>然后用media query来动态赋值：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #a1a100;">@media (min-device-width:600px) { </span>
	img<span style="color: #00AA00;">&#91;</span>data-src<span style="color: #933;">-600px</span><span style="color: #00AA00;">&#93;</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> attr<span style="color: #00AA00;">&#40;</span>data-src<span style="color: #933;">-600px</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span> 
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #a1a100;">@media (min-device-width:800px) {</span>
	img<span style="color: #00AA00;">&#91;</span>data-src<span style="color: #933;">-800px</span><span style="color: #00AA00;">&#93;</span> <span style="color: #00AA00;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> attr<span style="color: #00AA00;">&#40;</span>data-src<span style="color: #933;">-800px</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">url</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #00AA00;">&#125;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<p>当然，这种方法也有不足之处，比如PC端宽屏幕需要加载两个图片文件，然后我们也要为此准备多张图片文件等。</p>
<h4>pre标签</h4>
<p>有的网站，比如，像前端观察这样的技术博客，会用pre来显示源代码，而浏览器对pre标签默认设置white-space:pre，这样，代码就不会换行，从而撑开子容器，造成内容被隐藏的问题：</p>
<p><img class="alignnone size-full wp-image-12877" title="pre" src="http://www.qianduan.net/wp-content/uploads/2011/11/pre.jpg" alt="" width="427" height="427" /></p>
<p>右边的文字被隐藏掉了。</p>
<p>解决方法很简单：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">pre<span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">white-space</span><span style="color: #3333ff;">:pre-wrap
	</span>word-wrap<span style="color: #00AA00;">:</span> break-word<span style="color: #00AA00;">;</span>
	word-break<span style="color: #00AA00;">:</span> break-all<span style="color: #00AA00;">;</span><span style="color: #808080; font-style: italic;">/*如果要兼容IE，可以加上这句，连续字母断行的问题伤不起啊。。。。*/</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>当然，不只是pre标签，关键是white-space和word-break属性的值。</p>
<p>嗯，主要的技术和技巧其实就这些，大家不会陌生。下面是一些比较有用的工具什么的：</p>
<h3>响应式网页设计工具与资源</h3>
<p>国外在响应式网页设计上已经走的很远了，已经有很多工具和资源供我们参考和使用：</p>
<h4>CSS 框架</h4>
<ul>
<li><a href="http://stuffandnonsense.co.uk/projects/320andup/">320 and Up</a>
</li>
<li><a href="http://html5boilerplate.com/mobile/">Mobile Boilerplate</a>
</li>
<li><a href="http://goldengridsystem.com/" class="external" rel="nofollow">Golden Grid System</a>
</li>
<li><a href="http://thatcoolguy.github.com/gridless-boilerplate/" class="external" rel="nofollow">Gridless</a>
</li>
<li><a href="http://lessframework.com/" class="external" rel="nofollow">Less Framework</a>
</li>
<li><a href="http://cssgrid.net/" class="external" rel="nofollow">1140 CSS Grid System</a>
</li>
<li><a href="http://www.designinfluences.com/fluid960gs/" class="external" rel="nofollow">Fluid 960 Grid System</a>
</li>
<li><a href="http://simplegrid.info/" class="external" rel="nofollow">SimpleGrid</a>
</li>
<li><a href="http://www.getskeleton.com/" class="external" rel="nofollow">Skeleton</a>
</li>
</ul>
<h4>实用工具</h4>
<ul>
<li><a href="http://filamentgroup.com/lab/respondjs_fast_css3_media_queries_for_internet_explorer_6_8_and_more/">Respond.js</a>，让IE6-8支持meidia query
</li>
<li><a href="http://mattkersley.com/responsive/">Responsive Design Testing</a> 简单而方便的测试网站的响应性的工具，输入网址即可看到网站在不同分辨率下的表现</li>
</li>
<li><a href="http://resizemybrowser.com/">Resize My Browser</a> 缩放浏览器工具，不过不支持chrome和opera浏览器
</li>
<li><a href="http://seesparkbox.com/foundry/media_query_bookmarklet">Media Query Bookmarklet</a> 顾名思义，这是一个关于media query的书签工具
</li>
<li><a href="http://protofluid.com/">ProtoFluid</a> 在线查看和调试网站对移动终端兼容性的工具，很赞
</li>
<li><a href="http://quirktools.com/screenfly/">ScreenFly</a> 和ProtoFluid类似
</li>
<li><a href="http://responsivepx.com/" class="external" rel="nofollow">responsivepx</a> 更直观的测试网站对不同分辨率的适配性
</ul>
<h3>争论和总结</h3>
<p>响应式网页设计被提出以来，争论就不断，其实核心问题只有两个个：太多的资源请求和有限的终端支持之间的矛盾、响应式的网页设计和移动终端在用户体验和视觉风格上的差异。前者不能容忍在弱小的手机/平板上通过龟速的3G/2G网络来加载一个笨重的PC端页面，而后者纠结响应式网站不像手机网站。</p>
<p>我的想法是，具体问题具体分析，比如，强内容的网站，完全可以尝试响应式网站，而重视觉和功能的网站，则可以尝试建立一个独立的移动网站。</p>
<p>另外，显然，响应式网页设计的大部分技术，是可以用在WebApp开发中的。</p>
<p>最后，欢迎各种吐槽、各种批评、各种建议、各种发散、以及各种新观点新技术～～欢迎发表评论～～</p>
<p>PS：如果你手上有android/iPhone，可以直接访问下<a href="http://www.qianduan.net" title="前端观察">前端观察</a>。 :)</p>
<h4>参考文章：</h4>
<ul>
<li><a href="http://www.smashingmagazine.com/2011/07/22/responsive-web-design-techniques-tools-and-design-strategies/">Responsive Web Design Techniques, Tools and Design Strategies</a></li>
<li>
<a href="http://www.alistapart.com/articles/responsive-web-design/">Responsive Web&nbsp;Design</a></li>
<li><a href="http://www.webdesignerdepot.com/2011/09/the-ultimate-responsive-web-design-roundup/" rel="bookmark" title="Permanent Link to The ultimate responsive web design roundup">The ultimate responsive web design roundup</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/responsive-web-design.html/feed</wfw:commentRss>
		<slash:comments>32</slash:comments>
		</item>
		<item>
		<title>iOS 5中safari带来的新特性</title>
		<link>http://www.qianduan.net/ios-5-brings-new-features-in-safari.html</link>
		<comments>http://www.qianduan.net/ios-5-brings-new-features-in-safari.html#comments</comments>
		<pubDate>Sat, 15 Oct 2011 15:32:36 +0000</pubDate>
		<dc:creator>神飞</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front News]]></category>
		<category><![CDATA[Resource]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[ios5]]></category>
		<category><![CDATA[Safari]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12832</guid>
		<description><![CDATA[随着iPhone4s的发布，iOS5也正是发布了，增加了很多很有用的新特性，不过对于前端开发者来说，最关心的还是浏览器，让我们来看一下苹果为iOS5中的safari新增恶劣哪些新特性吧。... ]]></description>
			<content:encoded><![CDATA[<p>随着iPhone4s的发布，iOS5也正是发布了，增加了很多很有用的新特性，不过对于前端开发者来说，最关心的还是浏览器，让我们来看一下苹果为iOS5中的safari新增了哪些新特性吧。<span id="more-12832"></span></p>
<h3>CSS</h3>
<ul>
<li>终于支持position:fixed了；</li>
<li>支持overflow:scroll了，通过-webkit-overflow-scrolling: touch;来实现：

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">selector<span style="color: #00AA00;">&#123;</span>
<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span><span style="color: #993333;">scroll</span><span style="color: #00AA00;">;</span>
-webkit-overflow-scrolling<span style="color: #00AA00;">:</span> touch<span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

</li>
<li>CSS3 gradient语法更新，将-webkit-gradient(linear|radial)拆分为，-webkit-linear-gradient和-webkit-radial-gradient。PS，年初发表过一篇关于《<a title="查看 webkit对于CSS3渐变样式语法的更新" href="http://www.qianduan.net/webkit-style-syntax-for-the-gradient-update-css3.html">webkit对于CSS3渐变样式语法的更新</a>》的文章，看来现在就剩下android的webkit了。</li>
</ul>
<h3>HTML5</h3>
<ol>
<li>新的兼容HTML5的解释器(parser)</li>
<li>表单增强新增时间类型date, datetime, month, time和range支持，好赞：
<p><img title="ios-date-input" src="http://www.qianduan.net/wp-content/uploads/2011/10/ios-date-input.png" alt="" width="320" height="480" /></p>
<p><img title="ios-datetime-input" src="http://www.qianduan.net/wp-content/uploads/2011/10/ios-datetime-input.png" alt="" width="320" height="480" /></p>
<p><img title="ios-month-input" src="http://www.qianduan.net/wp-content/uploads/2011/10/ios-month-input.png" alt="" width="320" height="480" /></p>
<p><img title="ios-time-input" src="http://www.qianduan.net/wp-content/uploads/2011/10/ios-time-input.png" alt="" width="320" height="480" /></p>
<p><img title="ios-range-input" src="http://www.qianduan.net/wp-content/uploads/2011/10/ios-range-input.png" alt="" /></p>
<p>同时iOS5中safari也增强了number类型的input的验证功能。</li>
</ol>
<ul>
<li>支持<a title="web workers on whatwg" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/workers.html" target="_blank">web workers</a> ，传说iOS3中短暂出现过web workers，不过后来消失了，现在又回来了。。。</li>
<li>增强ECMAScript5，测试结果显示支持情况跟上PC版的Safari 5.1了。</li>
<li>终于支持contenteditable属性</li>
<li>支持async script</li>
</ul>
<h3>其它特性：</h3>
<ul>
<li><a title="维基百科：HTTP管线化" href="http://zh.wikipedia.org/wiki/HTTP%E7%AE%A1%E7%B7%9A%E5%8C%96" target="_blank">HTTP Pipelining</a>支持，Android中webkit和Opera都支持了，Mobile Safari也跟进了。想要具体了解的可以看下<a title="HTTP Pipelining – Big in Mobile" href="http://www.blaze.io/mobile/http-pipelining-big-in-mobile/" target="_blank">这里</a>和<a title="HTTP Pipelining – Request Distribution Algorithms " href="http://www.blaze.io/technical/http-pipelining-request-distribution-algorithms/" target="_blank">这里</a>。</li>
<li>inline SVG</li>
<li>UIWebView 和主屏幕webapp升级到Nitro引擎(看下面的测试数据)</li>
<li>支持MathML</li>
<li>CSS和其它文件<span style="color: #ff0000;"><strong>不再并行</strong></span>下载，这貌似挺悲剧的，不过我很感兴趣这和HTTP Pipelining的关系。。。</li>
<li>GPU硬件加速，虽然这个之前也有，但是效果并不是很显著，现在，在微软用于标榜IE9硬件加速的测试中，iOS达到了40FPS，而Windows Phone 7是24FPS，Nexus 2则只有可怜的10FPS——iOS4中只有2FPS。。。</li>
</ul>
<h3>一些测试数据</h3>
<ul>
<li>HTMLTest：267分，iOS 4.3中是206分</li>
<li>Sunspider JS Benchmark，JS性能测试：
<p><img class="alignnone size-full wp-image-12842" title="ios5benchmark" src="http://www.qianduan.net/wp-content/uploads/2011/10/ios5benchmark.png" alt="" width="564" height="349" /></p>
<p>可见首页webapp是用上Nitro引擎了，但是悲剧的是UIWebView的性能却下降了。</p>
<p>PS:中间的home screen page，<a href="http://csshouse.net/" target="_blank">@Jeanne</a> 美女说是主屏幕，不过我的理解就是webapp，如有更好的翻译欢迎讨论。</p>
</li>
</ul>
<h3>总结</h3>
<p>可以看出iOS 5中Safari改进还是蛮大的，而从最后webapp和UIWebView的性能测试来看，或许苹果更加重视了webapp，而不太赞成UIWebView+webapp的这种混搭的方式，虽然很多流行的app都是这种实现，比如著名的PhoneGap框架和Facebook/twitter等流行的在国内不能用的APP。。</p>
<h4>参考资源：</h4>
<ul>
<li><a href="http://www.blaze.io/mobile/ios5-top10-performance-changes/" target="_blank">iOS 5 Top 10 Browser Performance Changes</a></li>
<li><a href="http://davidbcalhoun.com/2011/new-mobile-safari-stuff-in-ios5-position-fixed-overflow-scroll-new-input-type-support-web-workers-ecmascript-5" target="_blank">New Mobile Safari stuff in iOS5</a></li>
<li><a href="http://www.mobilexweb.com/blog/ios-5-iphone-and-ipad-html5" target="_blank">Safari on iOS 5, HTML5 evolution for iPhone and iPad</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/ios-5-brings-new-features-in-safari.html/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Css选择器命名规则</title>
		<link>http://www.qianduan.net/css-selectors-naming-2.html</link>
		<comments>http://www.qianduan.net/css-selectors-naming-2.html#comments</comments>
		<pubDate>Tue, 04 Oct 2011 15:30:57 +0000</pubDate>
		<dc:creator>Sky_志刚</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[选择器]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12769</guid>
		<description><![CDATA[操作系统版本：Windows 7 浏览器版本：IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.356.2 dev 受影响的浏览器：所有浏览器. 经常讲到css选择器命名规则，其实不只是在团队合作基础上来讲这个，每个浏... ]]></description>
			<content:encoded><![CDATA[<p>操作系统版本：Windows 7</p>
<p>浏览器版本：IE6,IE7,IE8,Firefox 3.6.2,Safari 4.0.4,Chrome 5.0.356.2 dev</p>
<p>受影响的浏览器：所有浏览器.</p>
<p>经常讲到css选择器命名规则，其实不只是在团队合作基础上来讲这个，每个浏览器,IE产品，火狐，苹果，谷歌，都会因为命名不规范会产生不同样式..</p>
<h3>一、关于选择器的命名</h3>
<p style="background: #FFFAA2;padding: 5px">W3C CSS2.1的 4.1.3 节中提到：标识符（包括选择器中的元素名，类和ID）只能包含字符[a- zA-Z0-9]和ISO 10646字符编码U+00A1及以上，再加连字号（-）和下划线（_）；它们不能以 数字，或一个连字号后跟数字为开头。它们还可以包含转义字符加任何ISO 10646字符作为一个数 字编码。</p>
<p>由于设计到的字符很多，本文只针对字符[a-zA-Z0-9]，再加连字号（-）和下划线（_）进行讨论。 关于CSS中允许使用的字符和大小写信息，请参考W3C CSS2.1的4.1.3节</p>
<h3 style="text-align: left" align="center">二、差异及可能产生的问题</h3>
<p style="background: #FFFAA2;padding: 5px">在W3C CSS2.1说明文档中，只提到选择器标识符不能以数字，或一个连字号后跟数字为开头。除 此之外，没有相关的说明。那么各浏览器下的表现是否遵循这一规则呢？</p>
<h4>请观察如下代码：</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">&nbsp;
div<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">160px</span><span style="color: #00AA00;">;</span>height<span style="color: #00AA00;">:</span><span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>font-<span style="color: #000000; font-weight: bold;">size</span><span style="color: #00AA00;">:</span><span style="color: #933;">12px</span><span style="color: #00AA00;">;</span>line-<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>background- <span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">yellow</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.f-1_f_</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.1<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.123456<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.2demo<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.2-demo <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.2_demo <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.-demo</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.-2demo <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
._demo <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
._2demo <span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.-<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.---<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">._</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.——<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
._-<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.-_</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
.-<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.---_</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.---123</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.__123</span><span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">background-color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#A8A8A8</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;f-1_f_&quot;</span>&gt;</span>字母开头<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;1&quot;</span>&gt;</span>单个数字<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;123456&quot;</span>&gt;</span>多个数字<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2demo&quot;</span>&gt;</span>数字开头 + [a-z][A-Z]<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2-demo&quot;</span>&gt;</span>数字 + &quot;-&quot; 开头<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;2_demo&quot;</span>&gt;</span>数字 + &quot;_&quot; 开头<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;-demo&quot;</span>&gt;</span>连字符(-)开头 + [a-z][A-Z]<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;-2demo&quot;</span>&gt;</span>连字符(-) + 数字 开头<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_demo&quot;</span>&gt;</span>下划线(_)开头 + [a-z][A-Z]<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_2demo&quot;</span>&gt;</span>下划线(_) + 数字 开头<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;-&quot;</span>&gt;</span>单个连字符(-)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;---&quot;</span>&gt;</span>多个连字符(-)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_&quot;</span>&gt;</span>单个下划线(_)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot; 	&quot;</span>&gt;</span>多个下划线(_)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;_-&quot;</span>&gt;</span>下划线(_) + 连字符(-)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;-_&quot;</span>&gt;</span>连字符(-) + 下划线(_)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot; 	-&quot;</span>&gt;</span>多个下划线(_) + 连字符(-)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;---_&quot;</span>&gt;</span>多个连字符(-) + 下划线(_)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;---123&quot;</span>&gt;</span>多个连字符(-) + 数字<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot; 	123&quot;</span>&gt;</span>多个下划线(_) + 数字<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div>

<p>看看各浏览器下面的结果</p>
<p><a href="http://www.qianduan.net/css-selectors-naming-2.html/qq-e6-88-aa-e5-9b-be20111004223132-2-2" rel="attachment wp-att-12771"><img class="size-medium wp-image-12771 alignleft" src="http://www.qianduan.net/wp-content/uploads/2011/10/QQ截图201110042231322-300x26.png" alt="" width="300" height="26" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://www.qianduan.net/css-selectors-naming-2.html/qq-e6-88-aa-e5-9b-be20111004223247-2" rel="attachment wp-att-12773"><img class="alignleft size-medium wp-image-12773" src="http://www.qianduan.net/wp-content/uploads/2011/10/QQ截图201110042232471-300x180.png" alt="" width="300" height="180" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>观察上表，分析各浏览器下的表现，总结如下</p>
<p><a href="http://www.qianduan.net/css-selectors-naming-2.html/qq-e6-88-aa-e5-9b-be20111004223601" rel="attachment wp-att-12772"><img class="alignleft size-medium wp-image-12772" src="http://www.qianduan.net/wp-content/uploads/2011/10/QQ截图20111004223601-300x101.png" alt="" width="300" height="101" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>从上面看到，我们可以直观的了解到选择器的命名在各浏览器下的支持情况有所不同。因此，如果选择器的命名不规范，将影响各浏览器下，样式渲染不一致。比如如下代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">div<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">12px</span><span style="color: #00AA00;">;</span>background-<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #993333;">yellow</span><span style="color: #00AA00;">;</span>width<span style="color: #00AA00;">:</span><span style="color: #933;">150px</span><span style="color: #00AA00;">;</span>height<span style="color: #00AA00;">:</span><span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>line- <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span><span style="color: #933;">30px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span>
.20fontsize<span style="color: #00AA00;">&#123;</span><span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span><span style="color: #933;">18px</span><span style="color: #00AA00;">;</span>background-<span style="color: #000000; font-weight: bold;">color</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#d4d4d4</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;20fontsize&quot;</span>&gt;</span>以数字开头的类名<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div>

<p>以数字开始的类名仅在IE6(Q)/IE7(Q)/IE8(Q)下被识别，而其它浏览器下则不识别（忽略该规则）</p>
<h3>三、如何避免受此问题影响</h3>
<p>坚持<span style="text-decoration: underline">以字母开头</span>命名选择器，这样可保证在所有浏览器下都能兼容。</p>
<h3>四、关于团队合作的css命名规范</h3>
<p>常用的css命名规则</p>
<p>头：header</p>
<p>内容：content/container</p>
<p>尾：footer</p>
<p>导航：nav</p>
<p>侧栏：sidebar</p>
<p>栏目：column</p>
<p>页面外围控制整体布局宽度：wrapper</p>
<p>左右中：left right center</p>
<p>登录条：loginbar</p>
<p>标志：logo</p>
<p>广告：banner</p>
<p>页面主体：main</p>
<p>热点：hot</p>
<p>新闻：news</p>
<p>下载：download</p>
<p>子导航：subnav</p>
<p>菜单：menu</p>
<p>子菜单：submenu</p>
<p>搜索：search</p>
<p>友情链接：friendlink</p>
<p>页脚：footer</p>
<p>版权：copyright</p>
<p>滚动：scroll</p>
<p>内容：content</p>
<p>标签页：tab</p>
<p>文章列表：list</p>
<p>提示信息：msg</p>
<p>小技巧：tips</p>
<p>栏目标题：title</p>
<p>加入：joinus</p>
<p>指南：guild</p>
<p>服务：service</p>
<p>注册：regsiter</p>
<p>状态：status</p>
<p>投票：vote</p>
<p>合作伙伴：partner</p>
<p>(二)注释的写法:</p>
<p>/* Footer */</p>
<p>内容区</p>
<p>/* End Footer */</p>
<p>(三)id的命名:</p>
<p>(1)页面结构</p>
<p>容器: container</p>
<p>页头：header</p>
<p>内容：content/container</p>
<p>页面主体：main</p>
<p>页尾：footer</p>
<p>导航：nav</p>
<p>侧栏：sidebar</p>
<p>栏目：column</p>
<p>页面外围控制整体布局宽度：wrapper</p>
<p>左右中：left right center</p>
<p>(2)导航</p>
<p>导航：nav</p>
<p>主导航：mainbav</p>
<p>子导航：subnav</p>
<p>顶导航：topnav</p>
<p>边导航：sidebar</p>
<p>左导航：leftsidebar</p>
<p>右导航：rightsidebar</p>
<p>菜单：menu</p>
<p>子菜单：submenu</p>
<p>标题: title</p>
<p>摘要: summary</p>
<p>(3)功能</p>
<p>标志：logo</p>
<p>广告：banner</p>
<p>登陆：login</p>
<p>登录条：loginbar</p>
<p>注册：regsiter</p>
<p>搜索：search</p>
<p>功能区：shop</p>
<p>标题：title</p>
<p>加入：joinus</p>
<p>状态：status</p>
<p>按钮：btn</p>
<p>滚动：scroll</p>
<p>标签页：tab</p>
<p>文章列表：list</p>
<p>提示信息：msg</p>
<p>当前的: current</p>
<p>小技巧：tips</p>
<p>图标: icon</p>
<p>注释：note</p>
<p>指南：guild</p>
<p>服务：service</p>
<p>热点：hot</p>
<p>新闻：news</p>
<p>下载：download</p>
<p>投票：vote</p>
<p>合作伙伴：partner</p>
<p>友情链接：link</p>
<p>版权：copyright</p>
<p>(四)class的命名:</p>
<p>(1)颜色:使用颜色的名称或者16进制代码,如</p>
<p>.red { color: red; }</p>
<p>.f60 { color: #f60; }</p>
<p>.ff8600 { color: #ff8600; }</p>
<p>（2）字体大小,直接使用&#8221;font+字体大小&#8221;作为名称,如</p>
<p>.font12px { font-size: 12px; }</p>
<p>.font9pt {font-size: 9pt; }</p>
<p>(3)对齐样式,使用对齐目标的英文名称,如</p>
<p>.left { float:left; }</p>
<p>.bottom { float:bottom; }</p>
<p>(4)标题栏样式,使用&#8221;类别+功能&#8221;的方式命名,如</p>
<p>.barnews { }</p>
<p>.barproduct { }</p>
<p>注意事项::</p>
<p>1.一律小写;</p>
<p>2.尽量用英文;</p>
<p>3.不加中杠和下划线;</p>
<p>4.尽量不缩写，除非一看就明白的单词.</p>
<p>主要的 master.css</p>
<p>模块 module.css</p>
<p>基本共用 base.css</p>
<p>布局，版面 layout.css</p>
<p>主题 themes.css</p>
<p>专栏 columns.css</p>
<p>文字 font.css</p>
<p>表单 forms.css</p>
<p>补丁 mend.css</p>
<p>打印 print.css</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/css-selectors-naming-2.html/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>一些上流的CSS3图片样式</title>
		<link>http://www.qianduan.net/css3-image-styles.html</link>
		<comments>http://www.qianduan.net/css3-image-styles.html#comments</comments>
		<pubDate>Sat, 24 Sep 2011 11:13:25 +0000</pubDate>
		<dc:creator>神飞</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[before]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[伪元素]]></category>
		<category><![CDATA[圆角]]></category>
		<category><![CDATA[渐变]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12745</guid>
		<description><![CDATA[直接在图片元素上直接应用CSS3 inset box-shadow 或 border-radius时，浏览器并不能完美的渲染它们。不过，如果把这个图片用作背景图，你就可以可以给它添加任何样式了，浏览器也会很好地渲染... ]]></description>
			<content:encoded><![CDATA[<div>译自：<a href="http://webdesignerwall.com/tutorials/css3-image-styles">CSS3 Image Styles</a><br />
中文：<a href="http://www.qianduan.net/css3-image-styles.html">CSS3图片样式</a><br />
请尊重版权，转载请注明来源，多谢～～</p>
<hr />
</div>
<p>直接在图片元素上直接应用CSS3 inset box-shadow 或 border-radius时，浏览器并不能完美的渲染它们。不过，如果把这个图片用作背景图，你就可以可以给它添加任何样式了，浏览器也会很好地渲染。<a href="http://darcyclarke.me/">Darcy Clarke</a>和我做了一个简单的教程，讲解如何使用jQuery来动态地制作完美的<a href="http://webdesignerwall.com/tutorials/css3-rounded-image-with-jquery">圆角图片</a>。今天我将重温这个主题然后向你展示使用background-image的方法可以实现多少效果。我将向你展示如何使用box-shadow、border-radius 和 transition 来创作不同的图片风格。</p>
<p><span id="more-12745"></span></p>
<p><a href="http://webdesignerwall.com/demo/css3-image-styles/">先看下demo</a></p>
<h3>问题 (见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>看一下demo，请注意在第一行的图片中使用了border-radius和inset box-shadow。Firefox会直接在图片元素上渲染border-radius，但不会渲染inset box-shadow。chrome/safari则两者都不渲染。</p>
<p class="image"><img src="http://img.qianduan.net/uploads/2011/09/rounded-corner-problem.jpg" alt="border-radius problem"></p>
<h3>解决方案</h3>
<p>要让 border-radius 和 inset box-shadow 正常工作，解决方案就是将实际图片变作background-image. </p>
<p><img src="http://img.qianduan.net/uploads/2011/09/background-image-workaround.png" alt="code"></p>
<h3>动态方法</h3>
<p>要想动态实现，可以简单的使用jQuery为每个图片元素外面包一个背景图片。下面的jQuery代码会将所有图片外面包一个span标签然后将图片用作其背景图片(jQuery代码由<a href="http://darcyclarke.me/">Darcy Clarke</a>编写)。</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;</span>
$(document).ready(function(){
&nbsp;
	$(&quot;img&quot;).load(function() {
		$(this).wrap(function(){
			return '<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;image-wrap ' + $(this).attr('class') + '&quot;</span> </span>
<span style="color: #009900;">				<span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;position:relative; display:inline-block; background:url(' + $(this).attr('src') + ') no-repeat center center; width: ' + $(this).width() + 'px; height: ' + $(this).height() + 'px;&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>';
		});
		$(this).css(&quot;opacity&quot;,&quot;0&quot;);
	});
});
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></td></tr></table></div>

<h4>输出</h4>
<p>上面的脚本将会输出下面的HTML代码：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">span</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;image-wrap &quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;position:relative; display:inline-block; background:url(image.jpg) no-repeat center center; width: 150px; height: 150px;&quot;</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;image.jpg&quot;</span> <span style="color: #000066;">style</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;opacity: 0;&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">span</span>&gt;</span></pre></td></tr></table></div>

<h3>圆形图片(见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>现在，图片被用作背景图了，你可以给它添加任意你想要的样式上去。下面是一个简单的使用border-radius实现的圆形图片。如果你对CSS3不太了解，可以阅读下<a href="http://webdesignerwall.com/tutorials/the-basics-of-css3">Basics of CSS3</a>，也可以<a href="http://www.qianduan.net/?s=css3" title="css3">搜索一下前端观察</a>。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/circle-border-radius.jpg" alt="circle image"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
</pre></td><td class="code"><pre class="css" style="font-family:monospace;">.<span style="color: #993333;">circle</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">50em</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">50em</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">50em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>卡片风格(见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>下面是一个像卡片的图片风格，用了多个inset box-shadow。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/card-style.jpg" alt="card style"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.card</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.8<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.4<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.8<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.4<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.8<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.4<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>浮雕风格 (见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>通过一点儿改变，我可以将卡片风格转换为浮雕。。。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/embossed-style.jpg" alt="embossed image"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.embossed</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.8<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-7px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-9px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.8<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-7px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-9px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.8<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-7px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-9px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>软浮雕风格 (见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>和浮雕风格真的很像，我只是加了1px的虚化～～</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/soft-embossed.jpg" alt="soft embossed"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.soft-embossed</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">4px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #933;">1px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-9px</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-12px</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">4px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #933;">1px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-9px</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-12px</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">4px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #933;">1px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-9px</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-12px</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>剪贴画风格(见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>同样只是inset box-shadow，我可以让它看起来像剪贴画。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/cutout-effect.jpg" alt="cutout effect"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.cut-out</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.2<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">4px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.2<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">4px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.2<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">4px</span> <span style="color: #933;">5px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>变形和发光 (见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>这个例子中，我为图片外容器增加了变形。mouseover的时候，它将从圆角形状变为圆形，然后增加了发光效果。发光效果通过多重box-shadow实现。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/morphing-glowing.jpg" alt="morphing glowing"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.morphing-glowing</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
	-moz-transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
	transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.morphing-glowing</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">20px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">20px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">20px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">20px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">20px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">20px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">60em</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">60em</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">60em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>发光遮罩 (见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>发光渐变遮罩是通过:after伪元素实现的。。。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/glossy-overlay.jpg" alt="glossy overlay"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.glossy</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.glossy</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">' '</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -moz-linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.7</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.1<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -webkit-gradient<span style="color: #00AA00;">&#40;</span>linear<span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.7</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">100%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.1<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.7</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.1<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>倒影 (见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>这个例子中，我将遮罩渐变移动到底部，于是它就成了倒影。。。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/reflection.jpg" alt="reflection"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.reflection</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">' '</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-31px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-top-left-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-webkit-border-top-right-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius-topleft<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius-topright<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-top-left-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-top-right-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -moz-linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -webkit-gradient<span style="color: #00AA00;">&#40;</span>linear<span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">100%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.reflection</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-8px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>光泽和倒影(见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>这个例子中，我同时使用了:before和:after伪元素来实现带倒影的光泽效果。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/glossy-reflection.jpg" alt="glossy + reflection"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.glossy-reflection</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
	-moz-transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
	transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.glossy-reflection</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:before </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">' '</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -moz-linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.7</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.1<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -webkit-gradient<span style="color: #00AA00;">&#40;</span>linear<span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.7</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">100%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.1<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.7</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.1<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.glossy-reflection</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">' '</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-31px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-top-left-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-webkit-border-top-right-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius-topleft<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius-topright<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-top-left-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-top-right-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -moz-linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -webkit-gradient<span style="color: #00AA00;">&#40;</span>linear<span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">100%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">230</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>胶带风格(见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>这里使用了:after伪元素来在图片顶部实现了胶带风格的渐变。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/tape-style.jpg" alt="tape style"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.tape</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.7<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #933;">3px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.4<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-moz-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.7<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #933;">3px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.4<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.7<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">2px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">-1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.5<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #933;">3px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.4<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.tape</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">' '</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">60px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">25px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-10px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">margin-left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">-30px</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">solid</span> <span style="color: #933;">1px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">137</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">130</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">48</span><span style="color: #00AA00;">,</span>.2<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -moz-linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">254</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">243</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">127</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">240</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">224</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">54</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -webkit-gradient<span style="color: #00AA00;">&#40;</span>linear<span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> <span style="color: #000000; font-weight: bold;">left</span> <span style="color: #000000; font-weight: bold;">bottom</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">254</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">243</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">127</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> color-stop<span style="color: #00AA00;">&#40;</span><span style="color: #933;">100%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">240</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">224</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">54</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> linear-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">254</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">243</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">127</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">0%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">240</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">224</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">54</span><span style="color: #00AA00;">,</span>.6<span style="color: #00AA00;">&#41;</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	-webkit-box-shadow<span style="color: #00AA00;">:</span> <span style="color: #993333;">inset</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span>.3<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">0</span> <span style="color: #933;">1px</span> <span style="color: #cc66cc;">0</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span>.2<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>变形和着色 (见 <a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>在下面的这个例子中，我用了 :after元素来在mouseover的时候添加发光渐变。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/morphing-tinting.jpg" alt="morphing + tinting"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.morphing-tinting</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
	-moz-transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
	transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.morphing-tinting</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:hover </span><span style="color: #00AA00;">&#123;</span>
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.morphing-tinting</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">' '</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
	-moz-transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
	transition<span style="color: #00AA00;">:</span> 1s<span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
<span style="color: #6666ff;">.morphing-tinting</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:hover</span><span style="color: #3333ff;">:after  </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -webkit-gradient<span style="color: #00AA00;">&#40;</span>radial<span style="color: #00AA00;">,</span> <span style="color: #933;">50%</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">40</span><span style="color: #00AA00;">,</span> <span style="color: #933;">50%</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">80</span><span style="color: #00AA00;">,</span> from<span style="color: #00AA00;">&#40;</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> to<span style="color: #00AA00;">&#40;</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -moz-radial-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #933;">50%</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">circle</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">40px</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">80px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>羽化边缘的圆形(见<a href="http://webdesignerwall.com/demo/css3-image-styles/">demo</a>)</h3>
<p>发散渐变也可以用作遮罩层来实现圆形羽化效果。</p>
<p><img src="http://img.qianduan.net/uploads/2011/09/feather-edge.jpg" alt="feather circle"></p>
<h4>CSS</h4>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.feather</span> <span style="color: #6666ff;">.image-wrap</span> <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span>
&nbsp;
	-webkit-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
	-moz-border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
	border-radius<span style="color: #00AA00;">:</span> <span style="color: #933;">30em</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span>
&nbsp;
<span style="color: #6666ff;">.feather</span> <span style="color: #6666ff;">.image-wrap</span><span style="color: #3333ff;">:after  </span><span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span> <span style="color: #ff0000;">' '</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -webkit-gradient<span style="color: #00AA00;">&#40;</span>radial<span style="color: #00AA00;">,</span> <span style="color: #933;">50%</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">50</span><span style="color: #00AA00;">,</span> <span style="color: #933;">50%</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">70</span><span style="color: #00AA00;">,</span> from<span style="color: #00AA00;">&#40;</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span> to<span style="color: #00AA00;">&#40;</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span> -moz-radial-gradient<span style="color: #00AA00;">&#40;</span><span style="color: #933;">50%</span> <span style="color: #933;">50%</span><span style="color: #00AA00;">,</span> <span style="color: #993333;">circle</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">50px</span><span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">1</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">70px</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></td></tr></table></div>

<h3>浏览器支持</h3>
<p>本文的方法可以在支持border-radius、box-shadow、:before和:after伪元素的浏览器上，比如Chrome/Safari/Firefox等，而在一些落后的浏览器比如IE9(包括IE9)则不能完全支持——IE6/7/8没有任何表现，IE9会有普通的圆角。</p>
<h3>发挥你的创造力</h3>
<p>正如你看到的，你几乎可以使用:before和:after伪元素实现任何效果。如果你有用CSS3实现更多的创意图片效果，欢迎通过评论与大家分享。</p>
<p>PS,本文中使用:before/:after来实现伪元素，其实我更建议使用双冒号来实现，虽然单冒号有更多的浏览器支持，但是对于这些CSS3实现的效果来说，双冒号更安全一些。更多的原因，可以参考《<a href="http://www.qianduan.net/before-and-before-the-difference-between.html" rel="reference">:before和::before的区别</a>》</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/css3-image-styles.html/feed</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>IE10将增强对HTML5和CSS3的支持</title>
		<link>http://www.qianduan.net/ie10-will-enhance-support-for-html5-and-css3.html</link>
		<comments>http://www.qianduan.net/ie10-will-enhance-support-for-html5-and-css3.html#comments</comments>
		<pubDate>Wed, 14 Sep 2011 04:33:00 +0000</pubDate>
		<dc:creator>神飞</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front News]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12734</guid>
		<description><![CDATA[Windows 8 终于发布了，虽然现在可用的只是开发者预览版，好消息是，IE 10 也随着发了，虽然现在还只有Windows 8可用。我们来看下IE10都有哪些新特性吧。... ]]></description>
			<content:encoded><![CDATA[<p>Windows 8 终于发布了，虽然现在可用的只是开发者预览版，好消息是，IE 10 也随着发了，虽然现在还只有Windows 8可用。我们来看下IE10都有哪些新特性吧。<span id="more-12734"></span></p>
<p>IE开发者中心给到了一份<a href="http://msdn.microsoft.com/en-us/ie/gg192966" target="_blank">详细的针对前端开发者的文档，列出了IE10支持的HTML5和CSS3新特性</a>。嗯，它终于跟上了：</p>
<h3>CSS3</h3>
<ul>
<li>css region</li>
<li>css3多列</li>
<li>Flexbox</li>
<li>grid</li>
<li>定位浮动(positioned float)</li>
<li>3D变换(3D transfrom)</li>
<li>动画(animation)</li>
<li>渐变(gradient)</li>
<li>text-shadow</li>
<li>去掉样式表限制——在IE9之前的版本中，每个页面最多只能加载31个样式表文件，@import也只能最多嵌套4层，IE10中去掉了这些限制。</li>
</ul>
<h3>HTML5</h3>
<div>
<ul>
<li>脚本同步——script标签的async属性，用来定义脚本是否异步执行</li>
<li>File API</li>
<li>History</li>
<li>Parsing</li>
<li>表单验证(form validation)</li>
<li>progress和range控制——其实也可以看作HTML5表单中的功能</li>
<li>web workers</li>
<li>web sockets</li>
<li>拖拽(drag and drop)</li>
<li>应用缓存——application cache，也就是离线存储，不过需要注意的是W3C更新了离线存储配置文件的扩展名，之前是ooxx.manifest，以后要用appcache扩展。</li>
<li>spellcheck</li>
<li>频道通信(channel messaging)</li>
</ul>
</div>
<h3>其它</h3>
<div>
<ul>
<li>Indexed Database</li>
<li>Web performance API</li>
<li>SVG 滤镜效果</li>
</ul>
</div>
<p>嗯，新东西很多，看起来还是很给力的。</p>
<p>需要注意的是，IE10对CSS3新特性的支持，大部分还是需要-ms-前缀的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/ie10-will-enhance-support-for-html5-and-css3.html/feed</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>CSS3 pointer-events介绍</title>
		<link>http://www.qianduan.net/css3-pointer-event-description.html</link>
		<comments>http://www.qianduan.net/css3-pointer-event-description.html#comments</comments>
		<pubDate>Fri, 09 Sep 2011 11:26:56 +0000</pubDate>
		<dc:creator>神飞</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[pointer-events]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12685</guid>
		<description><![CDATA[其实早知道这个属性，但是一直没有去研究过。今天正好在twitter看到这个词，就去研究了下，正好解决了目前遇到的一个小难题，所以分享下。嗯，其实这是个比较简单的CSS3属性... ]]></description>
			<content:encoded><![CDATA[<p>其实早知道这个属性，但是一直没有去研究过。今天正好在twitter看到这个词，就去研究了下，正好解决了目前遇到的一个小难题，所以分享下。嗯，其实这是个比较简单的CSS3属性。<span id="more-12685"></span></p>
<p>在某个项目中，很多元素需要定位在一个地图层上面，这里就要用到很多绝对定位或者相对定位的元素，但是这样的话，这些浮在上面的div或者其它元素一般都会给个宽高，或者relative的元素可以不给宽高，这个时候，这些元素就会盖住下面的地图层，以至于地图层无法操作。。。</p>
<p>然后正好在Google map见到了类似的问题，拿来当例子来说：</p>
<p><img class="alignnone size-full wp-image-12686" title="gmap" src="http://www.qianduan.net/wp-content/uploads/2011/09/gmap.jpg" alt="" width="155" height="375" /></p>
<p>Google map中左上角的操作区域占位是挺大的，如红色框区域，然后在这个区域是无法操作地图层的。那么我们就可以<strong>给这个div设置 pointer-events:none</strong>，然后你就会发现下面的地图就可以拖动和点击了。</p>
<p>但是悲剧的是，操作区域本身却无法操作了，直接被无视掉了。不过不用担心，我们可以<strong>给里面的元素重新设置为 pointer-events:auto</strong>，当然，只给需要操作的元素区域设置。</p>
<p>貌似有点儿纠结，不过这样可以保证地图本身的可操作区域最大化。</p>
<p>嗯，上面只是个简单的例子，来看下具体用法：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">pointer-events<span style="color: #00AA00;">:</span>  <span style="color: #993333;">auto</span> | <span style="color: #993333;">none</span> | visiblePainted | visibleFill | visibleStroke | <span style="color: #993333;">visible</span> | painted | fill | stroke | all | <span style="color: #993333;">inherit</span></pre></div></div>

<p>pointer-events属性有很多值，但是对于浏览器来说，只有auto和non两个值可用，其它的几个是针对SVG的(本身这个属性就来自于SVG技术)。</p>
<h3>pointer-events属性值详解</h3>
<ul>
<li>auto——效果和没有定义pointer-events属性相同，鼠标不会穿透当前层。在SVG中，该值和visiblePainted的效果相同。</li>
<li>none——元素不再是鼠标事件的目标，鼠标不再监听当前层而去监听下面的层中的元素。但是如果它的子元素设置了pointer-events为其它值，比如auto，鼠标还是会监听这个子元素的。</li>
<li>其它属性值为SVG专用，这里不再多介绍了。</li>
</ul>
<h3>浏览器兼容性</h3>
<p>Firefox 3.6+和chrome 2.0+ 以及safari 4.0+都支持这个CSS3属性，IE6/7/8/9都不支持，Opera在SVG中支持该属性<strong>但是</strong>HTML中不支持。好吧，还是有点儿悲催～～</p>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/css3-pointer-event-description.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>纯CSS3透明水晶盒</title>
		<link>http://www.qianduan.net/transparent-crystal-with-pure-css3-box.html</link>
		<comments>http://www.qianduan.net/transparent-crystal-with-pure-css3-box.html#comments</comments>
		<pubDate>Wed, 24 Aug 2011 07:51:28 +0000</pubDate>
		<dc:creator>龙</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[变换]]></category>
		<category><![CDATA[投影]]></category>
		<category><![CDATA[透明]]></category>
		<category><![CDATA[阴影]]></category>

		<guid isPermaLink="false">http://www.qianduan.net/?p=12622</guid>
		<description><![CDATA[相信大家有看过这个例子：3D盒子，在书《CSS3 实战》上第282页有个综合实战“设计动态立体盒子”的例子，实现方式跟它一样，我的盒子也是以它为原型来设计的，不过在实现方面有做修改、... ]]></description>
			<content:encoded><![CDATA[<p>相信大家有看过这个例子：<a href="http://www.paulrhayes.com/experiments/cube/multiCubes.html" target="_blank">3D盒子</a>，在书《CSS3 实战》上第282页有个综合实战“设计动态立体盒子”的例子，实现方式跟它一样，我的盒子也是以它为原型来设计的，不过在实现方面有做修改、优化，以及增添了一些细节，下面是我的盒子Firefox截图：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/074549ZmC.jpg" alt="纯CSS3透明水晶盒" width="510" height="580" /></p>
<ol>
<li>透明化了盒子，通透性强了，因为透明了，所以背部的三个面也就要做出来了，所以总共6个面，比原作多3个；</li>
<li>投影镜像，让盒子的立体感更强烈；</li>
<li>边角线的处理，让盒子面与面之间过渡和谐。</li>
</ol>
<p>你可以点击这里下载 <a href="http://dl.dbank.com/c0832oif5b" target="_blank">源代码</a>（只是写了moz下的效果，webkit的就没写了）</p>
<p>盒子的HTML结构很简单，如下：</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>前<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>后<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>左<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>右<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>上<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span>&gt;</span>下<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></td></tr></table></div>

<p>一个大盒子包住“前、后、左、右、上、下”6个面，因为定位产生层高的关系，所以它的顺序其实是“后、下、左、前、上、右”，下面的div就会自然的叠在上面，就可以不写z-index了。</p>
<h3>一、框架定位</h3>
<p>初始化盒子面，顶好宽高、定位、背景色等属性，然后把变换原点设定在右上角。</p>
<p>盒子面一个个做，先从简单的入手，前后左右难度系数是一样的，一个斜切SKEW效果就可以实现，然后就是再分开定位：“前、后面”用 skew(0deg,20deg); Y轴正向斜切，“左、右面”用skew(0deg,-20deg); Y轴负向斜切，然后再定位对齐，基本的框就出来 了。</p>
<p>然后就是鸡肋“上、下面”，它需要旋转后斜切才能完成，所以难度系数也就上升了，这里我说 “旋转后斜切”，而不是 “斜切后旋转”，是有区别的，我的写法如下：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">-moz-transform<span style="color: #00AA00;">:</span>rotate<span style="color: #00AA00;">&#40;</span>-40deg<span style="color: #00AA00;">&#41;</span> skew<span style="color: #00AA00;">&#40;</span>30deg<span style="color: #00AA00;">,</span>20deg<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span></pre></div></div>

<p>如果这样写：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">-moz-transform<span style="color: #00AA00;">:</span>skew<span style="color: #00AA00;">&#40;</span>30deg<span style="color: #00AA00;">,</span>20deg<span style="color: #00AA00;">&#41;</span> rotate<span style="color: #00AA00;">&#40;</span>-40deg<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span></pre></div></div>

<p>那跟预期的效果不一样，确定了的斜切效果会因为后面的旋转而变形。</p>
<p>不知道你有没有亲手做过那个盒子，我在做的时候发现，为什么它顶部的“盒子盖”比侧面的“盒子壁”多嵌套了一层DIV，用来分离transform变换效果，我尝试着只用一个DIV去实现，结果证明，只要先写rotate再skew就可以保持skew的斜切效果，从而html结构跟css代码也就简洁了很多。</p>
<h3>二、边框线</h3>
<p>如果你看了代码，没有头晕的话，会不会有这么一个疑惑，为什么不用border来写边框线?</p>
<p>如果用border来写的话，border的宽度会跟width重叠，导致盒子占据的空间为200+1+1=202px，很恶心的数字，而且border也不贴着边界，如图：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/0745535aS.jpg" alt="纯CSS3透明水晶盒" /></p>
<p>所以用这样一种做法来实现边框效果：box-shadow/text-shadow ；</p>
<p>一般我们是用border来给元素描边，前几天逛论坛的时候，看到这样一种做法：<strong>给文字描边</strong>。</p>
<p>一般思维会想到text-shadow这个属性，但是它是投影，跟描边还是有区别的，text-shadow写法如下：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span><span style="color: #933;">2px</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#f00</span>；</pre></div></div>

<p>投影效果如图：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/074556D4y.jpg" alt="纯CSS3透明水晶盒" width="303" height="103" /></p>
<p>具体的投影资料可以参考我这篇文章：<a href="http://blog.sina.com.cn/s/blog_74d6cedd0100tcw9.html" target="_blank">CSS3阴影</a>；</p>
<p>上面是在没有羽化的情况下向右偏移，然而text-shadow可以多重投影，那么如果向上下左右四个方向同时投影，会怎么样呢?</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">text-shadow</span><span style="color: #00AA00;">:</span><span style="color: #933;">2px</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">,</span><span style="color: #933;">0px</span> <span style="color: #933;">-2px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">,</span><span style="color: #933;">-2px</span> <span style="color: #933;">0px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">,</span><span style="color: #933;">0px</span> <span style="color: #933;">2px</span> <span style="color: #933;">0px</span> <span style="color: #cc00cc;">#f00</span><span style="color: #00AA00;">;</span></pre></div></div>

<p>投影效果如图：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/074559bwt.jpg" alt="纯CSS3透明水晶盒" width="303" height="103" /></p>
<p>就变成适应文字形状的描边效果了，当初因为border不能满足文字的描边需求，才想出这样的法子来实现描边，那现在反推，既然border不能用来描边了，那就用box-shadow投影描边的方法来实现边框。</p>
<p>做出来的效果如下：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/074621S4r.jpg" alt="纯CSS3透明水晶盒" width="493" height="413" /></p>
<p>我给底部写了个投影：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">-webkit-box-shadow<span style="color: #00AA00;">:</span><span style="color: #933;">-1px</span> <span style="color: #933;">1px</span> <span style="color: #933;">2px</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">50</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">50</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">50</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span></pre></div></div>

<p>少许的向前向右偏移，基本的造型效果就已经出来了，但是这样还不行，盒子的透明是透明了，但是感觉朦朦胧胧的，应该加强透明的处理，要不然体现不出通透性（可以跟第一个图对比下）。</p>
<h3>三、通透性</h3>
<p><strong>每个面受光不同，所以透明度也<strong>应该</strong>有所区别</strong>，我把上，前，右对着浏览者的透明度调低于后面，然后拉出半透明到透明的渐变叠加到基本的盒子颜色上，产生层次，我都是很淡的过渡色叠加，渐变写法如下：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">background</span><span style="color: #3333ff;">:-moz-linear-</span>gradient<span style="color: #00AA00;">&#40;</span>-45deg<span style="color: #00AA00;">,</span> rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.3</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.2</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">40%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.2</span><span style="color: #00AA00;">&#41;</span> <span style="color: #933;">70%</span><span style="color: #00AA00;">,</span>rgba<span style="color: #00AA00;">&#40;</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">255</span><span style="color: #00AA00;">,</span><span style="color: #cc66cc;">0.1</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span></pre></div></div>

<p>由左上到右下拉斜线渐变，从0% 0.3到40% 0.2，70% 0.2到100% 0.1；颜色很淡，如果把系数调大调深的话，渐变色就会很明显，由于里面各个面的渐变各不同，就不一一解释，相信看了源文件就会明白的了，我也是跟着自己感觉拉的渐变，没有很专业的光线投射研究，如果有错的地方你看出来了还望指出。</p>
<p>当调整出各个面的颜色之后，发现“前上右”面与面之间有边线分割，看起来很整齐，但是后面我原本没有画边线，结果‘左’跟‘后’有点混，所以还是12条边线一一画出，妥当些，前面的边线透明度为0.6，侧面的0.4，后面的0.2，突出层次。</p>
<h3>四、投影</h3>
<p>原本想用reflect来实现投影的，但是效果不理想，投影会夹杂着原图层的背景色，做不出来半透明到透明的效果来，而且reflect是webkit独 有的，firefox没有，另想它法，然而不可能为了投影效果添加新标签，得不偿失，在抛弃IE的情况下自然而然的会想到伪类，上面边框渐变 已经用了after，所以这里的投影我用before来做，同时，伪类做投影还有个好处：<strong>伪类层是相对于原图层的，所以修改原图层位置变形状态的时候，伪类层也会相对的修改</strong>。定位在对应的面正下方，向着用户的只有前跟右，所以就做了两个投影，如图：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/074646MFr.jpg" alt="纯CSS3透明水晶盒" width="470" height="562" /></p>
<p>普通状态盒子是闭合的，如“前”面所示，伪类层也跟着原图层一样进行了斜切变换，然后我设置了鼠标滑过就“打开”的效果，仅仅是这样一行代码：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.box</span> <span style="color: #6666ff;">.box_right</span><span style="color: #3333ff;">:hover</span><span style="color: #00AA00;">&#123;</span>-moz-transform<span style="color: #00AA00;">:</span>skew<span style="color: #00AA00;">&#40;</span>0deg<span style="color: #00AA00;">,</span> 0deg<span style="color: #00AA00;">&#41;</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>让不用去修改伪类投影层，它自动的就适应了原图层，恢复了变换状态。</p>
<p>还有一个点，就是投影是由上至下呈半透明至透明的渐变，对于背景色这个很容易就可以实现，但是边框呢？</p>
<p>我还没处理边框的状态是这样的：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/074707bR3.jpg" alt="纯CSS3透明水晶盒" width="464" height="546" /></p>
<p>下面的投影是“平”，所以边框线的渐变投影务必做出来，那怎么才能实现边框的纵向渐变，网上有很多关于渐变边框的做法，不过都是<strong>横向的利用多重边框的特性</strong>来制作，纵向的没有，我尝试用border来写，给border-color写个渐变，结果根本读不出来，单单调节border的透明度也只是做到单色透明，不能渐变透明，观察之后，想出了个“烂点子”，我上面说了，投影是由上至下呈半透明至透明的渐变，那么把两个不透明的东西叠加在一起会怎么样？</p>
<p>比如一个透明度为0.3的层叠在另外一个透明度为0.3的层上面，那就会在交界的地方产生一个透明度为0.6的区域，如图：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/074728kI7.jpg" alt="纯CSS3透明水晶盒" width="552" height="290" /></p>
<p>说到这样你应该懂了吧，我写了这么一句修改面的宽度：</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;"><span style="color: #6666ff;">.under</span> <span style="color: #6666ff;">.box_before</span><span style="color: #3333ff;">:before</span><span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span><span style="color: #933;">201px</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span></pre></div></div>

<p>让两个面半透明面重叠，这样中间重叠区域就会变深，做出了“伪边框”的效果，至于到透明部分，0 + 0 = 0，所以透明的区域依然透明，从而实现了边框纵向渐变的效果。</p>
<h3>五、内容</h3>
<p>我原本只是想做个盒子，既然做出来了，当然要跟实际项目联系一下，如果允许的话我也想运用到真正的项目上去，将盒子作为载体模块，在上面发布文章，甚至我想把他弄成可以旋转的做图片墙。</p>
<p>挂上文字后效果如下：</p>
<p><img src="http://www.qianduan.net/wp-content/uploads/image/2011/08/074731QjN.jpg" alt="纯CSS3透明水晶盒" /></p>
<p>html代码如下：</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;inBox&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;conBox&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h3</span>&gt;</span>中秋节要来啦<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h3</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>中秋节要来啦，龙祝大家中秋有月饼吃...哈根达斯冰皮的...<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>之所以要在inBox里面套一个conBox，conBox用来设定内边距padding，这样做是因为inBox设定了width，如果width跟padding混在一起叠加，会使容器的宽度变形，所以一般分开为妙；至于h3写个title，是因为我在写<a href="http://www.gotrip.hk/" target="_blank">gotrip</a>的时候，h1，h2，h3标题没有统一分级，使用混乱，而css是这样写的，比如：.inBox h1{ };</p>
<p>当时写了一批之后有同事提出需要将h1改成h3，如果我一开始就这样写.inBox .title{ }，那他说修改的时候我也就只需要修改html标签，我不用动css的，吃一堑长一智，这里写下来跟大家分享。当然有时候也不必太过强求，毕竟 起类名是一件很伤脑细胞的事 哈。</p>
<p>个人博客原文地址：<a href="http://blog.sina.com.cn/s/blog_74d6cedd0100vx0n.html" target="_blank">纯CSS3透明水晶盒</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.qianduan.net/transparent-crystal-with-pure-css3-box.html/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.666 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-10 15:46:00 -->

