[让CSS更规范]弹性布局
来源:互联网 发布:鉴婊 知乎 编辑:程序博客网 时间:2024/06/10 23:19
摘自《精通CSS:高级Web标准解决方案》
弹性布局相对于字号(而不是浏览器宽度)来设置元素的宽度。通过以em为单位设置宽度,可以确保在字号增加时整个布局随之扩大。这可以将行长保持在可阅读的范围,对于视力弱或有认知障碍的人尤其有用。
与其他布局技术一样,弹性布局也有自己的问题。弹性布局的一些问题与固定宽度布局相同,比如不能充分利用空间。另外,因为在文本字号增加时整个布局会加大,所以弹性布局会变得比浏览器窗口宽,导致水平滚动条出现。为了防止这种情况,可能需要在主体标签上添加100%的max-width。IE6和更低版本当前不支持max-width,但是Safari和Firefox等符合标准的浏览器支持它。
创建弹性布局比创建流体布局容易得多,因为所有HTML元素基本上一直出现在相同的相对位置上,它们仅仅是同时随文本字号而增大。将固定宽度布局转换为弹性布局是非常简单的任条。技巧是要设置基字号,让1em大致相当于10像素。
大多数浏览器上的默认字号是16像素,10像素大约是16像素的62.5%,所以在主体上将字号设置为62.5%:
body {
font-size: 62.5%;
}
因为在使用默认字号时1em现在相当于10像素,所以可以将所有像素宽度换为em宽度,从而将固定宽度布局转换为弹性布局:
#wrapper {
width: 72em;
margin: 0 auto;
text-align: left;
}
#mainNav {
width: 52em;
float: right;
}
#mainContent {
width: 32em;
float: left;
}
#secondaryContent {
width: 18em;
float: right;
}
在使用常规文本字号时,这些代码产生的布局与固定宽度布局看起来一样(见下图),
但是它会随着文本字号的增加而漂亮地增大(如图)。
注:本例中的HTML代码与《流体布局》中的相同。
- [让CSS更规范]弹性布局
- [让CSS更规范]弹性-流体混合布局
- [让CSS更规范]流体和弹性图像
- [让CSS更规范]流体布局
- [让CSS更规范]两列的浮动布局
- [让CSS更规范]让设计居中
- [让CSS更规范]让设计居中
- [让CSS更规范]div和span
- [让CSS更规范]常用选择器
- [让CSS更规范]伪类
- 让css 写的更规范
- css em弹性布局
- CSS 的 弹性布局
- CSS之弹性布局
- 闭合浮动元素让CSS代码更规范
- [让CSS更规范]招数和过滤器简介
- [让CSS更规范]使用有意义的标记
- [让CSS更规范]ID和类名
- [让CSS更规范]两列的浮动布局
- [让CSS更规范]让设计居中
- [让CSS更规范]弹性-流体混合布局
- [让CSS更规范]流体布局
- [让CSS更规范]流体和弹性图像
- [让CSS更规范]弹性布局
- [让CSS更规范]让设计居中
- 反驳《3G门户的危机将来临》中的观点
- 数据库插入单引号,数组分隔符的山寨法
- DIV+CSS让文字垂直居中
- java异常
- "Project : error PRJ0050: 未能注册输出。请确保您有修改注册表的相应权限"错误的解决
- AOP概念解析
- 单一世界架构初探之边界冲突