返回顶部
首页 > 资讯 > 前端开发 > VUE >闭合CSS浮动元素的技巧
  • 447
分享到

闭合CSS浮动元素的技巧

2024-04-02 19:04:59 447人浏览 安东尼
摘要

这篇文章主要介绍“闭合CSS浮动元素的技巧”,在日常操作中,相信很多人在闭合CSS浮动元素的技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”闭合CSS浮动元素的技巧”的疑惑

这篇文章主要介绍“闭合CSS浮动元素的技巧”,在日常操作中,相信很多人在闭合CSS浮动元素的技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”闭合CSS浮动元素的技巧”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

闭合CSS浮动元素(floats)技巧

按照CSS规范,CSS浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列。因此当其高度超出包含容器时,一般父容器不会自动伸长以闭合CSS浮动元素。但是有时我们却需要这种自动闭合行为,具体如何处理呢?

◆有一种做法就是在父容器内再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器。这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签,所以我个人不大喜欢。

◆后来又有了一种新的方式,使用:after伪类动态的嵌入一个用于清除浮动的元素,这种方法和上一种原理一样,不同的只是把这个额外的内容用CSS生成,但考虑到IE不支持:after不得不做了不少的hack。这种方法兼容性一般,但经过各种hack也可以应付不同浏览器了,同时又可以保证html比较干净,所以用得还是比较多的。

◆再后来又有人发现将父容器的overflow设为除visible之外的值就可以在标准兼容浏览器中闭合CSS浮动元素,IE自然又是不支持的,所以这种方法和上一种方法一样都对IE做了不同处理(具体就是触发layout),不同的就是overflow没有:after伪类那么麻烦了,缺点也有,overflow可能会产生一些小冲突。

在使用overflow之前还有过一种使用float的方法,就是让父容器也浮动,这利用到了CSS浮动元素的一个特性——CSS浮动元素会闭合CSS浮动元素。这种方式在IE/Win和标准兼容浏览器中都有较好的效果,但缺点也很明显——父容器未必想浮动就浮动的了,毕竟浮动是一种比较特殊的行为,有时布局不允许其浮动也很正常。使用float虽然在IE和标准兼容浏览器中都能闭合CSS浮动元素,但原理却是不同的,IE/Win中float触发了layout因而闭合了浮动,而在标准兼容浏览器中,float其实和上一种方法中的overflow原理一样,产生了一个“块级格式化范围”——这是CSS规范中提到的一种现象,它往往具有某种独立性,特性之一就是会自动闭合内部的CSS浮动元素。

按照规范,以下类型的元素会产生一个块级格式化范围:

◆CSS浮动元素,left或者right皆可。

◆绝对定位的元素。

◆inline-block元素,不过这个gecko目前不支持。

◆table-cell类型元素,其实table,table-head-group,table-row什么的也都可以,还有inline-table(gecko不支持)也同样,因为他们都会间接产生一个匿名的table-cell。

◆overflow取值非visible的元素。

所以,原来在标准兼容浏览器中我们也可以有这么多的方法闭合一个CSS浮动元素,而且只需要CSS,无需其他。顺带说一下以上除了overflow,其余都有一个附加效果就是自动收缩父容器宽度。

而对于IE/Win,它有一套自己的体系,就是layout,具有layout的元素会自动闭合CSS浮动元素,再来看看触发layout的CSS属性,会发现和上面的块级格式化范围有很多类似之处:

◆CSS浮动元素

◆绝对定位元素

◆display:inline-block

◆zoom

◆width/height

◆overflow/overflow-x/overflow-y[IE7新增]

◆max/min-width/height[IE7新增]

以上来看IE中闭合CSS浮动元素的方法也不少,自然也都有其局限性,要么有附带效果,要么使用的是非标准属性(无法通过验证)。

还要提一点的是display:inline-block,这个属性对IE而言本身没什么用,实际效果只是给一个元素暗地添加了layout,但是标准兼容浏览器是认得这个属性的,所以要不影响这些浏览器,需要将display设回默认。这里IE有一个bug,如果先定义了display:inline-block,然后再将display设回block(这两个display要先后放在两个CSS声明中才有效果),那么layout不会消失,同时也不会影响其他浏览器,所以目前来说,这也算一个不错的触发layout的方法:

.gainlayout{display:inline-block;}

.gainlayout{display:block;}

所以要跨浏览器闭合CSS浮动元素,可以选择的方式还是很多的,如何搭配使用这些CSS属性就要具体情况具体分析了,灵活应用条件注释也很有必要,要是实在不行我们回过头来还有clear可以用嘛。

到此,关于“闭合CSS浮动元素的技巧”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: 闭合CSS浮动元素的技巧

本文链接: https://lsjlt.com/news/79491.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 闭合CSS浮动元素的技巧
    这篇文章主要介绍“闭合CSS浮动元素的技巧”,在日常操作中,相信很多人在闭合CSS浮动元素的技巧问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”闭合CSS浮动元素的技巧”的疑惑...
    99+
    2024-04-02
  • CSS中怎么闭合浮动元素
    这期内容当中小编将会给大家带来有关CSS中怎么闭合浮动元素,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Div+CSS教程:如何闭合浮动元素?按照CSS规范,浮动元素(f...
    99+
    2024-04-02
  • CSS 同级元素浮动
    CSS 同级元素浮动?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。float:left/right/none;同级浮动(1)使块级元素在同一行显示(所有要在同一行显示的都要加浮...
    99+
    2023-06-08
  • CSS浮动和清除浮动:掌握浮动和清除浮动的技巧
    CSS浮动和清除浮动:掌握浮动和清除浮动的技巧,需要具体代码示例在网页设计和开发中,CSS浮动(float)是常见的布局技术之一。使用浮动可以将元素向左或者向右移动,从而实现元素在页面中的位置调整和排列。然而,浮动元素也会给页面造成一些问题...
    99+
    2023-11-18
    CSS 浮动 清除浮动
  • CSS怎么实现元素浮动和清除浮动
    这篇文章主要介绍CSS怎么实现元素浮动和清除浮动,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!浮动基本介绍在标准文档流中元素分为2种,块级元素和行内元素,如果想让一些元素既要有块级元素的特点也同时保留行内元素特点,只...
    99+
    2023-06-08
  • css浮动元素的规则是什么
    本篇内容介绍了“css浮动元素的规则是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明当浮动元素浮动时,其margin不会超过包含块的...
    99+
    2023-06-20
  • css中如何进行元素浮动
    这篇文章给大家分享的是有关css中如何进行元素浮动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。css的三种引入方式1.行内样式,最直接最简单的一种,直接对HTML标签使用style=""。2...
    99+
    2023-06-14
  • CSS中元素的浮动用哪个属性
    这篇文章主要介绍CSS中元素的浮动用哪个属性,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!CSS中元素的浮动用float属性。float属性用于定义元素在哪个方向浮动;元素使用了float属性后,可以使该元素脱离标准...
    99+
    2023-06-14
  • 如何使用CSS居中浮动元素
    本篇内容主要讲解“如何使用CSS居中浮动元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用CSS居中浮动元素”吧!方法一设置容器的浮动方式为绝对定位然后...
    99+
    2024-04-02
  • CSS同级元素浮动怎么实现
    本篇内容主要讲解“CSS同级元素浮动怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS同级元素浮动怎么实现”吧!同级浮动(1)使块级元素在同一行显示(所有要在同一行显示的都要加浮动)&...
    99+
    2023-06-05
  • CSS怎么让周围的元素为浮动元素留出空间
    这篇文章主要讲解了“CSS怎么让周围的元素为浮动元素留出空间”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“CSS怎么让周围的元素为浮动元素留出空间”吧! ...
    99+
    2024-04-02
  • css如何让浮动的元素水平居中
    这篇文章主要介绍“css如何让浮动的元素水平居中”,在日常操作中,相信很多人在css如何让浮动的元素水平居中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”css如何让浮动的元素水平居中”的疑惑有所帮助!接下来...
    99+
    2023-06-04
  • css伪元素的实用技巧是什么
    本篇内容介绍了“css伪元素的实用技巧是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.定义:伪元素用于创建一些不在文档树中的元素,并...
    99+
    2023-06-03
  • CSS怎么让包围元素在视觉上包围浮动元素
    本篇内容主要讲解“CSS怎么让包围元素在视觉上包围浮动元素”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CSS怎么让包围元素在视觉上包围浮动元素”吧! 须...
    99+
    2024-04-02
  • DIV+CSS让浮动元素垂直居中的方法
    这篇文章主要讲解了“DIV+CSS让浮动元素垂直居中的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“DIV+CSS让浮动元素垂直居中的方法”吧!场景:在...
    99+
    2024-04-02
  • CSS伪元素实用技巧有哪些
    本文小编为大家详细介绍“CSS伪元素实用技巧有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“CSS伪元素实用技巧有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 伪元...
    99+
    2024-04-02
  • CSS 浮动属性优化技巧:float 和 clear
    引言:在网页布局中,我们经常会用到CSS中的浮动属性(float)来实现元素的定位和排列。然而,浮动属性在一些情况下也会导致一些意外的问题,如元素的重叠、布局的破裂等。为了更好地掌握浮动属性,本文将介绍CSS中浮动属性的优化技巧,并提供具体...
    99+
    2023-10-21
    优化 (Optimize) 浮动 (float) 属性 (property)
  • css元素浮动所需注意的事项有哪些
    本文小编为大家详细介绍“css元素浮动所需注意的事项有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“css元素浮动所需注意的事项有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新...
    99+
    2024-04-02
  • HTML布局技巧:如何使用position属性进行浮动元素控制
    在网页设计中,布局是非常重要的一环。通过合理的布局可以使网页更加美观、易读,提升用户体验。而在实现布局过程中,浮动元素的控制是其中一个关键点。HTML提供了position属性,通过这个属性我们可以实现对浮动元素的控制。本文将介绍如何使用p...
    99+
    2023-10-21
    浮动 position 元素控制 HTML布局技巧:
  • 怎么在CSS中使用伪元素清除浮动
    本篇文章为大家展示了怎么在CSS中使用伪元素清除浮动,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。css的三种引入方式1.行内样式,最直接最简单的一种,直接对HTML标签使用style="...
    99+
    2023-06-08
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作