在CSS中,实现分栏布局有两种方法。第一种方法是使用四种CSS定位选项(absolute 、static、relative和fixed)中的绝对定位(absolute positioning),它可以将文档中的某个元素从其原本位置上移除,并重新定位在期望的任何地点之上。第二种则是使用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源文件中元素声明的位置显得格外重要。 当然,解决这个问题的最简单的方法就是在源文件中交换左栏和右栏的声明次序,也有方法不用交换各栏的次序也可以实现同样的布局,但是,这就要用到一种比较晦涩的使用负边距值的方法。一般情况下,人们十有八九会选择交换源文件中左中两栏的声明次序。

转载于:https://www.cnblogs.com/kingjiong/archive/2009/06/09/1499496.html

Div+CSS教程----DivCSS布局绝对定位和浮动相关推荐

  1. div css教程 属性,Div+CSS布局入门教程

    在网页制作中,有许多的术语,例如:CSS.HTML.DHTML.XHTML等等.在下面的文章中我们将会用到一些有关于HTML的基本知识,而在你学习这篇入门教程之前,请确定你已经具有了一定的HTML基础 ...

  2. 图文混排作品HTML5利用css样式,DivCSS布局实例:很实用的图文混排CSS列表

    CSS网页布局的一大特点就是列表元素的应用,在传统的表格布局中往往将列表元素作为表格来处理,这样的方式非但不具有语义还产生了许多不必要的代码. 今天我们共同学习一款"图文混排CSS列表&qu ...

  3. 李炎恢老师XHTML视频教程DIV+CSS教程与课件代码

    [No32]李炎恢老师XHTML视频教程DIV+CSS教程与课件代码 课程目录: css专题 0.视频项目源代码+素材 第1章 XHTML学前准备(1课时) 第2章 HTML基本结构(2课时) 第3章 ...

  4. 美工效果图大小 html,六、DIV CSS实战之布局美工图分析与切图

    DIV CSS实战之布局分析与切图 美工图到DIV CSS制作成HTML中间必不可少的步骤为对美工图的分析和美工图的切图.平时大家说切图也是从这个步骤捡取的一个词语来代表css完整制作的代名词,就像d ...

  5. div css表单布局的五个小技巧

    div css表单布局的五个小技巧可以帮助你更灵活的控制表单,使页面更加满意. 1.表单文本输入的移动选择: 在文本输入栏中,如果加入了提示,来访者往往要用鼠标选取后删除,再输入有用的信息.其实只要加 ...

  6. DIV+CSS列表式布局(同意图片的应用)

    1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or ...

  7. Divbrush 网页Div css画板定位布局系统 v1.8

    Divbrush 网页Div css画板定位布局系统软件是一款专业制作DIV+CSS的切图与样式布局的网页前期设计软件. Divbrushv1.0基本上实现了可视化DIV容器布局的画板辅助功能,通过图 ...

  8. div+css与table布局

    1:速度和加载方式方面的区别 div 的加载方式是即读即加载,遇到 <div> 没有遇到 </div> 的时候一样加载 div 中的内容,读多少加载多少:table 的加载方式 ...

  9. android的文本框内容居中显示图片,DIV+CSS中让布局居中_背景图片居中_文字内容居中...

    在DIV CSS布局的页面里,从布局内容到页面里文章文字居中都是非常重要的,而 1.首先介绍使用css属性让整体布局的居中: 设置对象的父级内容居中,这里一个页面的为父级是什么呢?我们可以想象整个页面 ...

最新文章

  1. 基于注解处理器开发自动生成getter和setter方法的插件
  2. 关于近期对Lucene.Net应用研究学习的总结
  3. vnc改ip_如何使用VNC进行远程桌面控制
  4. 2013年4月27日星期六
  5. 使用SG_IO发送SCSI 指令测试底层驱动的scatter-gather 功能
  6. Go Web编程--深入学习解析HTTP请求
  7. 关于使用rem单位,calc()进行自适应布局
  8. 不改变分辨率转换PDF为png图片的方法汇总
  9. python遵循什么协议_《Python网络爬虫》2.3 Robots协议的遵守方式
  10. CTP Java 版(Swig)
  11. oracle服务 ora_01033,Oracle ORA-01033 错误的解决办法
  12. 申请了一张招行的全币种信用卡
  13. 张浩java成绩大于98分_1028学习
  14. 计算机考研英语大纲,考研计算机大纲
  15. jsp 实现查询功能
  16. 给B公司的一些建议(又一篇烂尾的文章)
  17. sklearn实战之随机森林
  18. 2022 需求工程选择填空题【太原理工大学】
  19. Linux 内核对浮点数的支持
  20. 23届银行秋招:中国银行面试真题解析!

热门文章

  1. nodejs实践录:pm2实验测试记录
  2. 【Flink】Flink CancellationException null DefaultExecutionGraphCache LeaderRetrievalHandler
  3. 【Kafka】Kafka客户端分配方案
  4. 60-100-028-使用-MySQL 主从复制
  5. 【clickhouse】clickhouse表引擎之MaterializeMySQL引擎
  6. [Flink] Flink运行报错Container released on a *lost* node
  7. 【registries】registrie rest-service idea 无法引入
  8. Spark调优 shuffle调优
  9. 95-190-740-源码-WindowFunction-窗口流侧的窗口函数(外部函数)
  10. 【Presto】http-worker-103 com.facebook.presto.execution.SqlTaskManager Switching coordinator affinity