博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
css-absolute relative float 之 float
阅读量:5047 次
发布时间:2019-06-12

本文共 1904 字,大约阅读时间需要 6 分钟。

重要知识点:

1 设计初衷

  float的设计初衷是文字环绕效果

2 包裹与破坏

  1 收缩:水平方向使其宽度收缩

  2 坚挺:竖直方向

  3 隔绝:里面的东西发生的任何事情对外面没有任何影响( BFC(Block formatting context)块级格式化上下文 )

  4 具有包裹性的其他小伙伴:

    1. display: inline-block/table-cell/...

    2. position: absolute(近亲)/fixed/sticky

    3. overflow: hidden/scroll

  5 破坏(父级元素高度被破坏,高度塌陷)(浮动是魔鬼)

  6 下面的属性也有破坏性

    1. display: none

    2. position: absolute(近亲)/fixed/sticky

3 清除float的影响

  1.父元素底部插入clear:both;依然可以对外部产生影响

      clear会发生margin重叠显现

  2.父元素BFC(IE8+)或 haslayout(IE6/IE7);隔绝外部,不会对外部产生任何影响

    BFC/haslayout通常声明

    float:left/right

    position:absolute/fixed

    overflow:hidden/scroll(IE7+)

    display:inline-block/table-cell(IE8+)

    width/height/zoom:1/...(IE6/IE7)

  3.最佳实践

    .clearfix:after{content:'';display:table;clear:both;}

     .clearfix{*zoom:1;}

4 float的滥用

  1 优点

     1、元素的block块状化,元素的display属性变为block

     2、破坏性造成的紧密排列属性(去空格化)

  2 缺点

    1、容错性比糟糕,容易出现问题;

    2、这种布局需要元素固定尺寸,很难重复使用;

    3、在低版本的IE下会有许多问题。

5 流体布局

   1 两边按钮,中间标题效果

    float:left(左按钮);float:right(右按钮);text-align:center(中间标题)

  2 单侧固定-文字环绕衍生

    1 单侧

      width+float(左侧元素)

      padding-left/margin-left(右侧元素)       2 两侧自适应布局实现:(左侧浮动,右侧可以变更宽)
      float:left;      width:max-width(自定义); display:table-cell(ie8,根据剩余宽度进行自适应浮动); *width:auto; *display:inline-block(ie7);
      备注:IE6识别*和_;IE7识别*和!important;其他浏览器识别 !important。     3 左浮动,不改变DOM位置的流体布局写法,核心代码是      左侧div: width: 100%; float: left;       右侧div: width: 56px; float: left; margin-left: -56px; <--- 此处的 margin-left,等于右侧 div 自身的宽度 width: 56px
 

6 兼容性

IE6浮动bug

  1.float双倍边距bug

  2.跟随float元素3px bug

  3.float元素后面的斜体文字会有下沉的bug

IE7浮动bug

  1.含clear的浮动元素包裹不正确的问题

  2.浮动元素倒数2个莫名垂直间距问题

  3.浮动元素最后一个字符重复问题

  4.浮动元素楼梯排列问题

  5.浮动元素和文本不在同一行的问题

 

BFC/haslayout通常声明float:left/rightposition:absolute/fixedoverflow:hidden/scroll(IE7+)display:inline-block/table-cell(IE8+)width/height/zoom:1/...(IE6/IE7)

转载于:https://www.cnblogs.com/poorpeople/p/6526516.html

你可能感兴趣的文章
poj1611 简单并查集
查看>>
tensorflow实现迁移学习
查看>>
Ubuntu 14.04下安装CUDA8.0
查看>>
跨平台开发 -- C# 使用 C/C++ 生成的动态链接库
查看>>
关于Redis处理高并发
查看>>
C# BS消息推送 SignalR介绍(一)
查看>>
asp.net core 系列 16 Web主机 IWebHostBuilder
查看>>
WPF星空效果
查看>>
WPF Layout 系统概述——Arrange
查看>>
PIGOSS
查看>>
几款Http小服务器
查看>>
iOS 数组排序
查看>>
第三节
查看>>
oracle 数据库 date + 1 转载
查看>>
下载北斗广播星历
查看>>
PHP结合MYSQL记录结果分页呈现(比较实用)
查看>>
Mysql支持的数据类型
查看>>
openSuse beginner
查看>>
Codeforces 620E(线段树+dfs序+状态压缩)
查看>>
Windows7中双击py文件运行程序
查看>>