转自:http://developer.51cto.com/art/201009/223337_1.htm

你对DIV CSS布局中绝对定位和浮动的概念及使用是否熟悉,这里和大家分享一下,CSS中,实现分栏布局有两种方法。第一种方法是使用四种CSS定位选项中的绝对定位,第二种则是使用CSS中的浮动(float)概念。

DIV CSS布局中绝对定位和浮动

CSS中,实现分栏布局有两种方法。第一种方法是使用四种CSS定位选项(absolute、static、relative和fixed)中的绝对定位(absolutepositioning),它可以将文档中的某个元素从其原本位置上移除,并重新定位在期望的任何地点之上。第二种则是使用CSS中的浮动(float)概念。

绝对定位或浮动都能够用来实现分栏效果。二者可以独立使用,也可以结合在一起,相辅相成。

一、绝对定位

绝对定位的优势在于,我们可以丝毫不差地精确控制任何元素的位置—这里面没有什么需要猜测或者运气的成分。由于应用了绝对定位的元素被不留痕迹地从常规文档流中完全移除,所以它也不会为其他元素带来任何的影响。
那么让我们试一试用绝对定位如何实现下面的布局。

这是一个三栏的布局,并且是居中显示的。其中,A栏是主体内容栏,B栏和C栏都是侧边栏。首先,我们不可能直接用绝对定位将A、B、C三栏定位到居中的位置,因为每个人显示器的分辨率是不同的,在1024X768分辨率的显示器上定位的居中效果,在别的分辨率的显示器上看到的效果肯定不会是居中显示的,那么,该如何解决这个问题呢?

幸好,在绝对定位模型中有个极为有用的特性,那就是:若某个绝对定位元素的容器也被定位过,那么该元素指定的top和left值将不会基于文档的根元素html(也就是浏览器窗口的左上角)计算,而是会基于其容器的左上角计算这个偏移量。换句话说,也就是:被定位过的容器将扮演其中所有元素绝对定位起始点的角色。

所以,利用这个特性,我们给A、B、C栏的外部加上一个容器D,如下图:

然后,我们让容器D居中,并给它加上一个属性:position:relative,这样,再用绝对定位定位A、B、C的top和left值,A、B、C的位置就会基于容器D的左上角的位置来计算了,这样就可以实现我们期望的三栏居中的效果了。

但是,我们常用的布局并没有这么简单,除了三栏之外,我们还需要一个页头和一个页脚,如下图:

这时候,再用绝对定位布局就行不通了,因为绝对定位的元素会从文档流中完全移除,这时,页脚会紧挨着页头,显示在页头的下方。
如果我们一定要采用绝对定位的话,那么必须预先知道这三栏中每一栏的高度,然后再根据其中最高的一栏定位页脚。若是任意一栏中的文本长度无法确定的话,除了使用JavaScript,我们也只能放弃绝对定位的念头,转而投入到浮动布局的怀抱。

二、浮动

浮动的本意是要将插入到文章中的图片向左或者向右浮动,使图片下方的文字自动环绕在它的周围,使图片的左边或者右边不会出现一大块的留白。

浮动的语法虽然简单,但却不那么容易掌握,下面让我们举例说明如何用浮动来进行布局。同样,我们要实现一个带页脚的三栏布局。如下图:

如何用浮动实现这样的效果呢?其实很简单:

1、设定E的宽度,让E居中

2、设定A、B、C的宽度,将A、B、C分别向左浮动

3、给页脚设置clear属性

需要说明的是,浮动布局依然遵循常规文档流,所以与绝对定位相比,浮动定位时HTML源文件中元素声明的位置显得格外重要。当然,解决这个问题的最简单的方法就是在源文件中交换左栏和右栏的声明次序,也有方法不用交换各栏的次序也可以实现同样的布局,但是,这就要用到一种比较晦涩的使用负边距值的方法。一般情况下,人们十有八九会选择交换源文件中左中两栏的声明次序。

DIV CSS布局中绝对定位和浮动用法相关推荐

  1. div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧

    div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧 在DIV CSS布局中对于图片列表或图片排版时,图片不是固定宽度高度大小,但图片占位是固定宽度高度,这个时候如果使用CSS固定 ...

  2. div css布局中CSS图片大小自动按比例等比例缩小图片不变形解决技巧(转)

    本人对前端处理不是很牛,所以转载这文章.原文地址:http://www.divcss5.com/wenji/w632.shtml DIV CSS布局中对于图片列表或图片排版时,图片不是固定宽度高度大小 ...

  3. html布局文字设置,div css布局中css中文字体设置

    在HTML网页结构中,会用到中文字,而中文字有得多中笔墨体,有的开发者在自身电脑中下载并安装不少摩登字体.而这些中文字体CSS设置装备摆设提倡? 1.不克不及随意CSS设置装备摆设本人安装中笔墨体 假 ...

  4. [存档]Div+Css布局中经常使用的小技巧合集

    CSS网页布局开发中,会有很多小技巧,这里再扩展一下您所想要得到的知识,相信您会有很多收获! 一.ul标签在Mozilla中默认是有padding值的,而在IE中只有margin有值. 二.同一个的c ...

  5. 结合html和css制作页面的布局结构,CSS Div网页布局中的结构与表现

    在Web标准中一个很重要的概念就是强调页面的结构与表现分离.说的通俗一点就是XHTML中应该没有样式化的东西,而且Web在浏览器中除内容外都应该由CSS表现,这包括布局与其它样式.一旦一个标准的XHT ...

  6. DIV CSS布局-固定页面开度布局

    DIV CSS布局中主要CSS属性介绍: Float: Float属性是DIV CSS布局中最基本也是最常用的属性,用于实现多列功能,我们知道<div>标签默认一行只能显示一个,而使用Fl ...

  7. div+css布局与table布局比较

    div+css布局与table布局比较 一.背景介绍 table布局是网页早期布局实现的主要手段,当时的网页构成,相对也比较简单,多是以文本 以及静态图片等组成的,类似于报纸的形式,分区分块显示,ta ...

  8. Div+CSS布局入门教程(五) 页面制作-用好border和clear 附加:1.DIV+CSS设计原则 2.DIV+CSS中标签ul ol li dl dt dd用法

    这一节里面,主要就是想告诉大家如何使用好border和clear这两个属性. 首先,如果你曾用过table制作网页,你就应该知道,如果要在表格中绘制一条虚线该如何做,那需要制作一个很小的图片来填充,其 ...

  9. DIV+CSS布局概述、属性(浮动、定位等)、布局类型、常见布局技巧

    文章目录 布局概述 网页布局 页面元素定位机制 布局常用属性 浮动属性(float) 清除属性(clear) 定位属性(position) 溢出属性(overflow) 层叠属性(Z-index) 布 ...

最新文章

  1. React +antd +wangEditor 富文本编辑器
  2. 爬虫请求库 requests
  3. LazyInitializationException的四种解决方案–第1部分
  4. Android 最简单的MVP案例;
  5. Linux DNS | resolv.conf 配置dns解析,重启network丢失
  6. 精选| 2019年7月R新包推荐(第32期)
  7. 舒老师的hu测(日常吐槽)
  8. 一个大牛的acm历程(看着就要颤抖)
  9. java anon_shiro中的anon,authc啥意思
  10. 手机翻书效果html,移动端实现翻书效果
  11. 微信小程序云开发之云数据库查询及动态输入
  12. ffmpeg对ts流的解析
  13. Kali Linux 工具使用中文说明书
  14. linu修改open files无效_最简洁的批量修改文件名工具分享
  15. 小米手机安装 charles 证书,提示“没有可安装的证书”
  16. 《舌尖上的中国》经典语录
  17. 在系统启动时至少一个服务或驱动程序产生错误 hwinfo32
  18. win10 修复打印机服务器,修复:打印机始终在Win10上打印两份
  19. 中国省份数据库+世界国家名数据库
  20. 阅读笔记《Class Incremental Learning With Few-Shots Based on Linear Programming for Hyperspectral Image 》

热门文章

  1. C/C++获取系统当前时间
  2. C#流对象使用完后不立即释放的问题
  3. 2015211230108《Java程序设计》第10周学习总结
  4. SystemVerilog搭建验证平台使用DPI时遇到的问题及解决方案
  5. Netty中的那些坑
  6. 内容组织高效项目方案是如何产生的 !
  7. Project Server的页面如何修改Text
  8. vb编程的好帮手--资源文件
  9. Hex-Rays.Decompiler ...
  10. 运营资源很少的时候,怎么运营自己的产品(完结)