◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
网站用户体验 之 框模型概述
Post by 张美工, 2008-7-16, Views:IE/Win和框模型
IE5x和IE6在怪异模式中使用自己的非标准框模型.这些浏览器的width属性不是内容的宽度,而是内容、填充和边框的宽度总和。这实际上有一定的意义,因为在现实世界中框具有固定的尺寸,而且填充是放在框里面的。添加的填充越多,给内容留下的空间就越少。尽管符合逻辑,但是这些IE版本不符合规范,这会造成严重的问题。例如,在前面的示例中,在IE5x中框的总宽度只有90像素。这是因为IE5x认为每个边上5像素的填充是70像素的宽度的一部分,而不是在宽度之外附加的。
面对上面讲的问题,有几个方法可以解决,这些方法的细节可以在第9章中找到。但是,目前最好的解决方案是回避这个问题。也就是,不要给元素添加具有指定宽度的填充,而尝试将填充或空白边添加到元素的父元素或子元素。
空白边添加
空白边叠加是一个相当简单的概念。但是,在实践中对网页进行布局时,它会造成许多混淆。简单地说,当两个垂直空白边相遇时,它们将形成一个空白边。这个空白边的高度等于两个发生叠加的空白边的高度中的较大者。
1.当一个元素出现在另一个元素上面时,第一个元素的底空白边与第二个元素的顶空白边发生叠加。
2.当一个元素包含在另一个元素中时(假设没有填充或边框将空白边分隔开),它们的顶或底空白边也发生叠加
尽管看上去有点儿奇怪,但空白边甚至可以与本身发生叠加。假设有一个空元素,它有空白边,但没边框或填充。在这种情况下,顶空白边与底空白边就碰到了一起,它们会发生叠加。
如果这个空白边碰到另一个元素的空白边,它还会发生叠加
这就是一系列空的段落元素占用的空间非常小的原因,因为它们的所有的空白边都叠加到一起,形成一个小的空白边。
空白边叠加初看上去可能有点儿奇怪,但它实际上是有意义的。如果没有空白边叠加,后续所有的段落之间的空白边将是相邻顶空白边和底空白边的和。这意味着段落之间的空间是页面顶部的两倍。如果发生空白边叠加,段落之间的顶空白边和底空白边就叠加在一起,这样各处的距离就一致了。
只有普通文档流中块框的垂直空白边才会发生空白边叠加。行内框、浮动框或绝对定位框之间的空白边不会叠加。
相关文章:
# Dreamweaver的超级技巧汇总(6)
# Dreamweaver的超级技巧汇总(5)
#
#
#
#
#
#
#
#
#
#
# I E和火狐的css兼容性问题归总
# 体验css+div 之 CSS hack:区分IE6,IE7,firefox
# 体验css+div 之 兼容标准XHTML的浮动层特效实现
# frameset 的属性
# frameset元素属性详解、浮动框架的制作、超链接与框架的制作
# 体验css+div 之 网页切图过程中div+css命名规则
# 网站用户体验--根据项目需求定义 常用CSS2基本定义例子
# 体验css+div 之 三种使网站背景图片自动适应浏览器大小的方法
# 搜索
# 创建锚链接
# 如何让单行文本框input与多行文本框textarea背景透明
# 用EditPlus转化文件格式到UTF-8
# 让长字符URL/Email自动换行
# 体验css+div定位与table定位代码的差异
# 体验css+div 之 TBody是什么意思?有什么作用?<TBODY>和<BODY>有和区别?
# 体验css+div 简单的滑动门效果代码
# 体验css+div 超实用的滑动门效果代码(css和代码都包含在内)
# 彻底弄懂CSS盒子模式(DIV布局快速入门)
# 体验css+div 之 解决流体布局的问题
# 体验css+div 之 固定宽度布局、流体布局、弹性布局的优势对比<弹性布局>
# 体验css+div 之 固定宽度布局、流体布局、弹性布局的优势对比<流体布局>
# 体验css+div 之 固定宽度布局、流体布局、弹性布局的优势对比<固定宽度布局>
# 体验css+div 之 为什么css+div 会盛行
# 体验css+div中id和class各自的用法及区别
# 体验css+div 之 层叠和特殊性
# css之自动换行
# 体验css+div 之 背景透明内容不透明的写法
# 体验css+div 之 给整个页面添加渐变背景
# 用css样式控制做成的按钮,取代图片按钮
# 体验css+div 之 鼠标经过按钮发生变化效果
# 体验css+div 之 文本框自适应窗口宽度
# 体验css+div 老问题重新讲“怎样使页面整体居中”
# 体验css+div之图像替换 1.徽标图像替换
# 体验css+div 之 使用自动空白边让设计居中
+
或许你还对下面的文章感兴趣
Comments
