众所周知,一个页面可能包含多个div,如何对这些div进行排列,以便具有较好的显示效果呢?

  css提供了浮动和定位两个属性进行div的排列,下面主要针对浮动和定位进行详细地阐述。

  (一)何为浮动?

  浮动即是让div块向左或者向右靠拢,向左浮动(float:left);向右浮动(float:right).

  向左或者向右浮动时,当浮动块碰到前一个块或者边框时,则停止浮动。

  例如:1、向左浮动

      想左浮动,即是div块向左边移动,直到div块碰到左边框或者另一个div块,如上图右侧所示,代码如下

      html文件:

      <!--左浮动排列-->
      <div class="div1">
      <div class="div21" style="height:204px;width:304px">左浮动1</div>
      <div class="div21">左浮动2</div>
      <div class="div21">左浮动3</div>
      <div class="div21">左浮动4</div>
      <div class="div21">左浮动5</div>
      <div class="div21">左浮动6</div>
      <div class="div21">左浮动7</div>
      <div class="div21">左浮动8</div>
      <div class="div21">左浮动9</div>
      </div>

      css文件:

      .div1{
      width:600px;
      height:600px;
      border:1px solid red;
      margin-top:5px;
      margin-left:5px;
      float:left;
      padding-top:5px;
      padding-left:5px;
      padding-right:5px;
      }

      .div21{
      width:150px;
      height:100px;
      border:1px solid blue;
      background-color:pink;
      text-align:center;
      float:left;
      margin-left:2px;
      margin-top:2px;
      }

        2、向右浮动

      向右浮动,即是div块向右边移动,直到div块碰到右边框或者另一个div块,如上图左侧所示,代码如下

      html文件:

      <!--右浮动排列-->
      <div class="div1">
      <div class="div2" id="special">右浮动1</div>
      <div class="div2">右浮动2</div>
      <div class="div2">右浮动3</div>
      </div>

      css文件:

      .div1{
      width:600px;
      height:600px;
      border:1px solid red;
      margin-top:5px;
      margin-left:5px;
      float:left;
      padding-top:5px;
      padding-left:5px;
      padding-right:5px;
      }

      .div2{
      width:150px;
      height:100px;
      border:1px solid blue;
      background-color:pink;
      text-align:center;
      margin-left:2px;
      margin-top:2px;
      }

      #special {
      float:right;
      }

      (二)何为定位?

      只进行div块左右浮动,显然不能满足我们对网页的排版要求,这就要求我们对div的位置进行定位,利用div块的位置,进行排列。

      div块的位置可以分为:静态位置相对位置绝对位置固定位置

      

      1、 针对相对定位:

      

      2、绝对定位

      

      (三)优先级的属性z-index

        

         number 的值越大,优先级越高,越靠上。number的值可以为负。

(三)css之浮动&定位的更多相关文章

  1. css清除浮动定位造成的异常

    清除浮动是为了解决高度塌陷的问题:内层有好几个div有宽有高,并且选择了浮动定位,但是外层的div却并没有设置宽高.在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动( ...

  2. (转)CSS+DIV float 定位

    来自:http://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能 ...

  3. CSS中的三种基本的定位机制(普通流、定位、浮动)

    一.普通流 普通流中元素框的位置由元素在XHTML中的位置决定.块级元素从上到下依次排列,框之间的垂直距离由框的垂直margin计算得到.行内元素在一行中水平布置. 普通流就是html文档中的元素如块 ...

  4. CSS彻底研究(3) - 浮动,定位

    Github pages 博文 CSS彻底研究(3)-浮动,定位 一 . 浮动float I . 定义及规则 float默认为none,对应标准流的情况.当float : left;时,元素就会向其父 ...

  5. 归纳篇(一)CSS的position定位和float浮动

    近期会更新一系列博客,对基础知识再度做个巩固和梳理. 一.position定位 (一):position的属性 1.absolute:生成绝对定位的元素,相对于最近一级定位不是static的父元素来进 ...

  6. 【CSS】思考和再学习——关于CSS中浮动和定位对元素宽度/外边距/其他元素所占空间的影响

      一.width:auto和width:100%的区别   1.width:100%的作用是占满它的参考元素的宽度.(一般情况下参考元素 == 父级元素,这里写成参考元素而不是父级元素,在下面我会再 ...

  7. CSS中浮动和定位对元素宽度/外边距/其他元素所占空间的影响

    ---恢复内容开始--- 一.width:auto和width:100%的区别   1.width:100%的作用是占满它的参考元素的宽度.(一般情况下参考元素 == 父级元素,这里写成参考元素而不是 ...

  8. CSS中的定位与浮动

    CSS中的定位与浮动 本文主要讲述CSS中的三种定位样式static.relative和absolute的区别以及浮动元素的特征. 定位样式 CSS中定位样式position的取值有三个,默认值:st ...

  9. (转载)CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法

    目录 一.BFC与IFC 1.1.BFC与IFC概要 1.2.如何产生BFC 1.3.BFC的作用与特点 二.定位 2.2.relative 2.3.absolute 2.4.fixed 2.5.z- ...

随机推荐

  1. react.js学习之路四

    针对学习react.js中,我感觉最大的疑惑点就是bind(this)的绑定和指向问题了,我被这个问题弄的头昏,有时候调用组件的时候,直接显示undefined,不存在这个组件,当时的心情是崩溃的,整 ...

  2. leecode刷题(5)-- 只出现一次的数字

    leecode刷题(5)-- 只出现一次的数字 只出现一次的数字 描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次.找出那个只出现了一次的元素. 说明: 你的算法应该具 ...

  3. [Swift]八大排序算法(五):插入排序

    排序分为内部排序和外部排序. 内部排序:是指待排序列完全存放在内存中所进行的排序过程,适合不太大的元素序列. 外部排序:指的是大文件的排序,即待排序的记录存储在外存储器上,待排序的文件无法一次装入内存 ...

  4. JDBC_批处理Batch_插入2万条数据的测试

    批处理   Batch 对于大量的批处理,建议使用Statement,因为PreparedStatement的预编译空间有限,当数据特别大时,会发生异常. import java.sql.Connec ...

  5. Sublime的一些问题记录

    1.默认的中文字体显示异常(参考:关于最新版的Sublime Text 3中默认的中文字体样式显示异常的问题) 1. 选择Perferences(首选项)--> settings(设置) 2. ...

  6. sql随机插入数据--记录

    sql面试题中经常出现一张学生表,表字段有学生ID,学生课程,学生成绩 今天要实测,so,需要有数据,now,随机生成数据,,, create table student ( id ), --编号 c ...

  7. python之freshman00

    编译型vs解释型 编译型优点:编译器一般会有预编译的过程对代码进行优化.因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高.可以脱离语言环境独立运行.缺点:编译之后如果需要修改就需要整 ...

  8. Windows 搭建ASP.NET Boilerplate项目开发环境

    1.本机安装对应版本的.net core 2.安装vs2017或以上版本 3.从ABP官网下载模板,我下载的是前后端分离的Angular模板 4.用vs2017分别打开前后端,还原Nuget包 5.前 ...

  9. #537 (Div. 2) Creative Snap (思维+dfs)

    https://codeforces.com/contest/1111/problem/C 横坐标1..2^n对应着2^n个复仇者的基地,上面有k个复仇者(位置依次给出).你是灭霸你要用以下方法消灭这 ...

  10. 2018年江西理工大学C语言程序设计竞赛(初级组)一

     C语言竞赛初级组第一.二场答案:https://www.cnblogs.com/xingkongyihao/p/10046918.html  A: 逆序对 时间限制: 1 s      内存限制:  ...