关于clear和浮动
来源:互联网 发布:工程预算软件手机版 编辑:程序博客网 时间:2024/05/10 16:35
关于clear属性,W3C上的解释是规定哪一侧不允许其他浮动元素,确实有点不好理解,为好更加好的了解clear属性我们不妨运用一下立体思维。首先,我们把<body>想象成一个框,把里面的元素想象成大小不一,厚度不一的拼图,接下来我们想像一下这个框的横截面:
光是一张图可能有点难以理解,我们同过几个实例来详细分析一下;在实践中,我们经常遇到因为内部元素浮动导致撑不开外部元素的情况,原因是因为内部浮动的元素和外部元素不在同一层中。
<div id="c1" style="width:1000px;background:red"><div id="c2" style="width:800px;height:800px;background:green;float:left"></div></div>
我们会发现内部浮动的c2撑不开外部的c1;让我用立体思维想一下,横截面如下:
虚线的代表是原本未浮动c2的横截面位置,实线代表的是浮动后c2的位置,红色的线代表包裹c2的c1,我们把c1想像成一条橡皮筋(左边一头固定),假如c2没有浮动的话,c2与c1还处于同一层,c2就能把c1撑开;但是,因为c2的浮动,导致c1和c2不在同一层,虽然从上方看(我们平时看的角度上看)没有异常,但实际上c1和c2已经不在同一层上了,所以c2不能将c1撑开,就好比橡皮筋里面要有东西才能将这个橡皮筋撑开。
接下来我们在说说clear属性,既然float可以让元素浮动,那我们就把clear的作用想象成给元素“增高”。
<div id="c1" style="width:1000px;background:red"> <div id="c2" style="width:800px;height:800px;background:green;float:left"></div> <div id="c3" style="width:800px;height:400px;background:blue;clear:both"></div></div>
clear属性让元素”长高“,横跨两层,横截面如下:
虚线的代表是原本未浮动c2的横截面位置,实线代表的是浮动后c2的位置,红色的线代表包裹c2的c1,我们把c1想像成一条橡皮筋(左边一头固定),右边蓝色的代表添加了clear属性的c3,因为添加了clear属性,使c3长高横跨两层,让c3不会被c2遮挡,同时还撑开了c1。
阅读全文
0 0
- 关于clear和浮动
- 关于 clear:both 清楚浮动
- 浮动和清除浮动 float clear
- 【clear】闭合浮动(clear)的原理和应用
- CSS中关于浮动(float)和清理(clear)的使用总结
- 浅谈clearfix类和clear清除浮动
- 【css】清除浮动(clearfix 和 clear)的用法
- 用float clear和BFC清除浮动 学习总结
- css clear 清除浮动
- 清除浮动(clear float)
- CSS浮动(float,clear)
- CSS浮动(float,clear)
- css浮动(float,clear)
- 浮动float与clear
- 清除浮动clear样式
- 浮动(float)和清理浮动(clear)的经验分享
- 关于queue和stack没有clear方法
- CSS clear both清除浮动
- 数据结构 第9讲 数组与广义表
- C操作符总结
- 单行居中,多行居左
- JAVA最新中国手机号段匹配
- 可跨域的单点登录(SSO)实现方案【附.net代码】
- 关于clear和浮动
- Linux的单用户模式、救援模式、克隆虚拟机、机器相互登录
- 使用github+hexo搭建个人免费博客
- Python
- 其他题目---设计可以变更的缓存结构
- Maven打包方式,以及jar包冲突问题的解决方法
- 3、Python 处理 JSON 数据
- sqlplus 执行报错
- 支持备份/还原win10系统的分区工具DiskGenius v4.9.3专业版下载+序列号注册文件激活教程