想实现下图所示的效果: 代码: div > div style="float:left;width:50% ;background-color:red">...key1: div> div style="float:right...> div> div style="padding-left:10%">22div> div > div style="float:left;width:50% ;background-color...> div> div > div style="float:left;width:50% ;background-color:red"> <span style="float
浮动和文字环绕 浮动框就是一个框在当前行被向左或向右挪动(偏移),它不在常规流中,浮动框由浮动元素的框组成。...浮动元素会缩短行框 由于浮动框并不在常规流中,在该浮动框之前或之后创建的非定位框垂直排列,就好象浮动框并不存在一样。然而,浮动框之后创建的行框 会被缩短,比便为浮动元素的 margin 框提供空间。...TABLE 元素、块级替换元素、BFC元素和浮动元素 TABLE 元素、块级替换元素或者在常规流中创建了 block formatting contexts 的元素,它们的 border box 在同一个...就是说,同一行中的左浮动元素和有浮动元素不能够有互相折叠的现象。 浮动元素的包含块宽度为200px,无法在一行放置,所以,右浮动元素只好折行显示了。 宽度设置成300px之后,则可以放到一行。 5. 浮动框的顶外边不能高于它包含块的顶部。
如果没有足够的水平空间来浮动,它会向下移动,直到空间合适或者不会再出现其它浮动了 因为浮动(盒)不在普通流内,在浮动盒之前或者之后创建的未定位的(non-positioned)块盒会竖直排列,就像浮动不存在一样...然而,接着浮动盒 创建的当前及后续行盒会进行必要的缩短,为了给浮动(盒)的margin box让出空间。 二,浮动的例子 浮动的定义很枯燥,下面我们通过几个例子,来理解浮动的概念。...box2的高,box3在向下向左移动的时候,遇到了box1的外边沿,就停止移动了。...当一个普通元素遇到一个浮动元素,普通元素是看不见浮动元素的。但里面的行盒是可以看见浮动元素的,行盒会缩短并给浮动元素让位。 ? 写一下我理解的行盒的概念。...行盒就是 line-box,也就是一个块级元素展示出的每一行就是一个行盒。块级元素内展示在一行的所有元素共同构成了一个行盒。
先来了解一下block元素和inline元素在文档流中的排列方式。 block元素通常被现实为独立的一块,独占一行,多个block元素会各自新起一行,默认block元素宽度自动填满其父元素宽度。...block元素可以设置width、height、margin、padding属性; inline元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化...由于浮动框不在文档的普通流中,所以文档的普通流中的浮动框之后的块框表现得就像浮动框不存在一样。...如上面的例1:相邻的两个盒子box2向左浮动、box3未浮动。一个使用浮动一个没有导致DIV不是在同个“平面”上,但内容不会照成覆盖现象,只有DIV形成覆盖现象。 ...但是为了计算方便:一般都会增加一个空div块,并使用clear:both来设定表示两侧都不允许有浮动元素。这样新的空div块会下移,达到撑开父元素的目的。
而在电影《恋空》中她的表演既具深度又生活化。 div> 1.2创建网页布局 float属性还常用于网页布局: 效果: ?...实现原理: 侧边栏、中间内容区域的元素设置向左浮动(float:left;),最下面的footer元素设置为清除左右两边的浮动(clear:both;) 2.float的属性值 float有四个可用的属性值...3.浮动引发的问题 3.1破坏性 这个在我的一篇文章小结BFC的基本知识与应用中也提过:如果父元素的子元素都是浮动元素,那么父元素的高度会发生高度塌陷。...例如上面1.2中创建网页布局中,就是将最下面的footer元素,设置为清除左右两边的浮动(clear:both;) #footer { ... ...clear: both; } 4.2使用空标签清除浮动 还是以上述为例,侧边栏、中间内容区域的元素设置向左浮动(float:left;),为了清除浮动,把侧边栏、中间栏外包一层父元素,然后在父元素的闭合标签前
div> 1.2创建网页布局 float属性还常用于网页布局: 效果: 网络布局.png 实现原理: 侧边栏、中间内容区域的元素设置向左浮动(float:left;...),最下面的footer元素设置为清除左右两边的浮动(clear:both;) 2.float的属性值 float有四个可用的属性值: left:元素向左浮动 right:元素向右浮动 none:默认值...3.浮动引发的问题 3.1破坏性 这个在我的上一篇文章小结BFC的基本知识与应用中也提过:如果父元素的子元素都是浮动元素,那么父元素的高度会发生高度塌陷。...例如上面1.2中创建网页布局中,就是将最下面的footer元素,设置为清除左右两边的浮动(clear:both;) #footer { ......clear: both; } 4.2使用空标签清除浮动 还是以上述为例,侧边栏、中间内容区域的元素设置向左浮动(float:left;),为了清除浮动,把侧边栏、中间栏外包一层父元素,然后在父元素的闭合标签前
什么是浮动 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。...因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。 如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。...一个元素设置了浮动后,会影响它的兄弟元素,具体的影响方式较为复杂,这要视乎这些兄弟元素是块级元素还是内联元素: 1.若是块级元素会无视这个浮动的块框,也就是我们平时看到的效果——使到自身尽可能与这个浮动元素处于同一行....浮动的元素自己会有一套排列规则,相当于在页面上面浮动着一层新的页面 1.额外标签法(在最后一个浮动标签后,新加一个标签,给其设置clear:both;)(不推荐) <!...推荐使用 我们写项目的时候经常会用到这种方法,创建一个class写入清除浮动的样式,当我们有元素需要清除浮动的时候就在元素的class后面加上class。
在网页设计中清除浮动是一种非常常见的需求,这篇博客将介绍几种常见的清除浮动的方法 引出使用场景 假定我们需要创建3个div标签,并且将他们的类名分别命名为box1、box2和box3,将box1和box2...我是box3div> 上述代码在浏览器中的运行效果如下: 分析:通过上图展示的效果我们可以看出box1和box2虽然都在第一行,但是在没有给box3设置浮动的情况下...,box3也跑到了第一行上,因为当给box1和box2设置了浮动后,而浮动的元素是脱离了标准文档流,而浏览器会认为脱离了标准文档流的元素不占位置,而box3依然在标准文档流中,所以box3会跑到浏览器的最左端...解决方法 方法1:使用clear : both清除浮动 在box3中添加clear : both清除浮动对box3的影响 .box3 { background-color: blue;...在浏览器中运行的效果如下: 通过观察可知使用overflow: hidden属性清除浮动,不会让box3的margin-top属性和margin-bottom属性失效 方法3:使用伪类清除浮动 在实际开发中为了解决清除浮动在不同浏览器下的兼容问题
前端技术栈更新太快,眼花缭乱,大家一个劲揽过来学习的时候,别忘了回头看看那些已经掌握的基础知识。 第一篇就整理整理CSS中很常见的浮动以及清除浮动的一些方式吧。 浮动到底是什么?...浮动会脱离文档流 从上图可以看出,默认三个设置了宽高的block元素,本来会格子独占一行;如果框1设置了向左/向右浮动,他会忽略框2和框3,直到碰到父元素;同时也存在盖住普通元素的风险。...浮动可以内联排列 浮动会向左/向右浮动,直到碰到另一个浮动元素为止,这是浮动可以内联排列的特征。也就是说,浮动可以设置宽高,并且能够一行多个,是介于block和inline之间的存在。 ?...要注意了,我们是通过在别的元素上清除浮动来实现撑开高度的, 而不是在浮动元素上。...不要在浮动元素上清除浮动 诶?给第三个元素加上clear:both之后,第三个元素的左右都没有挨着浮动元素,但是为什么高度还是坍塌了呢?
BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个 BFC 中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。...块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...在下面的例子中,有如下 html 结构: div class="outer"> div class="float">I am a floated element....div> div class="text">I am textdiv> div> 带有 float 类的项被向左浮动,因此 div 中的文本在它环绕 float 之后。 ?...在多列布局中使用 BFC 如果我们创建一个占满整个容器宽度的多列布局,在某些浏览器中最后一列有时候会掉到下一行。这可能是因为浏览器四舍五入了列宽从而所有列的总宽度会超出容器。
BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个 BFC 中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。...块格式化上下文(BFC)的行为通过一个简单的float示例很容易理解。在下面的示例中,我有一个框,其中包含向左浮动的图像和一些文本。...div> div class="text">I am textdiv> div> 带有 float 类的项被向左浮动,因此 div 中的文本在它环绕 float 之后。 ?...查看演示 在多列布局中使用 BFC 如果我们创建一个占满整个容器宽度的多列布局,在某些浏览器中最后一列有时候会掉到下一行。这可能是因为浏览器四舍五入了列宽从而所有列的总宽度会超出容器。...但如果我们在多列布局中的最后一列里创建一个新的BFC,它将总是占据其他列先占位完毕后剩下的空间。
面包屑导航和按钮一行两端显示面包屑或编辑栏超出宽度则自动另行显示图片实现采用浮动,绿色块左浮,蓝色块右浮,利用浮动特性实现宽度超出另一行显示的效果,并是动态的。...浮动可以让一个元素脱离标准流,向左或向右移动并占据其父元素的剩余空间。浮动元素不会影响其他元素的布局,但是它们会创建一个新的块级框,可以设置宽度和高度。...浮动元素的特性包括:浮动元素会脱离标准流(脱标)。浮动的元素会一行内显示并且元素顶部对齐。浮动的元素会具有行内块元素的特性。...高度塌陷当然,子元素都浮动以后,会脱离出父div外,导致超出父元素(父元素高度塌陷)。**怎么解决呢?**图片给父div加overflow: hidden清除浮动。...当一个元素包含浮动时,如果不使用 clearfix 方法或其他技术来清除浮动,可能会导致父元素高度塌陷。为了解决这个问题,可以在父元素上设置 overflow: hidden,这样就可以清除浮动了。
了解它的书写语法之后,通俗的理解选择器就是用来辅助我们查找页面中需要处理的标签的。那今天我们主要给大家介绍的是常见的三种选择器:ID选择器、类名选择器、标签名选择器。下面我们一个个来做一个了解。...: 0 auto; } div class=“wrap">HTML5学堂div> 上周我们讲解了HTML标签,了解到块元素标签在页面中是默认一行展示的,倘若这时候我的页面中需要几个块元素标签并排放置...,展示在同一行上,我们要怎么办?...2 为什么要浮动 每个div的特点处于同一行,而布局时常常需要将块并排进行布局,那么此时我们要实现模块并排的布局所以需要浮动。 3 浮动原理 我们就把页面中的一块区域比作水槽。...如果设置的是float:left;向左浮动,那么元素(积木)从右边向上浮起来到水面,然后向左浮动到水槽的左边。
它的规则如下: 自上而下排列,每个块元素独占一行,行内元素自左向右排列,不会独占一行 div>独占一行div> 从左向右 这是在不使用 样式的请况之下正常排列方式...2 浮动布局 float属性,一般情况下元素默认是不浮动的,一旦添加该属性,元素就会向右或者向左浮动。看例子 中,虽然没有把父元素撑开,但是与它同级的兄弟元素并不会直接跑到它上面去,而是在它之下按照一下两个规则排列 2-2-1 若是浮动元素后紧跟 -> h1 ~ h6、p 这一类段落标签会自动换行...而是段落标签中的文字紧贴浮动元素 ),依然独占一行,并且里面的文字内容不会自动排到最左边,而是相对于最右边的浮动元素的后面 2-2-2若是浮动元素后紧跟 -> 其他块元素 这一类无论是否有内容,都不会排到浮动元素后面...其实这是给浮动元素之后的元素用的,并不是给浮动元素本身用的;之所以要这样,是因为紧跟在浮动元素后面的普通元素都会受到影响。就比如上述说的两种紧跟浮动元素之后排列的方式。
元素仍然保持其未定位前的形状,它原本所占的空间仍保留。 如果将box2的框 top 设置为 50px,那么框将在原位置顶部下面 50 像素的地方。...浮动 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。...2.当设置box1向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了box1 2,使box12 从视图中消失。 浮动时,box1 向左浮动直到碰到包含框,另外两个box向左浮动直到碰到前一个浮动框。 <!...更多请参考 绝对定位 设置为绝对定位的元素框从文档流完全删除,并相对于其包含块定位,包含块可能是文档中的另一个元素或者是初始包含块。
最近再次接触到clear才弄明白clear的本来意义。 下面直接看实例: 1....; } 运行结果: 我们看到div2在div1下面了,但是div2的float并没有被清除(不是float:none,而是float:left),也就是说div2还是向left浮动了,为什么这样说呢...; clear: left; } 运行效果: div2因为没有浮动,所以和div3同处在标准流里面,因此可以证明上一步的div2是向left浮动的。...此时我们可以明白clear的作用了,就是不让元素本身跟在之前的浮动元素后面,而是在之前元素的下一行进行left/right浮动。...应用场景举例 要实现如图的布局: 目前很多人的做法是: 在“姓名”和“班级”包裹一个div并是这个div向左浮动,然后再使简介向左浮动,示例代码(普遍做法): <head
注:当一个元素浮动之后,从普通文档流中脱离,然后向左或者向右平移,一直平移直到碰到了所处的容器的边框,或者碰到另外一个浮动的元素。...浮动实验 下面通过一步步的实验,来学习并了解float 先来三个box 样式就不贴了 div> div class="box box1">1div> div class="box...对子元素使用了浮动之后,子元素会脱离标准文档流,也就是说,父级元素中没有内容可以撑开其高度,这样父级元素的height就会被忽略,这就是所谓的高度塌陷。...要解决这样的问题,我们就是要使用清除浮动——clear。 clear属性 指定一个元素是否可以在它之前的浮动元素旁边,或者必须向下移动(清除浮动) 到这些浮动元素的下面。 none:默认值。...允许浮动元素出现在两侧 left:在左侧不允许浮动元素 right:在右侧不允许浮动元素 both:在左右两侧均不允许浮动元素。
CSS进阶内容—浮动和定位详解 我们在学习了CSS的基本知识和盒子之后,就该了解一下网页的整体构成了 当然如果没有学习之前的知识,可以到我的主页中查看之前的文章:秋落雨微凉 - 博客园 CSS的三种布局流派...我们使用浮动当然是因为一些要求我们的标准流无法完成 我们使用浮动最常见的应用场景就是将多个块级元素div等并排放置 (纵向排列标准流,横向排列找浮动) 初见浮动 那么我们来介绍一下浮动: 浮动的目的是创建浮动框...当body中有两个div,一个div带有浮动,一个div不带有浮动,那么两个盒子会处于同一位置 但带浮动的盒子会在上面,不带浮动的盒子在下面 我们给出代码示例: div> div> div class="footer">div> :after伪元素法 我们目前不需要掌握确切代码意思,这种情况相当于在最后创建一个盒子并实现...:relative;} 它是相对于自己原本的位置进行移动 它在移动之后,在标准流中仍旧占有原本的位置(即移动之后,原本位置仍旧保留,其他标准流无法占用该位置) 它在移动之后,在其他位置时,属于覆盖在其他盒子之上
普通流 (normal flow) 在普通流中,元素按照其在 HTML 中的先后位置至上而下布局,在这个过程中,行内元素水平排列,直到当行被占满然后换行,块级元素则会被渲染为完整的一个新行,除非另外指定...,否则所有元素默认都是普通流定位,也可以说,普通流中元素的位置由该元素在 HTML 文档中的位置决定。...浮动 (float) 在浮动布局中,元素首先按照普通流的位置出现,然后根据浮动的方向尽可能的向左边或右边偏移,其效果与印刷排版中的文本环绕相似。...BFC是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个BFC中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。...(不设置浮动,设置浮动那肯定是 左右一行排列了)。
div> 浮动的语法: float:left/right /none 取值:left向左浮动,right向右浮动,none取消浮动 现在的浮动,用的最多是让块元素在同一行显示:就是给一行的所有块元素都加上浮动...浮动的最大价值:让元素排列成一行,或者一左一右 浮动的使用口诀: 1.要浮动,兄弟元素也一起浮动 2.浮动方向保持一致(尽量都是用左浮动) 总结: 1.可以做图文绕排 2.主要让块元素排一行...div class="info">4div> div> div class="gebilaowang">div> image.png 3.清除浮动 就是清除浮动带来的影响,普通元素不受浮动元素影响...a) 给父元素设置高度(不推荐,因为在项目中很多盒子是不固定高度的) b 在父元素后设定空标签进行清除浮动 语法:clear:both image.png c) 设定父元素的overflow image.png...overflow的原理:overflow可以创建一个BFC(块级格式化上下文 (Block Fromatting Context)),按照块元素布局,BFC是一个独立的布局环境,其中的元素布局是不受外界的影响
领取专属 10元无门槛券
手把手带您无忧上云