一天搞定CSS: 清除浮动(float)--13
上一节已经说明了为什么要清除浮动了。这里我们就来解决浮动产生的各种问题。
为什么要清楚浮动?
地址:http://blog.csdn.net/baidu_37107022/article/details/71554283
1.清除浮动方法概览
2.clear方法
代码演示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
div{
width: 100px;
height: 200px;
background: red;
}
/*1.left 元素的左边不能有浮动的元素*/
/*.div1{
float: left;
}
.div2{
clear: left;
}*/
/*2.right 元素的右边不能有浮动的元素*/
/*.div1{
float: right;
}
.div2{
clear: right;
}*/
/*3.both 元素的两都不能有浮动的元素*/
.div1{
float: left;
}
.div2{
float: right;
}
.div3{
clear: both;
}
</style>
</head>
<body>
<!--
clear 元素的某个方向上不能有浮动的元素
left 元素的左边不能有浮动的元素
right 元素的右边不能有浮动的元素
both 元素的两都不能有浮动的元素
-->
<div class="div1">kaivon1</div>
<div class="div2">kaivon2</div>
<div class="div3">kaivon3</div>
</body>
</html>
效果图
清除浮动前:div3钻到了div1下面
清除浮动后:
3.方法2–6的
代码演示:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.parent{
border: 1px solid #f00;
/*2、给父级添加高度:没有从根本上解决浮动的问题*/
/*height: 100px;*/
/*3、inline-block*/
/*display: inline-block;
margin: 0 auto;*/
/*4、overflow:hidden;*/
/*overflow: hidden;*/
}
.box{
width: 100px;
height: 100px;
background: green;
float: left;
}
</style>
</head>
<body>
<!--
清除浮动的方法
1、clear
2、给父级添加高度
有的时候是不能给父级添加高度的,所以这个方法就用不了(父级没有高度的情况下)
3、inline-block
具有与上一个的清除浮动一样的总是,同时加了以后这个元素就没有办法居中了
4、overflow:hidden;
如果子级有定位的话,并且这个定位超出了父级的范围,那样的话就看不到了,所以不能加这个命令
5、空标签
空标签是没有内容,但是它的作用是用来清除浮动的,所以不符合行为、样式、结构相分离的标准
ie6下标签是有一个最小高度19px,解决后也会有2像素的偏差
6、br清除浮动
与上面的问题是一样
7、after伪类清除浮动(现在最主流的方法)
-->
<div class="parent">
<div class="box"></div>
<!--5、空标签-->
<!--<div style="clear: both;"></div>-->
<!--6、br清除浮动-->
<br clear="all" />
</div>
</body>
</html>
效果图
清除浮动前:
清除浮动后:
4.after伪类清除浮动(现在最主流的方法)
代码演示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.parent{
border: 1px solid #f00;
}
.box{
width: 100px;
height: 100px;
background: green;
float: left;
color: #fff;
}
/*
* 7、after伪类清除浮动(现在最主流的方法)
*
* .box:after{
content: '这是伪类生成的内容';
}*/
.clearfix{
*zoom:1;
}
.clearfix:after{
content: '';
display: block;
clear: both;
}
</style>
</head>
<body>
<!--
清除浮动的方法
1、clear
2、给父级添加高度
有的时候是不能给父级添加高度的,所以这个方法就用不了(父级没有高度的情况下)
3、inline-block
具胡与上一个的清除浮动一样的总是,同时加了以后这个元素就没有办法居中了
4、overflow:hidden;
如果子级有定位的话,并且这个定位超出了父级的范围,那样的话就看不到了,所以不能加这个命令
5、空标签
空标签是没有内容,但是它的作用是用来清除浮动的,所以不符合行为、样式、结构相分离的标准
ie6下标签是有一个最小高度19px,解决后也会有2像素的偏差
6、br清除浮动
与上面的问题是一样
7、after伪类清除浮动(现在最主流的方法)
after 代表选择到的元素的内容的最后面
after伪类的内容默认是一个行内元素
content 设置的内容
-->
<div class="parent clearfix">
<div class="box"></div>
</div>
</body>
</html>
效果图同上(第3点)
一天搞定CSS: 清除浮动(float)--13的更多相关文章
- css清除浮动float
css清除浮动float 1.分析HTML代码 <div class="outer"> <div class="div1">1</ ...
- 【转】css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?
摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响? 一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class ...
- css清除浮动float的几种方法
摘要: css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响? 一.抛一块问题砖(display: block)先看现象: 这里我没有给最外层的DIV.outer 设置高度, ...
- css清除浮动float方法
转载:http://www.cnblogs.com/ForEvErNoME/p/3383539.html 什么是CSS清除浮动? 在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的 ...
- 一天搞定CSS: 浮动(float)及文档流--10
浮动(float),一个我们即爱又恨的属性.爱,因为通过浮动,我们能很方便地布局: 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器). ...
- 一天搞定CSS: 浮动(float)的副作用--12
我们通常使用浮动来实现某些元素的布局,但是往往这些元素浮动会影响其他元素的布局,因此会产生副作用. 如果你还不清楚什么是浮动,那就点开这个链接: http://blog.csdn.net/baidu_ ...
- CSS清除浮动float方法总结
使用浮动造成的BUG: 使用浮动前:(子节点是将父节点撑开了) 代码如下 <div class="box"> <div class="d1"& ...
- css清除浮动float的三种方法总结,为什么清浮动?浮动会有那些影响?一起来$('.float')
一.抛一块问题砖(display: block)先看现象: 分析HTML代码结构: <div class="outer"> <div class=&quo ...
- css清除浮动float的三种方法总结
原文地址: http://my.oschina.net/leipeng/blog/221125 张大神的解析: http://www.zhangxinxu.com/wordpress/2010/01/ ...
- 前端学习笔记之css清除浮动float的七种常用方法总结和兼容性处理
在清除浮动前我们要了解两个重要的定义: 浮动的定义:使元素脱离文档流,按照指定方向发生移动,遇到父级边界或者相邻的浮动元素停了下来. 高度塌陷:浮动元素父元素高度自适应(父元素不写高度时,子元素写了浮 ...
随机推荐
- 第一章 自定义MVC框架
第一章 自定义MVC框架1.1 MVC模式设计 组成:Model:模型,用于数据和业务的处理 View :视图,用于数据的显示 Controller:控制器 ...
- 【转载】stm32之看门口介绍
今天在学习mpu6050的时候,发现程序出现了看门狗的程序,其实这个在学习51的时候就应该了解的,但是我并没有去了解.导致现在学习32,其实就是在补之前的51. 首先,我想把文章最后一句放到开始写出来 ...
- Jquery遍历数组之$().each()方法和$.each()方法
前几天面试碰到了一个笔试问题:用jquery变了数组. 总结一下用jquery遍历数组的两种方法: 一.$().each()方法 <head><meta http-equiv=&qu ...
- iOS 相册和网络图片的存取
iOS 相册和网络图片的存取 保存 UIImage 到相册 UIKit UIKit 中一个古老的方法,Objective-C 的形式 void UIImageWriteToSavedPhotosAlb ...
- My SQL数据库的安装与配置
MySQL是一个关系型数据库管理系统.MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言 MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小.速度快.总体拥有成本低,尤 ...
- NodeJS 事件循环
Node.js 是单进程单线程应用程序,但是通过事件和回调支持并发,所以性能非常高. Node.js 的每一个 API 都是异步的,并作为一个独立线程运行,使用异步函数调用,并处理并发. Node.j ...
- 开始更新webpack踩坑笔记
今天开始学习webpack,记录下踩过的坑-zxf
- Oracle与mysql的字段类型整理
Oralce的字段类型整理如下: Mysql的字段类型整理如下: 最后面一栏是对应JAVA的基本类型.希望对初学者有用,初学者在学习JAVA的时候,不知道怎么把JAVA的对象指向到ORALCE或者MY ...
- 区划代码 node 版爬虫尝试
前言 对于区划代码数据,很多人都不会陌生,大多公司数据库都会维护一份区划代码,包含省市区等数据.区划信息跟用户信息息息相关,往往由于历史原因很多数据都是比较老的数据,且不会轻易更改.网上也有很多人提供 ...
- C#中对于变量的声明和初始化
C#变量初始化是C#强调安全性的另一个例子.简单地说,C#编译器需要用某个初始值对变量进行初始化,之后才能在操作中引用该变量.大多数现代编译器把没有初始化标记为警告,但C#编译器把它当作错误来看待. ...