用CSS3将你的设计带入下个高度[译](12)
作者:神采飞扬 来源:前端观察 发布时间:2009-06-22 13:03:00
12. 媒体查询
媒体查询(media queries)可以让你为不同的设备基于它们的能力定义不同的样式。比如,在可视区域小于480像素的时候,你可能想让网站的侧栏显示在主内容的下边,这样它就不应该浮动并显示在右侧了:
#sidebar {
float: right;
display: inline; /* IE Double-Margin Bugfix */
}@media all and (max-width:480px) {
#sidebar {
float: none;
clear: both;
}
}
你也可以指定使用虑色屏的设备:
a {
color: grey;
}@media screen and (color) {
a {
color: red;
}
}
潜力是无限的。这个属性是很有用的因为你你不在需要必须为不同的设备写独立的样式表了,而且你也无需使用JS来确定每个用户的浏览器的属性和功能。一个实现一个灵活的布局的更加流行的基于Javascript的方案是使用智能的流体布局,让布局对于用户的浏览器分辨率更加灵活。
浏览器支持: 媒体查询被基于webkit核心的浏览器和Opera支持。Firefox将在3.5版本中支持它。IE目前不支持这些属性而且在将来的版本中,也没有支持的计划。
扩展阅读:
13. 语音
CSS3的语音模块CSS3可以让你为屏幕阅读者指定语音样式。你可以控制语音的不同设置,比如:
voice-volume
使用从0到100的数字(0 即静音)、百分数或关键词(silent
,x-soft
,soft
,medium
,loud
和x-loud
等)来设置音量。voice-balance
控制来自哪个声道(如果用户的音箱系统支持立体声)。Speak
指示屏幕阅读器阅读相关的文字、数字或标点符号。可用的关键词为none
,normal
,spell-out
,digits
,literal-punctuation
,no-punctuation
和inherit
.Pauses and rests
在一个元素的被读完之前或之后设定暂停或停止。你可以使用时间单位(比如, “2s” 表示2 秒钟) 或关键词(none
,x-weak
,weak
,medium
,strong
和x-strong
)。Cues
使用声音限制特定元素并控制器音量。voice-family
设定特定的声音类型和声音合成(就像font-family)。voice-rate
控制阅读的速度。可以设置为百分数或关键词:x-slow
,slow
,medium
,fast
和x-fast
.voice-stress
指示应该使用的任何重音(强语气),使用不同的关键词:none
,moderate
,strong
和reduced
.
比如,告诉屏幕阅读器使用男声读取所有的h2
标签,用左边的喇叭,用软调按照指定的声音,可以像下面这样指定样式:
h2 {
voice-family: female;
voice-balance: left;
voice-volume: soft;
cue-after: url(sound.au);
}
不幸的是,这个属性现在只有非常少的支持,但是显然值得关注因为我们可以在将来提高我们网站的易用性。
浏览器支持: 现在,只有Opera 浏览器(Windows XP and 2000)支持语音模块的部分属性。为了使用它们,需要使用-xv-
前缀,比如-xv-voice-balance: right
。
扩展阅读:
结尾
CSS3 属性可以极大的提高你的工作流,让一些最耗时的CSS任务不费吹灰之力就能搞定,并且可以使用更好、更简洁和更轻的代码标签。一些属性尚未被广泛的支持,甚至是最新的浏览器,但这并不意味着我们不能用它们进行试验或者为使用先进浏览器的用户更高级的功能和CSS样式。
在这点儿上,请记住,培养我们的用户 也同样是有用和必须的:网站无需看起来在每个浏览器里都要保持一致,而且如果一个差异不(负面)影响美学和网站的可用性,它就应该是被考虑的。如果我们继续浪费大量的时间和金钱以使每个细节绝对一致(而不是采用更灵活的和未来导向的方案), 用户将没有升级他们的浏览器的任何需要/动机,这样我们就不得不在旧的浏览器变为古董级浏览器以及强大的现代浏览器变为标准之前等待很长的时间
我们试验和使用新的CSS3属性越早,它们就被流行的浏览器支持的更早,我们也就能够更早的广泛使用它们。
推荐阅读及资源:
5 CSS3 Techniques For Major Browsers using the Power of jQuery
Comparison of layout engines (Cascading Style Sheets) and Wikipedia
关于原作者
Inayaili de León是一个葡萄牙的网页设计师。她对网页设计和前端编码真的非常感兴趣,而且喜欢漂亮和简洁的网站。她居住在伦敦。你可以在Web Designer Notebook上看到她的更多文章,并follow her on Twitter.


猜你喜欢
- msxml3.dll 错误 '80004005'未指定的错误/Project/lijiang_071017/include/
- 什么是索引 拿汉语字典的目录页(索引)打比方:正如汉语字典中的汉字按页存放一样,SQL Server中的数据记录也是按页存放的,每页容量一般
- 1.前言在移动商业广告的测试的工作中,经常会需要对广告请求进行捕获和分析,常使用的有两个测试工具:fiddler,Charles,这两个工具
- 前言ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、f
- Python模块,简单说就是一个.py文件,其中可以包含我们需要的任意Python代码。迄今为止,我们所编写的所有程序都包含在单独的.py文
- 本文实例为大家分享了js文字列表无缝滚动的具体代码,供大家参考,具体内容如下HTML代码:<div id="rule&quo
- 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,
- blur事件在元素失去焦点时触发。在一些jquery的教程、api手册等上面对blur事件,提供了一个错误的例子,就是关于p标签失去焦点的问
- 我们有时候会需要在网上查找并下载图片,当数量比较少的时候,点击右键保存,很轻松就可以实现图片的下载,但是有些图片进行了特殊设置,点击右键没有
- 最近产品妹子提出了一个体验issue —— 用 iOS 在手Q阅读书友交流区发表书评时,光标点击总是不好定位到正确的位置:如上图,具体表现是
- 1. Mysql binlog参数配置log-bin=mysql-bin打开二进制日志功能,默认在datadir下binlog-ignore
- 到目前为止,我已经开发了两个HTML编辑器了,一个用在公司的CMS项目,另一个用在这个Blog(TidyEditor,暂时没有单独发布)。下
- 1、replicate_do_db 和 replicate_ignore_db 不要同时出现。容易出现混淆。也是毫无意义的。 Replica
- 我们经常使用nodeType==1判断元素是否是一个HMTLElement元素。页面上的元素都是节点(Node),有元素节点(Element
- 前言前些日子了解到mqtt这样一个协议,可以在web上达到即时通讯的效果,但网上并不能很方便地找到一篇目前版本的在node下正确实现这个协议
- WebSocket 是什么?摘抄网上的一些解释:WebSocket 协议是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工(f
- 一、运算符算术运算符:+ - * / 可以在select 语句中使用连接运算符:|| select deptno|| dname from
- 本文主要研究的是python读取jpg格式图片并显示为16进制的相关内容,具体如下。代码:>>> aaa = open(&
- 可以使用numpy中的linspace函数np.linspace(start, stop, num, endpoint, retstep,
- 前言numpy.linalg模块包含线性代数的函数。使用这个模块,可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。本文讲给大家介绍关