块元素在文档流中默认垂直排列,所以这个三个div自上至下依次排开,如果希望块元素在页面中水平排列,可以使块元素脱离文档流。
使用float来使元素浮动,从而脱离文档流
可选值:

  1. none,默认值,元素默认在文档流中排列。
  2. left,元素会立即脱离文档流,向页面的左侧浮动。
  3. right,元素会立即脱离文档流,向页面的右侧浮动。

当为一个元素设置浮动以后(float属性是一个非none的值),元素会立即脱离文档流,元素脱离文档流以后,它下边的元素会立即向上移动;
元素浮动以后,会尽量向页面的左上或这是右上漂浮,直到遇到父元素的边框或者其他的浮动元素;
如果浮动元素上边是一个没有浮动的块元素,则浮动元素不会超过块元素;
浮动的元素不会超过他上边的兄弟元素,最多最多一边齐;

浮动的元素不会盖住文字,文字会自动环绕在浮动元素的周围,所以我们可以通过浮动来设置文字环绕图片的效果;

在文档流中,子元素的宽度默认占父元素的全部;

开启span的浮动,内联元素脱离文档流以后会变成块元素。

w3school上面有比较具体的讲解:http://www.w3school.com.cn/css/css_positioning_floating.asp

demo:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
/*默认值。元素不浮动,并会显示在其在文本中出现的位置。*/
.box4{
width: 100px;
height: 100px;
background-color: blue;
float: none;
}
/*规定应该从父元素继承 float 属性的值。*/
.box1{
width: 100px;
height: 100px;
background-color: yellow;
float: inherit;
} /*元素向左浮动。*/
.box2{
width: 100px;
height: 100px;
background-color: red;
float: left;
} /*元素向右浮动。*/
.box3{
width: 100px;
height: 100px;
background-color: green;
float: right;
} </style>
</head>
<body>
<div class="box1">box1</div>
<div class="box2">box2</div>
<div class="box3">box3</div>
<div class="box4">box4</div>
</body>
</html>

效果图:

demo2:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
/*规定应该从父元素继承 float 属性的值。*/
.box1{
width: 100px;
height: 100px;
background-color: yellow;
float: inherit;
} /*元素向左浮动。*/
.box2{
width: 100px;
height: 100px;
background-color: red;
float: left;
} /*元素向右浮动。*/
.box3{
width: 100px;
height: 100px;
background-color: green;
float: right;
} </style>
</head>
<body>
<div class="box1">box1</div>
<div class="box2">box2</div>
<div class="box3">box3</div>
<p>
山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有?
</p>
</body>
</html>

效果可以验证浮动的元素不会盖住文字,文字会自动环绕在浮动元素的周围,所以我们可以通过浮动来设置文字环绕图片的效果:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
/*规定应该从父元素继承 float 属性的值。*/
.box1{
width: 100px;
height: 100px;
background-color: yellow;
float: inherit;
} /*元素向左浮动。*/
.box2{
width: 100px;
height: 100px;
background-color: red;
float: left;
} /*元素向右浮动。*/
.box3{
width: 100px;
height: 100px;
background-color: green;
float: right;
} </style>
</head>
<body>
<div class="box1">box1</div>
<div class="box2">box2</div>
<div class="box3">box3</div>
<p>
山不在高,有仙则名。水不在深,有龙则灵。斯是陋室,惟吾德馨。苔痕上阶绿,草色入帘青。谈笑有鸿儒,往来无白丁。可以调素琴,阅金经。无丝竹之乱耳,无案牍之劳形。南阳诸葛庐,西蜀子云亭。孔子云:何陋之有?
</p>
</body>
</html>

效果:

demo3验证开启span的浮动,内联元素脱离文档流以后会变成块元素:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
*{
margin: 0px;
padding: 0px;
}
.div1{
/*
* 在文档流中,子元素的宽度默认占父元素的全部
*/
background-color: #bfa; /*
* 当元素设置浮动以后,会完全脱离文档流.
* 块元素脱离文档流以后,高度和宽度都被内容撑开
*/
float: left;
} .span1{
/*
* 开启span的浮动
* 内联元素脱离文档流以后会变成块元素
*/
float: left;
width: 100px;
height: 100px;
background-color: yellow;
} </style>
</head>
<body> <div class="div1">div</div> <span class="span1">span</span> </body>
</html>

看下效果:

前端学习 -- Css -- 浮动的更多相关文章

  1. vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结

    vue—你必须知道的   目录 更多总结 猛戳这里 属性与方法 语法 计算属性 特殊属性 vue 样式绑定 vue事件处理器 表单控件绑定 父子组件通信 过渡效果 vue经验总结 javascript ...

  2. 前端学习---css基本知识

    css基本知识 我们先看一个小例子: <!DOCTYPE html> <html lang="en"> <head> <meta char ...

  3. 前端学习——css实用技术

    一,css控制文本样式 文本相关的css属性有很多,包括: color;font-size;font-weight;text-transform(大小写uppercase等);text-decorat ...

  4. 前端学习 -- Css -- 高度坍塌问题的产生以及解决

    在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高. 但是当为子元素设置浮动以后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷. 由于 ...

  5. 前端学习——css(初级)

    1.Css盒模型(box model) web开发中,html的每个元素都是盒子,盒子可以装内容(content).可以有填充物(padding).有外壳(border) 和 外保护层(margin) ...

  6. [Web 前端] 017 css 浮动

    1. 文档流 指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列 块元素占一行 行内元素在一行之内 从左到右排列 先写的先排列 后写的排在后面 每个盒子都占据自己的位置 2. 浮动的特性 ...

  7. 前端学习——css基础知识,选择器与html模板、值得收藏的html标签

    一.css需要的html(采用html5标准) DTD,文档类型声明: <!Doctype html> 文本编码声明: <meta charset="utf-8" ...

  8. Web前端学习——CSS

    一.CSS简介CSS全称cascading style sheeding,层叠样式列表.CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化.二.CSS组成1.选择器(1) ...

  9. 前端学习 -- Css -- overflow

    子元素默认是存在于父元素的内容区中,理论上讲子元素的最大可以等于父元素内容区大小.如果子元素的大小超过了父元素的内容区,则超过的大小会在父元素以外的位置显示,超出父元素的内容,我们称为溢出的内容.父元 ...

随机推荐

  1. python之Django实现商城从0到1

    dailyfresh-B2Cdailyfresh mall based on B2C model 基于B2C的天天生鲜商城 项目托管地址:https://github.com/Ylisen/daily ...

  2. 2017-2018-2 20155224『网络对抗技术』Exp5:MSF基础应用

    基础问题回答 用自己的话解释什么是exploit,payload,encode? exploit就相当于是载具,将真正要负责攻击的代码传送到靶机中,我觉得老师上课举的火箭和卫星的例子非常形象,火箭只是 ...

  3. adb连接不上手机的解决方案

    一.确认手机的USB调试接口是打开的:----------打开开发者模式,暴击手机版本号多次,直到提示已打开开发者模式. 二.使用USB线连接电脑和手机,可以首先执行adb remount(重新挂载系 ...

  4. TMS320VC5509的MCBSP配置成SPI模式通信

    1. 首先是把MCBSP的配置 其次是时钟停止模式的配置,关闭大同小异 SPI有4中模式,怎么根据上面的寄存器选择哪种模式?下面展示了其中两种,CLKXP=1的时候有另外两种,暂时不整出来了 2. 代 ...

  5. 使用 spring-boot-devtools 进行热部署

    2019/3/5 更新: 发现热部署不生效,出现页面显示error的错误,然后在 application.properties 中注释了下面两行成功实现热部署(直接删掉也可以) #spring.dev ...

  6. JavaScript快速入门-ECMAScript语句

    JavaScript语句(if.for.for in.do...while.while.break.continue.switch) 一.if语句 if (condition) statement1 ...

  7. Excel读取Word Table元素

    Option Explicit Sub Mian() Application.ScreenUpdating = False Application.DisplayAlerts = False Appl ...

  8. 使用VSCode调试单个PHP文件

    突然发现是可以使用 VSCode 调试单个 PHP 文件的,今天之前一直没有弄成功,还以为 VSCode 是不能调试单文件呢.这里记录一下今天这个"突然发现"的过程. 开始,是在看 ...

  9. kettle开源项目部署文档

    kettle开源项目部署文档 1.kettle简介 kettle是一款国外开源的ETL(Extract Transform Load)工具,纯java编写,可以在Windows.Linux.Unix上 ...

  10. python 游戏(数字推理游戏Bagels)

    1.游戏思路和流程图 实现功能:玩家猜测三位不一样的数字,猜错了有提示,提示分别为(位置错误数字正确),(位置和数字正确),(数字和位置都不正确) 游戏流程图 2. 使用模块和游戏提示 import ...