CSS实现清除浮动问题的

首先,我们要思考一个问题:为什么要清除浮动呢?在我做小demo的时候,碰到一个问题,当子元素浮动的时候,父元素的背景颜色消失了?可以说,以当时我的菜鸟水平,是不知道为什么父元素的背景颜色为什么会不见,我明明设置了背景颜色的,难道颜色格式不对?或者是浏览器不兼容,是个css hack????????所有的猜测都指向了背景颜色,都是背景颜色的错。为什么要清除浮动?在坑中不断挣扎的我,得到了答案,不是背景颜色的错。而是它的子元素。当子元素浮动的时候会导致父元素的height变为0,这是为什么呢?   原因是父元素没有设置高度,原本的高度,是由子元素撑起来的。当子元素浮动的时候,子元素是脱离文档流的,而父元素还是文档流里,这个时候,父元素的content没有东西,所以父元素的height就变为原本没有设置的高度(为0)。如果父元素的content中有非float的元素,则以这些元素的最高的高度撑起父元素的高度。如图所示:HTML代码                        在没有浮动时的情况: HTML代码        //此时大图片左浮动,及下图的效果                        在浮动时的情况:(大图片float:left;小图片不变)   可以从上面的分析得出。子元素浮动,会导致父元素出现“高度塌陷”。如何清除浮动?清除浮动的方式有很多种,目前看到有八种左右的清除浮动的方式。但真正用到项目里,最常见的方式有两种:     1.添加伪类:after;     2.触发BFC;         1.添加伪类:after  给父元素添加一个类clearfix,并给这个类设置伪类:after。        Document            .clearfix:after {            content: ” “;            display: block;            clear: both;        }        .a {            float: left;        }                                        看吧!这就是第一种清除浮动的方法。也是广受欢迎的一种清除浮动个方式。 2.触发BFC1)什么是BFC?   BFC(Block Formatting Context)是Web页面中盒模型布局的CSS渲染模式。它的定位体系属于常规文档流。摘自W3C:  浮动,绝对定位元素,inline-blocks, table-cells, table-captions,和overflow的值不为visible的元素,(除了这个值已经被传到了视口的时候)将创建一个新的块级格式化上下文。  上面的引述几乎总结了一个BFC是怎样形成的。但是让我们以另一种方式来重新定义以便能更好的去理解。一个BFC是一个HTML盒子并且至少满足下列条件中的任何一个:float的值不为noneposition的值不为static或者relativedisplay的值为 table-cell, table-caption, inline-block, flex, 或者 inline-flex中的其中一个overflow的值不为visible2)   如何用BFC清除浮动  粗暴的总结就是让浮动块包含在同一个BFC中加同时(也可以理解为包含块加属性overflow:hidden)。        Document            .container {            overflow: hidden;        }        .a {            float: left;        }                                          有利也有弊,下面简单指出BFC的缺点: – display:table可能会产生一些问题 – overflow:scroll可能会显示不必要的滚动条 – float:left将会把元素置于容器的左边,其他元素环绕着它 – overflow:hidden将会剪切掉溢出的元素

以上就是CSS实现清除浮动问题的的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1609855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 01:01:24
下一篇 2025年12月24日 01:01:39

相关推荐

  • 纯css实现鼠标移入逐渐高亮

    这篇文章主要介绍了关于纯css实现鼠标移入逐渐高亮,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 本例子主要使用transition来实现鼠标移入之后,标签逐渐高亮,存在渐进的过程。具体的做法:将background-color,color等属性,作为一个动画来执行。 鼠标移入文本高…

    好文分享 2025年12月24日
    000
  • CSS制作各种各样的网页图标方法实例

    本文主要和大家介绍了纯css制作各种各样的网页图标(三角形、暂停按钮、下载箭头、加号等)的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家。 三角形 .box{ width: 0; height: 0; border-top: 50px solid transparen…

    2025年12月24日 好文分享
    000
  • 20道CSS基础面试题

    本文主要为大家分享一篇CSS基础面试题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。 1 介绍一下标准的CSS的盒子模型?与低版本IE的盒子模型有什么不同的? 标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin低版本IE盒子模型…

    2025年12月24日
    200
  • CSS3如何实现全景图

    本文主要和大家介绍了css3实现全景图特效示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 基本代码 html代码: 首先定义一些基本的样式和动画: .panorama { width: 300px; height: 300px; b…

    好文分享 2025年12月24日
    200
  • CSS实现背景渐变图片transtion过渡效果

    本文主要和大家介绍了详解css背景渐变图片transtion过渡效果技巧的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 一、background-image不支持CSS3 transition background-image 不支持CSS…

    2025年12月24日
    000
  • CSS之position属性

    本文主要为大家分享一篇CSS之position属性,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。 (1)、static 可以认为静态的,默认元素都是静态的定位,对象遵循常规流。此时4个定位偏移属性不会被应用,也就是使用left,right,bottom,top将不会生效。 (2)…

    2025年12月24日
    000
  • 如何实现div等比例缩放高宽

    本文主要为大家分享一篇如何实现div等比例缩放高宽,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧。 1,方案一:响应式来做,可以根据媒体查询,设定在不同屏幕宽度下p的高度和宽度,具体的设置看你响应式想怎么显示 @media only screen and (min-width: 1…

    好文分享 2025年12月24日
    000
  • css中background-clip属性详解

    本文主要和大家介绍了css中background-clip属性的作用,background-clip属性的通俗作用就是指定元素背景所在的区域,对css中background-clip属性的相关知识感兴趣的朋友一起看看吧,希望能帮助到大家。 background-clip属性的通俗作用就是指定元素背景…

    2025年12月24日 好文分享
    000
  • DIV和CSS怎么实现电台列表设计_DIV和CSS实现电台列表设计代码

    对于使用p和CSS的设计也是比较有意思的设计效果,这次文章就给大家简单的介绍下p和CSS实现电台列表设计,怎么实现效果,实现p和CSS实现电台列表设计效果的代码是什么?下面一起来看看。 CSS Spite技术:也就是CSS精灵技术,实际上CSS的精灵就是图片里的一个个的图标元素,这些图标可以使按钮、…

    2025年12月24日 好文分享
    000
  • 微信小程序中css的使用技巧总结

    这篇文章介绍了最近很火的微信小程序中css的使用技巧总结,有需要的同学可以参考一下本文 微信小程序 css使用技巧 1:用纯CSS创建一个三角形的原理把上、左、右三条边隐藏掉(颜色设为 transparent) 立即学习“前端免费学习笔记(深入)”; @@######@@ 立即学习“前端免费学习笔记…

    好文分享 2025年12月24日
    000
  • 代码实现css鼠标经过元素下划线两边展开效果

    这篇文章主要介绍了代码实现css鼠标经过元素下划线两边展开效果,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 鼠标移入下划线展开#underline{ width: 200px; height: 50px; background: #ddd; margin: 20px;…

    好文分享 2025年12月24日
    000
  • CSS3实现倾斜和旋转动画效果

    这次给大家带来CSS3实现倾斜和旋转动画效果,实现CSS3倾斜和旋转动画效果的注意事项有哪些,下面就是实战案例,一起来看一下。 先看看静态的效果,运行后的效果更好 示例代码如下 css3学习 .d{width: 200px;height: 200px;border-radius: 50%;borde…

    2025年12月24日
    000
  • css如何实现限制文字字数

    本文主要和大家分享css如何实现限制文字字数,主要以代码形式,希望能帮助到大家。 html部分 我是显示的内容我是显示的内容我是显示的内容 css部分 width:20px;overflow: hidden;text-overflow: ellipsis;//限制字数显示white-space: n…

    好文分享 2025年12月24日
    000
  • 如何解决CSS的布局问题

    前端布局非常重要的一环就是页面框架的搭建,也是最基础的一环。在页面框架的搭建之中,又有居中布局、多列布局以及全局布局,今天我们就来总结总结前端干货中的CSS布局。 居中布局 水平居中 1)使用inline-block+text-align(1)原理、用法 原理:先将子框由块级元素改变为行内块元素,再…

    2025年12月24日 好文分享
    000
  • CSS布局之网格区域

    到目前为止,网格项目都是安置在独立的单元格内,但我们应该打破这样的局限,让网格项目可以超出单元格的界面,实现更多有用的布局。那这一节我们来看怎么实现。 定义网格区域 这里有一个我们一直努力想实现的网格:九个网格项目分成了三个等列和等行的网格之中,列与列以及行与行之间有一个20px的间距。    目前…

    2025年12月24日 好文分享
    000
  • css悬浮效果阴影实现代码

    本文主要和大家介绍了css实现悬浮效果的阴影的方法示例的相关资料,希望能帮助到大家。我们先来看一下效果图。 要实现的效果图: 实现的代码: -webkit-box-shadow:0px 3px 3px #c8c8c8 ;-moz-box-shadow:0px 3px 3px #c8c8c8 ;box…

    2025年12月24日
    000
  • css实现圆角三角形的方法

    本文主要和大家介绍了css实现带圆角三角型的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 前言 目标实现效果图如下: 实现 .triangle{ display: inline-block; font-size: 0; overf…

    2025年12月24日 好文分享
    000
  • 详解CSS的居中方式

    CSS居中是前端工程师经常要面对的问题,也是基本技能之一。今天小编把CSS居中的方案汇编整理了一下,目前包括水平居中,垂直居中及水平垂直居中方案共15种。如有漏掉的,还会陆续的补充进来,算做是一个备忘录吧。 1 水平居中 1.1 内联元素水平居中 利用 text-align: center 可以实现…

    2025年12月24日
    000
  • 用CSS3实现鼠标浮动放大图片

    这次给大家带来用CSS3实现鼠标浮动放大图片,用CSS3实现鼠标浮动放大图片的注意事项有哪些,下面就是实战案例,一起来看一下。 无需JS和jQuery代码实现CSS3鼠标浮动放大图片 .box { /* 可见视觉区域 */ width: 480px; height: 250px; position:…

    好文分享 2025年12月24日
    000
  • CSS控制文字的换行与裁剪

    这次给大家带来CSS控制文字的换行与裁剪,CSS控制文字换行与裁剪的注意事项有哪些,下面就是实战案例,一起来看一下。 关于换行、裁剪的一些CSS属性 word-wrap: normal | break-word normal 正常换行,内容可以撑破容器,例如长单词或者长数字的情况break-word…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信