首页 > 其他分享 >CSS - 04 浮动

CSS - 04 浮动

时间:2022-10-12 04:24:40浏览次数:39  
标签:浮动 BFC 04 clear 元素 高度 设置 CSS

4. 浮动

  • 使用float属性来设置元素的浮动,通过浮动可以使一个元素向其父元素的左侧或右侧移动
  • 语法:
    • none:默认值,元素不浮动
    • left:元素向左浮动
    • right:元素向右浮动
  • 浮动的特点:
    • 浮动元素会完全脱离文档流,不再占据文档流中的位置
      • 块元素不再独占页面的一行
      • 块元素的宽度和高度默认都被内容撑开
      • 行内元素会变成块元素
    • 设置浮动以后元素会向父元素的左侧或右侧移动,且默认不会从父元素中移出
    • 元素设置浮动以后,水平布局的等式便不需要强制成立
    • 浮动元素在移动时,不会超过它之前的,其它浮动元素的位置和高度
    • 浮动元素不会盖住文字,可以利用浮动设置文字环绕图片的效果

4.1 高度塌陷和BFC

  • 高度塌陷:在一般布局中,父元素的高度默认是被子元素撑开的。当子元素浮动后,其会脱离文档流,无法撑起父元素的高度,造成父元素的高度丢失,进而导致页面布局混乱。这样的问题称之为高度塌陷

  • BFC(块级格式化环境):BFC是CSS中的一个隐藏属性,开启BFC后该元素会变成一个独立的布局区域。

    开启BFC后的特点:

    • 开启BFC的元素不会被浮动元素所覆盖
    • 开启BFC的元素,子元素和都元素外边距不会重叠
    • 开启BFC的元素可以包含浮动的子元素
  • clear属性:可以通过设置clear属性清除浮动元素对当前元素的影响

    语法:

    • left:清除左侧浮动元素对当前元素的影响
    • right:清除右侧浮动元素对当前元素的影响
    • both:清除两侧浮动元素中对当前元素的影响最大的那侧

    原理:设置清除浮动后,游览器会自动为元素添加一个上边距,以使其位置不受其它元素的影响

  • 利用clear解决高度坍塌的方法

    .clearfix::before,
    .clearfix::after{
    	content:'';
    	display: table;
    	clear:both;
    }
    

    原理:将父元素的class设置为clearfix,使用伪类在前端和末端分别插入一个没有实际文本显示的空字符。插入在前端的文本可以解决外边距重叠问题,因为隔开了父元素和子元素的外边距。插入在后端的文本解决了高度塌陷的问题,由于clear的原因会在父元素末尾插入一个,高度包括浮动元素在内的空字符,这样父元素就会被撑开。最后display为table是因为table在空的情况下不占体积。

标签:浮动,BFC,04,clear,元素,高度,设置,CSS
From: https://www.cnblogs.com/Solitary-Rhyme/p/16783179.html

相关文章

  • CSS - 03 盒模型
    3.盒模型CSS将页面中的所有元素都设置为一个矩形的盒子,对页面的布局就相当于将不同的盒子摆放到不同的位置。盒模型组成部分:内容区(content)内边距(padding)边......
  • CSS - 05 定位
    5.定位定位是一种更加高级的布局手段,通过position属性可以将元素摆放到页面的任意位置语法:static:默认值,元素是静止的,没有开启定位relative:开启元素的相对定位abso......
  • CSS - 06 水平/垂直方向布局
    6.水平/垂直方向布局6.1水平方向布局一般水平布局元素在其父元素中水平方向的位置由以下等式决定:margin-left+border-left+padding-left+width+padding-ri......
  • CSS - 07 背景
    7.背景background-color:设置背景颜色background-image:设置背景图片可以同时设置背景图片和背景颜色,这样背景颜色将会成为图片的背景色如果背景的图片小于元素,则......
  • CSS - 08 雪碧图
    8.雪碧图定义和原理:将多个小图片统一保存到大图片中,然后通过调整background-position来显示响应的图片,这样就能解决因加载延迟带来的图片闪烁问题使用步骤:先确定......
  • CSS - 09 过渡
    9.过渡通过过渡可以指定一个属性发生变化时的切换方式,通常用过渡制作一些简单的动画效果语法:transition-property:指定要执行过渡的属性可以同时指定多个属性,用......
  • CSS - 10 动画
    10.动画动画和过渡类似,都可以实现一些动态效果。不同的是过渡需要在某个属性发生变化时才会触发,动画可以自动触发动态效果设置动画效果,需要先设置一个关键帧,关键帧......
  • CSS - 11 变形:平移,旋转与缩放
    11.变形:平移,旋转与缩放变形是指通过css来改变元素的形状或位置,变形不会影响到页面的布局transform用来设置元素的变形效果11.1平移语法translateX()沿着x轴......
  • CSS - 12 less入门
    12.lessless是一门css的预处理语言,通过less可以编写更少的代码实现更强大的样式由于less增添了许多对css的扩展,所以游览器无法直接执行less代码,执行前必须将less转换......
  • CSS - 13 弹性盒
    13.弹性盒flex弹性盒是css中的一种布局手段,主要用来代替浮动来完成页面的布局。flex可以让元素随页面大小的改变而改变13.1弹性容器使用display来设置弹性容器:fl......