深入理解系列之 float
float的设计初衷:
仅仅是为了实现文字环绕效果
float的感性认知:
- 包裹性:
- 收缩:元素应用了float后,宽度收缩,紧紧地包裹住内容(即元素的宽度收缩到元素内的内容的宽度大小
- 坚挺:原来没有高度,但元素应用了float后,元素的高度突然扩展到内容的高度大小
- 隔绝:元素应用了float后,盒子里面的内容发生了任何事情,都与盒子外的内容无关(BFC)
- 破坏性:
- 子元素应用了float后,父容器塌陷:父容器的高度变为0
tips: 具有包裹性(BFC特性)的其他属性:
display: inline-block/table-cell
position: absolute/fixed/sticky
overflow: hidden/scroll
具有破坏性的其他属性:
display: none
position: absolute/fixed/sticky
清除float对其他元素所带来的影响:
float元素底部插入一个带有 clear: both; 属性的元素
- 底部放置一个HTML block水平元素 -
- CSS after(IE8+)伪元素底部生成 - .clearfix:after{ clear: both; }
父元素BFC化(IE8+)或 haslayout(IE6/7)
BFC/haslayout的通常声明
- float: left/right
- position: absolute/fixed
- overflow: hidden/scroll(IE7+)
- display: inline-block/table-cell(IE8+)
- width/height/zoom: 1/...(IE6/7)
综上,IE8以上浏览器使用:
.clearfix:after {
content: '';
display: block;
height: 0;
overflow: hidden;
clear: both;
}
.clearfix {
*zoom: 1;
}
.clearfix:after {
content: '';
display: block;
height: 0;
overflow: hidden;
clear: both;
}
.clearfix {
*zoom: 1;
}
切记,.clearfix 只需应用在浮动元素的父级元素上 浮动的特性:
- 元素block块状化(砖头化)
- 破坏性造成的紧密排列特性(去空格化)
智能化自适应布局
<div class="container"><a href="#" class="left"><img src="url"/></a>
<div class="right">很多其他内容</div>
</div>
.container {
width: 600px;
margin: auto;
}
.left {
float: left;
margin-right: 20px;
}
.right {
display: table-cell;
*display: inline-block;
width: 2000px;
*width: auto;
}
深入理解系列之 float的更多相关文章
- C 标准库系列之float.h
float.h 内部主要包含了一系列的浮点数宏.指明可移植程序必要的常量:浮点数格式一般为Spxbe;其中S表示+-:p表示底数.b表示基数如2.8.10.16等进制,e为指数标识E或e: 在一般情况 ...
- 深入理解和应用Float属性
一.Float的特性 1. 应用于文字围绕图片 2. 创建一个块级框 3. 多列浮动布局 4. 浮动元素的宽度.高度自适应,但可以设置其值. 二.核心解决的问题 文字围绕图片:img标签与多个文本标签 ...
- 深入理解css之float
1.float的历史 float的设计的初衷:文字环绕效果 2.包裹与破坏 增强浮动的感性认知 包裹:1.收缩 2.坚挺 3.隔绝 里面的布局和外面一点关系都没有 包裹的特性就是BFC block f ...
- JavaScript深入理解系列:call与apply
定义 call和apply:函数调动call()方法在执行的时候,函数的里面的this会指向第一个参数值,除第一个参数值后面的若干支都是传进该函数,简而言之就是改变函数运行时的this指向. 使用示例 ...
- 【C#加深理解系列】(二)序列化
什么是序列化 序列化,它又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制.序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用. ...
- 【C#加深理解系列】(一)反射
什么是反射 反射是.NET中的重要机制,通过反射,可以在运行时获得程序或程序集中每一个类型(包括类.结构.委托.接口和枚举等)的成员和成员的信息.有了反射,即可对每一个类型了如指掌.另外我还可以直接创 ...
- JS深入理解系列(一):编写高质量代码
在for循环中,你可以循环取得数组或是数组类似对象的值,譬如arguments和HTMLCollection对象.通常的循环形式如下: // 次佳的循环for (var i = 0; i < m ...
- 分享一个tom大叔的js 深入理解系列 (有助于提升)
http://www.cnblogs.com/TomXu/archive/2011/12/15/2288411.html#3620172
- 转载爱哥自定义View系列--Canvas详解
上面所罗列出来的各种drawXXX方法就是Canvas中定义好的能画什么的方法(drawPaint除外),除了各种基本型比如矩形圆形椭圆直曲线外Canvas也能直接让我们绘制各种图片以及颜色等等,但是 ...
随机推荐
- Codeforces 768A Oath of the Night's Watch 2017-02-21 22:13 39人阅读 评论(0) 收藏
A. Oath of the Night's Watch time limit per test 2 seconds memory limit per test 256 megabytes input ...
- Window vista 以上制作自定义证书并为端口配置ssl
此处的关键在于证书需要分两步,不然在配置ssl时总会有错误.也许makecert命令也会有些玄机,但是管他呢,请按以下步骤和命令配置,几分钟就可成功: 证书制作: 1, 在开始/所有程序(或其他地方 ...
- POJ 3977 Subset(折半枚举+二分)
SubsetTime Limit: 30000MS Memory Limit: 65536KTotal Submissions: 6754 Accepted: 1277 D ...
- How To Use XDOLoader to Manage, Download and Upload Files? (DOC ID 469585.1)
In this Document Goal Fix Downloading Files Uploading Files References Applies to: BI Publishe ...
- Android-进程理解/进程的优先级别
进程理解 Android系统最小的控制单元是:进程 process 应用/CPU最小的控制单元是:线程 thread 一个应用一个 process 进程 一个应用一个 package(包是唯一的) 一 ...
- GlusteFS 二
通过heketi提供的RestfullApi来管理 Gluster,进而与kubernetes集成.将gluster作为kubernetes的数据存储 1 安装 安装gluster 参见 Gluste ...
- jenkins-cli命令使用总结
jenkins-cli命令使用总结 1.在jenkins中查看Jenkins CLI的相关说明 jenkins-->系统管理-->Jenkins CLI:如下图 下载:jenkins-cl ...
- CheckBox使用记录
页面显示 页面代码 <div> <div><input type="checkbox" value="" class=" ...
- Android TextView 嵌套图片及其点击,TextView 部分文字点击,文字多颜色
1. TextView 中嵌套图片的方法 TextView textView... textView.setText("..."); textView.append(Html.fr ...
- Nova 通过Python API 查询,创建,删除flavor
[root@controller ~]# cat flavor.py from novaclient import client as nvclient from novaclient import ...