CSS继承机制&使用相对单位设置字体大小
2013-03-24 22:03
561 查看
CSS要对准的所有标签都包含在body中。由于CSS的继承机制,如果我们为body标签添加如下字体样式:
整个文档中所有文本元素的文本都会继承这些样式,无论该元素在文档层次中多么靠近底部。
继承的效率是显而易见的,你不用为每个标签分别指定期望的字体,可以在针对body的一条规则中为整个网站设置主字体,然后,只需为那些该显示为不同字体的标签单独设置字体即可。
有很多CSS属性不会被继承,因为没有意义。这些属性主要涉及盒元素。
按比例缩放字体大小的优点:
用户可以在浏览器的相关选项中选择更大或更小的选项,将网页字体成比例地缩放。对视力残障的用户及那些使用超高分辨率显示器的用户,会使网站可访问性得到增强。
当对页面的设计进行调整时,可以通过简单地修改body标签的字体大小,就能按比例改变所有文本的大小;因为修改body标签的字体大小,相当于修改了基准大小,因而其他所有元素都会根据基准大小的变化来成比例地缩放它们字体的大小。
CSS数字值中的相对单位:em和ex。
em的计算依据是一种字体中字符的宽度,也就是说,em的大小根据使用字体的不同会有所不同。多数浏览器都会为1em设置默认的字体大小(16像素)。
一个例子:
html代码
CSS代码
效果图(最好用除chrome外的较新版浏览器,原因在最后):
![](http://img1.51cto.com/attachment/201303/214742606.png)
会发现下边的无序列表的字体大小比上边的有序列表小一些,虽然在css规则中将ul和ol设置为一样大0.75em。这是因为嵌套在ul中的a元素设置为0.7em造成的。这样一来,位于嵌套的a元素中的文本实际大小变成了0.75 * 0.7 = 0.525em。
解决方法,设置一个上下文选择符:ul a {font-size:inherit;}
有序列表和无序列表的字大小相同,如下图:
![](http://img1.51cto.com/attachment/201303/215502188.png)
然后改动一下body选择符中的font-size属性的值,改为font-size:150%; 然后查看效果,网页字体成比例地放大了,如下:
![](http://img1.51cto.com/attachment/201303/215831904.png)
在Google浏览器中设置font-size < 12px 没有效果,文字大小为12px。http://www.cnblogs.com/georgewing/archive/2010/08/30/1812719.html
另附:我国在使用相对字体单位的情况是很DT的。
95%的中国网站需要重写CSS
在我所观察的中国网站中,包括三大门户,以及“引领”中国网站设计潮流的蓝色理想,ChinaUI等都是使用了px作为字体单位。只有百度好歹做了个可调的表率。
百度百科:http://baike.baidu.com/view/350386.htm#refIndex_2_350386
本文出自 “开心菠菜” 博客,请务必保留此出处http://kaixinbocai.blog.51cto.com/3913323/1161760
body {font-family:verdana, helvetica, sans-serif; color:blue; }
整个文档中所有文本元素的文本都会继承这些样式,无论该元素在文档层次中多么靠近底部。
继承的效率是显而易见的,你不用为每个标签分别指定期望的字体,可以在针对body的一条规则中为整个网站设置主字体,然后,只需为那些该显示为不同字体的标签单独设置字体即可。
有很多CSS属性不会被继承,因为没有意义。这些属性主要涉及盒元素。
按比例缩放字体大小的优点:
用户可以在浏览器的相关选项中选择更大或更小的选项,将网页字体成比例地缩放。对视力残障的用户及那些使用超高分辨率显示器的用户,会使网站可访问性得到增强。
当对页面的设计进行调整时,可以通过简单地修改body标签的字体大小,就能按比例改变所有文本的大小;因为修改body标签的字体大小,相当于修改了基准大小,因而其他所有元素都会根据基准大小的变化来成比例地缩放它们字体的大小。
CSS数字值中的相对单位:em和ex。
em的计算依据是一种字体中字符的宽度,也就是说,em的大小根据使用字体的不同会有所不同。多数浏览器都会为1em设置默认的字体大小(16像素)。
一个例子:
html代码
<body> <h3>Welcome to XHTML</h3> <p> Good XHTML markup makes your content portable, accessible and future-proof.Creating XHTML-compliant pages simply requires following a few simple rules.Also, XHTML code can be easily validated online so you can be sure it is correctly written. </p> <ol> <li>Declare a DOCTYPE</li> <li>Declare an XML namespace</li> <li>Declare you content type</li> <li>Close every tag, enclosing or non-enciosing</li> <li>All tags must be nested correctly</li> <li>Inline tags can't contain block level tags</li> <li>Write tags in lowercase</li> <li>Attritubes must have values and must be quoted</li> <li>Use encoded equivalents for left brance and ampersand</li> </ol> <ul> <li><a href="#">W3C's XHTML validator</a></li> <li><a href="#">W3C's CSS validator</a></li> <li><a href="#">XHTML Resources</a></li> <li><a href="#">CSS Resources</a></li> </ul> </body>
CSS代码
<style type="text/css"> body { font-family:verdana, arial, sans-serif; font-size:100%; } h3 {font-size:.8em;} p {font-size:.8em;} ol {font-size:.75em;} ul {font-size:.75em;} a {font-size:0.7em;} </style>
效果图(最好用除chrome外的较新版浏览器,原因在最后):
![](http://img1.51cto.com/attachment/201303/214742606.png)
会发现下边的无序列表的字体大小比上边的有序列表小一些,虽然在css规则中将ul和ol设置为一样大0.75em。这是因为嵌套在ul中的a元素设置为0.7em造成的。这样一来,位于嵌套的a元素中的文本实际大小变成了0.75 * 0.7 = 0.525em。
解决方法,设置一个上下文选择符:ul a {font-size:inherit;}
有序列表和无序列表的字大小相同,如下图:
![](http://img1.51cto.com/attachment/201303/215502188.png)
然后改动一下body选择符中的font-size属性的值,改为font-size:150%; 然后查看效果,网页字体成比例地放大了,如下:
![](http://img1.51cto.com/attachment/201303/215831904.png)
在Google浏览器中设置font-size < 12px 没有效果,文字大小为12px。http://www.cnblogs.com/georgewing/archive/2010/08/30/1812719.html
另附:我国在使用相对字体单位的情况是很DT的。
95%的中国网站需要重写CSS
在我所观察的中国网站中,包括三大门户,以及“引领”中国网站设计潮流的蓝色理想,ChinaUI等都是使用了px作为字体单位。只有百度好歹做了个可调的表率。
百度百科:http://baike.baidu.com/view/350386.htm#refIndex_2_350386
本文出自 “开心菠菜” 博客,请务必保留此出处http://kaixinbocai.blog.51cto.com/3913323/1161760
相关文章推荐
- [Android] 字体使用dp单位避免设置系统字体大小对排版的影响
- [Android] 字体使用dp单位避免设置系统字体大小对排版的影响
- Android 字体使用dp单位避免设置系统字体大小对排版的影响
- 字体使用dp单位避免设置系统字体大小对排版的影响
- 我给女朋友讲编程CSS系列(3) CSS如何设置字体的类型、大小、颜色,如何使用火狐浏览器的Firebug插件查看网页的字体
- [Android] 字体使用dp单位避免设置系统字体大小对排版的影响
- CSS学习总结1:绝对大小与相对大小的单位
- 响应式布局中为什么要使用em设置字体大小而不用px
- iOS设置导航与其标题的颜色及字体大小和系统默认TabBar的相关设置与使用方法
- 解决谷歌(Google Chrome)浏览器下CSS设置字体大小小于12px无法生效的问题
- 在java代码中设置字体大小,可以指定单位为sp
- 关于使用Css设置Canvas画布大小的问题
- ScrollView与WebView结合使用时,设置webview字体大小的时候出现下方留白解决
- html5纯css字体大小自适应设置
- 【PHPStorm使用手册】如何设置字体大小?
- ScrollView与WebView结合使用时,设置webview字体大小的时候出现下方留白的终极解决方案
- CSS 相对字体大小
- css如何使用相对单位长度em和rem以及百分比
- CSS 字体单位大小对照换算表
- 解决谷歌(Google Chrome)浏览器下CSS设置字体大小小于12px无法生效的问题