当前位置: 主页 > 网页制作 > CSS > CSS 中的边距,边框和填充距

CSS 中的边距,边框和填充距

时间:2009-12-18来源:互联网 点击:

示例4

auto 边距是放在页面容器的左侧和右侧的。现在为了使这些边距值有意义,我们来为其设置 width。此外,还要给格言引用设置一个 float 值,使它也获得宽度。

链接:
  • 改变文档容器和格言引用的宽度
  • 示例4的样式表
新规则:
#main { width: 42em; }
.pullQuote { width: 14em; }

溢出:是对内容进行限制,还是给它自由

设定元素的 width 或 height 时,有时会需要考虑在该元素的内容占据的空间超过了严格意义上可获得的空间时,我们期望得到什么样的效果。在那些既有用户生成内容,又有严格布局规范的网站上尤其需要注意这一点。

overflow 属性和它的四个有效值——visible、hidden、auto 和 scroll ——可用于处理这种情况。图 5 展示了将这几个属性值应用到一个内容超出其边界框的元素上所产生的效果。

the effects of the CSS overflow property

图 5: CSS overflow 属性的效果。

四种溢出属性值的效果

visible (默认)
在不影响相邻元素的 flow 或边距的同时,显示超出元素可用空间的内容。因此,某个元素的内容将与其相邻元素的内容相冲突。在后面的教程中,会对避免这种情况的技巧,以及在 IE 中因渲染问题而产生的特殊情况进行讨论。
hidden
超出该元素的界限的所有内容将被隐藏而不可见。
auto
跟用 hidden 值时一样,元素的尺寸会受到限制,但是会创建一个滚动条,使访问者可以获得溢出的内容。
scroll
即使在不必要的情况下,也会在元素上添加垂直和水平滚动条。

CSS 盒模型:将一切组合起来

既然我们已经讲完了基本的布局属性,接下来我们就来看看浏览器是如何按照一个元素的 CSS 属性来渲染它的宽度的——以及避免你的元素从布局中溢出。有些效果非常好,而另一些似乎毫无道理可言。麻烦的是有两种布局算法需要考虑:在 CSS 2.1 推荐中,由万维网联盟(W3C)所指定的模型,和较早版本的 IE 中所用的模型。

为你的布局选择适当的单位

对于文本来说,元素的大小可以用比例单位 % 或 em,或者像 px 这样的静态单位来设置。需要考虑的还有浏览器画布的大小永远是静态值,如果不用客户端 script 代码,是不可能恢复这个尺寸或调整窗口大小的——这种情况对于可访问性,可用性和媒体便携性的要求来说很不合适。

元素大小调整的重要规则:混用比例单位和静态单位时应慎重,或者干脆不要混用

默认的 width 和 height 值是 auto,这在标准英语中意即“使用所有可用空间”的指令 。对块元素来说其效果是,计算出的 width 占完了所有可用空间。对 height 来说,默认情况下元素会扩展来容纳它们的所有内容。

改变 width 和 height 值时,必须小心确保元素的内容(带有边距,边框和填充距)与你所指定的宽度相适应。为了实现这一点,最简单的办法就是进行下列步骤:

  1. 在普通的显示器和/或字号条件下,考虑布局可用的最大宽度。到本文撰写时为止,这个数值一般是大约 800 或 1024 像素。你的网站受众越广,越应选这些值中较小的值。
  2. 为你的整个文档创建一个容器元素,该元素的宽度在第一步所得宽度之内。
  3. 为第二步所创建的容器元素中的元素设置布局属性时,采用与该容器元素相同的单位类型。

为布局选择适当的单位类型:优缺点

单位 优点 缺点
em
  • 最适合于创建精确的二维布局栅格
  • 用在与文档容器有关的方面时,会使布局跟据正文大小而扩展或收缩
  • 可以使元素大小的计算值变得很容易估计
  • 分数单元可能会由于浏览器之间的细微差异而扩张或缩小
  • 为了达到最佳效果,文档中所有 font-size 和 line-height 值都应当设为明确而可预计的值
百分比
  • 最适用于完全弹性布局
  • 对于创建等宽栏之类的对象来说这是最简单的办法
  • 为了避免内容冒出,可能会需要创建额外的容器元素
  • 可能会导致元素过宽或过窄
  • 其效果高度依赖于环境(参见下面的盒模型部分)
px
  • 可以提供最高的布局控制权
  • 可以消除大多数因浏览器差异而造成的变化
  • 最不能满足可访问性和跨媒体支持要求s
  • 最容易受到内容冒出的影响

表格 1: 设置布局属性时,百分比,em 和像素单位的优缺点

盒模型组件

盒模型实际上只是一系列指令,用来定义元素的种种布局规范如何相互作用。盒模型涵盖的组件有:

  1. 文档画布
  2. 边距
  3. 边框
  4. 填充距
  5. 元素的宽度和高度
  6. 子元素属性

上面的最后一项依次包含了其它5项。但是为简明起见,这一部分将集中讨论简单的父元素-子元素关系,多级盒模型交互作用将保留到后面详谈页面布局的文章中再做深入讨论。

站长资讯网
.
分页: [1] [2] [3] [4] [5] [6]
TAG: CSS 边距 边框 填充距
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言