首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解 清除浮动 多种方式(clearfix)

浮动元素依然位于父元素之内 4、浮动元素处理问题-解决多个块级元素在一行内显示问题 注意 1、一行内,显示不下所有的已浮动元素时,最后一个将换行 2、元素一旦浮动起来之后,那么宽度将变成自适应...疑问 为什么会margin边距重叠?...属于同一个BFC两个相邻Boxmargin会发生重叠 注意:发生重叠后,外边距高度等于两个发生重叠外边距高度较大者 从上面的例子可以看出,虽然红色 和 蓝色 div 都有设置...看代码和效果图,可以看出,这次代码比上面的代码多了一行overflow:hidden;用这行代码触发新BFC后,由于这个新BFC不会与浮动top重叠,所以bottom位置改变了 ...总结 清除浮动方式有很多种,但是实现原理主要是靠clear属性,和触发新BFC,通过详细解释比较,最后两种内容生成方式是比较推荐使用,如果需要考虑margin重叠问题,就用方案7,不考虑就用方案

1.3K60
您找到你想要的搜索结果了吗?
是的
没有找到

IE11CSS兼容性问题

最近测试给了我一大堆BUG,一瞅发现全是IE11。吐槽一下这个浏览器真的比较特立独行。很多默认样式跟别的浏览器不同,而且最明显一点应该是padding左右内边距往往比别的浏览器大了一倍。...比如,我在chrome浏览器一个div设置样式 div{ padding:0 12px; }   那么,在IE11想要实现上面效果,需要在这个下面再添加一行样式   div{ padding...;} }   这里需要注意一下IE11样式要写在最后面防止被覆盖,当浏览器为IE11时,@media样式会被执行一遍。   ...还有一个就是IE11针对h5表单验证部分,验证失败后input标签会出现一个红色框,比较丑。...这个时候你只要针对专门input标签,增加一个input{outline:none};就可以将红色边框去掉了。   今天大拿直接一行代码把我之前IE11兼容性问题全解决了。不服不行。

2.1K40

CSS 定位布局 - 相对、绝对、固定三种定位

上面相对定位示例,元素相对定位是基于文档流原来位置进行偏移定位。那么,绝对定位是基于什么呢? 将刚才关于设置相对定位代码改为绝对定位看看。 ?...当设置绿色div为绝对定位之后,发现黄色div不见了。 其实,黄色div并不是不见了,而是跟绿色div重叠了。...因为当绿色div设置为绝对定位之后,就会脱离文档流布局,此时绿色div就相当于漂浮了起来,黄色div就没有被绿色div挤下来,自然就上去绿色div重叠在一起了。 那么下面来设置一下偏移看看。...因为上面我缩放了浏览器宽度一半。 ? 那么为什么绿色divbody进行偏移呢?因为绿色div父级元素外层div没有设置定位。...从上图可以看出最后红色div就是层级最高,没有被其他div覆盖。 实现代码如下: <!

3.3K40

如何清除浮动

对于不浮动元素来说,它们是能够撑开外部div高度,但是一旦浮动,元素脱离文档流,父级div就相当于没有了内容(上面的例子类名为main高度为0了)。这时是没有办法实现内容撑开高度。...独行冰海博客已经讲解了清除浮动几种方法——http://blog.163.com/hongshaoguoguo@126/blog/static/1804698120131130959204/ 梦幻雪冰今天给大家分享是清浮动具体代码实现...> 注释:上面用p标签进行空标签清浮动,当然可以用别的标签;如果用行元素的话需要进行转化为块,块元素就没有必要转化啦。...class="wrap"> 梦幻雪冰 独行冰海 效果: 注释:使得与父元素相邻元素布局会受到影响(影响到了类名为footer元素)。

1.8K110

各大公司移动端页面 - 导航实现

目前来说,移动端实现方法没有一个统一标准,大家各自采用自己实现方法,所以今天就给大家分享一下各大公司移动端页面的实现方法——导航栏 给大家分享之前,先说几句话。...,还需要考虑盒模型,不然浮动不上去(不会处于同一行,如下图),表格的话很方便,设置边框的话,它宽度自己适应,表格在这方面比较好。...效果分析 虽然用display:inline-block能让元素处于同一行,但是display:inline-block会产生间隙,原因是HTML 换行符、空格符、制表符等产生了空白符,而这些归根结底都是字符...: inline-block支持程度 如上图 效果分析 淘宝也是用display:inline-block能让元素处于同一行,间隙解决方法通过HTML文件压缩来实现。...可以决定伸缩项目在伸缩容器空间大小。如果每个都设置为1,每个伸缩项目在伸缩容器内都相等。

1.6K70

Android开发人员一次搞懂前端BFC原理

上面这段代码,id=div0元素创建了一个BFC区域,该元素下面的id为div1、div2、div3都属于div0所创建BFC区域下。...如何解决margin边距重叠 根据BFC规则:属于同一个BFC两个相邻块级盒子margin会发生重叠。因此我们只要使div1div2不属于同一个BFC即可: 1<!...进行了漂浮,而div2div1处于BFC0,所以div2和div1还是会发生重叠; 要解决漂浮重叠,我们也可以通过BFC进行解决,我们依旧给div2放到一个BFC区域中,那么根据BFC规则,BFC...此时我们通过给div2新建了一个BFC区域,因此它没有div1漂浮发生重叠。 这时候仔细小伙伴可能会问,根据BFC规则1,为什么div2没有垂直方向独占一行?...这是因为div1发生了漂浮,它会影响它后面的一个元素,因此并不是div2没有在垂直方向独占一行,而是因为div1漂浮缘故,div2和div1一起占了一行,而又因为新建了一个BFC,因此div2没有和div1

69620

块级元素行内元素区别以及BFC模型简单解释

块级元素行内元素区别以及BFC布局简单解释 工作其实经常用到一些span标签和div标签来进行内容显示,但涉及到文本标签换行,总得多花那么一两分钟多写一下,今天就专门来瞅一瞅。...我们常用div、h、p等标签都属于块级元素 可以看到,对于一个普通div标签而言,其内部元素是可以超出其限定高度进行显示,有外界内容重叠情况 ``` 就上述代码而言可以看到#content内容会跟div2内容重叠,同时也可以看到div2是直接换行,紧贴着其父元素左侧往下排列,这就是普通文档流排列规则...> 像上面的代码,content会自动换行,div左侧有内容,右侧则直接留白,有兴趣手动练习一下 当然,如果行内元素你没给他设置word-wrap属性的话,文本内容也会在同一行内往右延伸,不会自动换行...来避免其div2内容重叠

79500

BFC讲解

文章目录 写在前面 什么是BFC 解决了什么问题 如何解决 包含内部浮动元素 排除外部浮动 解决margin重叠 解决margin塌陷 总结 写在前面 因为这篇文章内容属于比较常见一个面试题,所以帖子里面很多讲过了...,比如块级元素默认就会占据文档一行,高度会根据内容填充,行内元素可以相互挨着,不会占据多余空间等规则,BFC很明显你可以浅显将他理解为将一块元素封闭起来,别的元素进行隔开,自己内部属性不干扰外部元素属性...(marginTop-marginBottom 或者是marginRight-marginLeft)时候,只会有一个较大属性值生效,这个现象就叫做margin重叠 看代码 看现象 可以看到,我们明明设置了距离上面100 和距离下面100 但是最后距离只有100 这个现象就做margin重叠 给其中一个子元素添加BFC进行解决...float:none或者是overflow:hidde等操作或者是上面解决margin塌陷时候使用padding或者是添加一个border都是具有副作用,添加border之后根据盒模型来计算时候你盒子宽度就发生了变化

57410

脱离文档流分析(转)

先来了解一下block元素和inline元素在文档流排列方式。   block元素通常被现实为独立一块,独占一行,多个block元素会各自新起一行,默认block元素宽度自动填满其父元素宽度。...问题2:元素浮动造成两个div覆盖或相互重叠如何解决。 (1)、左右结构div盒子重叠现象,一般是由于相邻两个DIV一个使用浮动一个没有使用浮动。...如上面的例1:相邻两个盒子box2向左浮动、box3未浮动。一个使用浮动一个没有导致DIV不是在同个“平面”上,但内容不会照成覆盖现象,只有DIV形成覆盖现象。      ...如上面的例1box2宽度是100,只需要对box3设置margin-left:102px就可以实现不重叠。...例子如上:.container和box3布局是上下结构,上图发现box3跑到了上面.container产生了重叠,但文本内容没有发生覆盖,只有div发生覆盖现象。

1.3K20

CSS魔法堂:重新认识Box Model、IFC、BFC和Collapsing margins

/padding-right将作用于第一个inline-level box,margin/border/padding-left将作用于最后一个inline-level box。...将作用于最后一个inline-level box。...也就是block-level box Ablock-level box BFC特性值BFC可能是不同。   当两个相邻boxFC值不为同一个BFC时,它们margin绝对不会重叠。  ...英语单词移行有一定规则,归纳如下: 1.移行处要用连字符号“-”,只占一个印刷符号位置并放在该行最后. 2.移行时一般按照音节进行,故只可在两音节之间分开,不能把一个完整音节分写在上下两行.例如:...等. 5.两个不同辅音字母在一起时,移行时前后各一个.如:cap-tain,ex-pose等. 6.当两个音节间只有一个辅音字母时,如果该辅音字母前元音字母按重读开音节规则发音,该辅音字母移至下一行

1K70

关于 CSS margin,一些让你模糊

在以下情况下,margin 会重叠: 相邻兄弟姐妹 完全空盒子 父元素和第一个最后一个子元素 依次来看看这些场景。...但是你会发现实际效果是第一项和最后一项父元素margin齐平,好像子元素和父元素之间没有50pxmargin一样。...image.png 仅块元素 margin 重叠 在CSS2,只指定垂直方向 margin 重叠,即元素顶部和底部 margin。因此,上面的左右边距不会重叠。...然而,假设你遇到了上面示例几种情况,那么如何才能阻止 margin 重叠呢? 例如,一个完全空盒子,如果它有border或padding,它上下 margin就不会重叠。...这个解决方案并不能解决你可能遇到问题,因为子元素margin会与父元素相互重叠。这个特定问题往往不那么常见,但知道它为什么会发生可以帮助你想出一个解决方案。

1.3K20

关于css margin,你需要知道一切

在以下情况下,margin 会重叠: 相邻兄弟姐妹 完全空盒子 父元素和第一个最后一个子元素 依次来看看这些场景。...但是你会发现实际效果是第一项和最后一项父元素margin齐平,好像子元素和父元素之间没有50pxmargin一样。...image.png 仅块元素 margin 重叠 在CSS2,只指定垂直方向 margin 重叠,即元素顶部和底部 margin。因此,上面的左右边距不会重叠。...然而,假设你遇到了上面示例几种情况,那么如何才能阻止 margin 重叠呢? 例如,一个完全空盒子,如果它有border或padding,它上下 margin就不会重叠。...这个特定问题往往不那么常见,但知道它为什么会发生可以帮助你想出一个解决方案。

1.3K40

小结BFC基本知识应用

: (1)CSS2.1规范一个概念 (2)它是指页面一块渲染区域,并拥有一套渲染规则,它决定了其子元素将如何定位,以及与其他元素关系和相互作用。...(3)CSS2.1 只有BFC和IFC,CSS3还增加了GFC和FFC BFC: 块级格式化上下文,它是一个独立渲染区域,该区域拥有一套渲染规则来约束块级盒子布局,并且这个区域外部无关。...(3)生成BFC元素子元素,每一个子元素margin包含块左边界border相接触(对于从左到右格式化,否则相反),即使存在浮动也是如此; (4)BFC区域不会与float元素区域重叠 可应用到两栏布局...说明第一行margin-bottom和第二行margin-top发生了重叠,不然第一行到第二行距离,应该是50px,是第一行距离顶部距离两倍。...解决方法上面已经介绍过:可在其中一个元素外包裹一层容器,并触发该容器生成BFC(overflow:hidden;),这样两个元素就不属于同一个BFC了,就不会发生margin重叠问题了。

3.1K651

【CSS】思考和再学习——关于CSS浮动和定位对元素宽度外边距其他元素所占空间影响

没错,在一般情况下(没有浮动,不是行内框),并排div margin可以彼此重叠,而且重叠后值为两者较大那个 ?...间距变为20px,这时候margin已经不重叠了 五.浮动/定位对其他元素物理空间影响 这首先要提到我们经常挂在耳边一个词——“脱离文档流” 脱离文档流 == 不占据元素空间(物理上) .div2...“标准流”,那么: 1.浮动流顺序排列,这个顺序是和HTML中元素顺序一致,HTMl先浮动元素排在前面,这个“前面”指的是靠近屏幕边缘一端,“后面指的是远离屏幕一端” 以上面的例子为基础 ....3.浮动流本身并不会影响标准流元素定位,但是却影响着标准流文本定位 如果我们仔细看一下五开头demo会发现一个难以忍受bug: ?...4.浮动流位居标准流之上(也就是说浮动流元素会覆盖标准流元素) 这个根据上面那个例子就可以看出来,这里就不多说了 六.实践案例 好,说了这么多,还是用以上知识点来一个实践案例比较痛快,下面这个案例是

2K110

面试必备 css面试必考点

,环绕于周围 应用: 阻止margin重叠 可以包含浮动元素 —— 清除内部浮动(清除浮动原理是两个div都位于同一个 BFC 区域之中) 自适应两栏布局 可以阻止元素被浮动元素覆盖 20 为什么会出现浮动和什么时候需要清除浮动...清除浮动方式: 父级div定义height 最后一个浮动元素后加空div标签 并添加样式clear:both。 包含浮动元素父标签添加样式overflow为hidden或auto。...27 在网页应该使用奇数还是偶数字体?为什么呢? 使用偶数字体。偶数字号相对更容易和 web 设计其他部分构成比例关系。...解释一下这2个伪元素作用 冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。 ::before就是以一个子元素存在,定义在元素主体内容之前一个伪元素。...行高是指一行文字高度,具体说是两行文字间基线距离。CSS起高度作用是height和line-height,没有定义height属性,最终其表现作用一定是line-height。

1.1K10

50道CSS基础面试题

第二种全屏品字布局: 上面div设置成100%,下面的div分别宽50%,然后使用float或者inline使其不换行。 13 常见兼容性问题?...Box垂直方向距离由margin决定,属于同一个BFC两个相邻Boxmargin会发生重叠。 每个元素margin box 左边,包含块border box左边相接触。...清除浮动方式: 父级div定义height 最后一个浮动元素后加空div标签 并添加样式clear:both。 包含浮动元素父标签添加样式overflow为hidden或auto。...div,通过改变此div属性使两个盒子分属于两个不同BFC,以此来阻止margin重叠*/ overflow: hidden; //此时已经触发了BFC属性。...行高是指一行文字高度,具体说是两行文字间基线距离。CSS起高度作用是height和line-height,没有定义height属性,最终其表现作用一定是line-height。

1.5K50

50道 CSS 经典面试题(包含答案)

第二种全屏品字布局: 上面div设置成100%,下面的div分别宽50%,然后使用float或者inline使其不换行。 13 常见兼容性问题?...Box垂直方向距离由margin决定,属于同一个BFC两个相邻Boxmargin会发生重叠。 每个元素margin box 左边,包含块border box左边相接触。...清除浮动方式: 父级div定义height 最后一个浮动元素后加空div标签 并添加样式clear:both。 包含浮动元素父标签添加样式overflow为hidden或auto。...27 在网页应该使用奇数还是偶数字体?为什么呢? 使用偶数字体。偶数字号相对更容易和 web 设计其他部分构成比例关系。...行高是指一行文字高度,具体说是两行文字间基线距离。CSS起高度作用是height和line-height,没有定义height属性,最终其表现作用一定是line-height。

95830

50道CSS面试题(附答案)

第二种全屏品字布局: 上面div设置成100%,下面的div分别宽50%,然后使用float或者inline使其不换行。 13 常见兼容性问题?...Box垂直方向距离由margin决定,属于同一个BFC两个相邻Boxmargin会发生重叠。 每个元素margin box 左边,包含块border box左边相接触。...清除浮动方式: 父级div定义height 最后一个浮动元素后加空div标签 并添加样式clear:both。 包含浮动元素父标签添加样式overflow为hidden或auto。...27 在网页应该使用奇数还是偶数字体?为什么呢? 使用偶数字体。偶数字号相对更容易和 web 设计其他部分构成比例关系。...行高是指一行文字高度,具体说是两行文字间基线距离。CSS起高度作用是height和line-height,没有定义height属性,最终其表现作用一定是line-height。

1.5K30
领券