一天搞定CSS: 浮动(float)及文档流--10
浮动(float),一个我们即爱又恨的属性。爱,因为通过浮动,我们能很方便地布局; 恨,浮动之后遗留下来太多的问题需要解决,特别是IE6-7(以下无特殊说明均指 windows 平台的 IE浏览器)。
下面我们就来详细说明浮动!!!!!!!!
1.文档流
在浮动中有一个文档流的概念,所以在这里不得不介绍一下文档流了。
代码演示
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<!--
文档流
文档中可显示的元素在排列时候的开始位置以及他们所占的区域
因为页面中的元素分为不同的种类,所以他们会按各自的特点去显示,在页面中所占的区域不是一样的。会按从上到下,从左到右的顺序输出内容
-->
<!--<span style="background: red;">kaivon</span>
<span style="background: red;">kaivon2</span>-->
<!--<span style="background: red;">kaivon</span>
<div style="width: 100px;height: 100px; background: red;">kaivon2</div>-->
<!--<span style="background: red;">kaivon</span>
<div style="width: 100px;height: 100px; background: red; display: inline-block;">kaivon2</div>-->
<div style="width: 100px;height: 100px; background: red; ">kaivon1</div>
<div style="width: 100px;height: 100px; background: green;">kaivon2</div>
</body>
</html>
2.浮动
浮动:
使元素脱离文档流,按照指定的方向发生移动,遇到父级的边界或者相邻的浮动元素就会停下来
浮动的目的:
为了达到自己的布局目的,让指定元素定位在指定位置,我们就需要用到浮动。
3.概述浮动float
通过控制属性float来,控制元素的位置
float取值:
1)left:向左浮动
2)right:向右浮动
3)none:没有浮动,默认值
4.浮动的特点
5.代码演示
1).特点1234演示
1、块元素可以在一行显示
2、按照一个指定的方向移动,遇到父级的边界或者相邻的浮动元素就会停下来
3、行内元素支持宽高
4、脱离文档流
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
div{
width: 100px;
height: 200px;
background: green;
color: #fff;
float: left;
}
span{
background: red;
width: 100px;
height: 200px;
float: right;
}
.father{
float: none;
border: 1px solid blue;
margin: 100px;
background:none;
width: 100%;
height: 500px;
}
a{
float: right;
width: 100px;
height: 100px;
background: yellow;
}
</style>
</head>
<body>
<!--
浮动 float
定义 使元素脱离文档流,按照指定的方向发生移动,遇到父级的边界或者相邻的浮动元素就会停下来
值 left、right、none
特征
1、块元素可以在一行显示
2、按照一个指定的方向移动,遇到父级的边界或者相邻的浮动元素就会停下来
3、行内元素支持宽高
4、脱离文档流
-->
<!--2、按照一个指定的方向移动,遇到父级的边界或者相邻的浮动元素就会停下来 最外层的div.father就是一个父容器-->
<div class="father">
<!--1、块元素可以在一行显示-->
<div>div1</div>
<div style="background: red;">div2</div>
<!--3、行内元素支持宽高 a, span标签并没有做类型转变,那它是一个行内标签,是不能设置宽高的,但是这里可以了-->
<span>span1</span>
<a href="">a22222</a>
</div>
<!--4、脱离文档流 此时所有.father下的所有div,span,a标签都不是按正常的文档流循序排列了,说明脱离了文档流-->
</body>
</html>
2).特点56演示
5、块元素默认宽度会被改变(包裹性)
6、父级高度塌陷(破坏性)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.parent{
border: 1px solid #f00;
}
.box{
width: 100px;
height: 200px;
background: green;
color: #fff;
float: left;
}
.width{
height: 50px;
border: 5px solid #0000FF;
float: left;
}
</style>
</head>
<body>
<!--
浮动 float
定义 使元素脱离文档流,按照指定的方向发生移动,遇到父级的边界或者相邻的浮动元素就会停下来
值 left、right、none
特征
1、块元素可以在一行显示
2、按照一个指定的方向移动,遇到父级的边界或者相邻的浮动元素就会停下来
3、行内元素支持宽高
4、脱离文档流
浮动后跟的元素(没有浮动)的位置是从前面浮动元素的位置开始的
注意:非浮动元素里的内容会留出前面浮动元素的位置(盒模型的位置)
5、块元素默认宽度会被改变(包裹性)
块元素不设置宽度,那宽度会自动变成内容所撑开的宽度
6、父级高度塌陷(破坏性)
子元素有浮云后,那父级元素的高度不会自动撑开了
-->
<!--5、块元素默认宽度会被改变(包裹性) 正常情况下div会默认占据一行,浮动后宽高就由内容撑开-->
<div class="width">alibaba</div>
<!--6、父级高度塌陷(破坏性)-->
<div class="parent">
<div class="box">box</div>
</div>
</body>
</html>
3).特点7演示
7、换行不会被解析成空格
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
.parent{
border: 1px solid #f00;
}
.box{
width: 100px;
height: 200px;
background: green;
color: #fff;
float: left;
}
</style>
</head>
<body>
<!--
浮动 float
定义 使元素脱离文档流,按照指定的方向发生移动,遇到父级的边界或者相邻的浮动元素就会停下来
值 left、right、none
特征
1、块元素可以在一行显示
2、按照一个指定的方向移动,遇到父级的边界或者相邻的浮动元素就会停下来
3、行内元素支持宽高
4、脱离文档流
浮动后跟的元素(没有浮动)的位置是从前面浮动元素的位置开始的
注意:非浮动元素里的内容会留出前面浮动元素的位置(盒模型的位置)
5、块元素默认宽度会被改变(包裹性)
块元素不设置宽度,那宽度会自动变成内容所撑开的宽度
6、父级高度塌陷(破坏性)
子元素有浮云后,那父级元素的高度不会自动撑开了
7、换行不会被解析成空格
浮云后的元素就会脱离文档流了,那它就不属于文档流里的结构了,所以换行、空格都跟父级没关系了
-->
<!--7、换行不会被解析成空格-->
<div class="parent">
<div class="box">box</div>
<div class="box">box</div>
<div class="box">box</div>
</div>
</body>
</html>
6.浮动的副作用
地址:http://blog.csdn.net/baidu_37107022/article/details/71554283
7.清除浮动
地址:http://blog.csdn.net/baidu_37107022/article/details/71557806
一天搞定CSS: 浮动(float)及文档流--10的更多相关文章
- CSS布局之脱离文档流详解——浮动、绝对定位脱离文档流的区别
1.代码 (1)示例代码1 <!DOCTYPE html> <html lang="zh"> <head> <meta charset=& ...
- 前端基础-CSS如何布局以及文档流
一. 网页布局方式 二. 标准流 三. 浮动流 四. 定位流 一. 网页布局方式 1.什么是网页布局方式 布局可以理解为排版,我们所熟知的文本编辑类工具都有自己的排版方式, 比如word,nodpad ...
- css盒子模型、文档流、相对与绝对定位、浮动与清除模型
一.CSS中的盒子模型 标准模式和混杂模式(IE).在标准模式下浏览器按照规范呈现页面:在混杂模式下,页面以一种比较宽松的向后兼容的方式显示.混杂模式通常模拟老式浏览器的行为以防止老站点无法工作. h ...
- 认识CSS中布局之文档流、浮动、定位以及叠放次序
前端之HTML,CSS(七) CSS CSS布局的核心就是盒子的摆放,即CSS定位.而CSS中定位机制分为:普通流(nomal flow).浮动(float).定位(position). 普通流 普通 ...
- 23----2013.07.01---Div和Span区别,Css常用属性,选择器,使用css的方式,脱离文档流,div+css布局,盒子模型,框架,js基本介绍
01 复习内容 复习之前的知识点 02演示VS创建元素 03div和span区别 通过display属性进行DIV与Span之间的转换.div->span 设置display:inline ...
- css排版之-标准文档流
标准流指的是在不使用其他的与排列和定位相关的特殊CSS规则时,各种元素的排列规则.HTML文档中的元素可以分为两大类:行内元素和块级元素. 1.行内元素不占据单独的空间,依附于块级元素,行 ...
- 1小时搞定vuepress快速制作vue文档/博客+免费部署预览
先来一下演示效果.和vue的官方文档几乎是一致的,页面内容都可自定义. 此教程部署后的效果预览. 在你跟着教程搭建好项目之后,你会收获: 快速搭建一个文档/博客,后期只需要修改markdown内容和导 ...
- CSS的布局之文档流,与行内/块级元素的延伸
文档流,即(position:stiatic),是html布局机制的默认状态. 文档流在排列的过程中,块级元素从上到下,行内元素,从左到右. ·块级元素 <div> <h系列> ...
- css浮动Float
核心:浮动元素会脱离文档流并向左/向右移动,直到碰到父元素或者另外一个浮动元素. float :left 向左浮动 right 向右浮动 none (默认) inherit 继承父元素 fl ...
随机推荐
- 【shell编程基础0】bash shell编程的基本配置
前面一篇“shell编程之变量篇”主要讲述下shell编程的变量的基本知识:设置变量的方式,自定义变量和环境变量的差别,变量的替换.删除.测试等. 这一篇主要是讲述在bash shell下的一些基本配 ...
- canvas画图
这个元素负责在页面中设定一个区域,然后就可以通过JS动态的在这个区域中绘制图形. <canvas>由几组API构成. <canvas>还建议一个名为WebGL的3D上下文 (1 ...
- Redis技术分享
环境介绍: 开发环境: spring3+tomcat7+maven3+redis-3.0.7 运行环境: Linux 前言: 项目中引入redis背景: 项目中最初将科目.打印.利润表.资产负债表.现 ...
- cookie,session,token的定义及区别
参考了很多文章总结的. 1.cookie(储存在用户本地终端上的数据) 服务器生成,发送给浏览器,浏览器保存,下次请求同一网站再发送给服务器. 2.session(会话) a.代表服务器与浏览器的一次 ...
- 使用OpenOffice实现各种文档转pdf或者html文档
---恢复内容开始--- 最近在做项目时需要写一个功能,将doc,ppt,xsl等文档做在线预览.网上查了很多资料,开始适用poi将文档转成pdf没成功,后来使用了OpenOffice4 + jodc ...
- linux下归档、解压缩工具:tar命令
tar是一个类似于windows下的解压缩工具,可以将一大堆文件或目录打包成一个文件,还可以通过特定选项使用压缩工具进行解压缩. 语法: tar (选项) (参数) 常用选项: -c:创建打包文件. ...
- 异步工作流控制-condCall
在JavaScript编程中,异步操作一直是一个问题,回调是一种深层次的嵌套处理方式,我们也可以把嵌套处理转为直线处理以简化异步处理.有过prolog和erlang编程了解的同学可能对模式匹配有深刻的 ...
- redis中的事务
首先明白在java中线程和进程的区别: 1.什么是多线程? 是指一个应用程序同时执行多个任务,一般来说一个任务就是一个线程 ,而一个应用程序有一个以上的线程我们称之为多线程. 2.什么是进程? 进程是 ...
- js 正则表达式验证
验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9 ...
- swap与dd命令使用详解
处理交换文件和分区 交换分区是系统RAM 的补充 基本设置包括: 创建交换分区或者文件 使用mkswap 写入特殊签名 在/etc/fstab 文件中添加适当的条目 使用swapon -a 挂载交换分 ...