【掰开揉碎】Flex 布局与 Float

简介: 【掰开揉碎】Flex 布局与 Float

先说总结:在现代前端开发中,推荐使用 Flex 布局,特别是对于需要更灵活、更自适应的布局场景。然而,在特定情况下,Float 布局仍然有其用武之地,例如实现特定的文本环绕效果。

1. Flex 布局

1.1 基本概念

Flex 布局是一种基于弹性盒子模型的布局方式。它通过在容器和子元素上应用 Flex 属性,实现了更加自由和动态的布局。Flex 布局主要包括容器属性和子元素属性。

.container {
  display: flex;
  justify-content: space-between;
}
 
.item {
  flex: 1;
}

1.2 优势和应用场景

  • 弹性布局: Flex 布局具有弹性,容器内的子元素可以根据需要自动伸缩。
  • 水平和垂直居中: 通过设置 justify-contentalign-items 属性,轻松实现水平和垂直居中。
  • 自适应空间分配: 使用 flex-grow 可以指定子元素在剩余空间中的相对分配比例。

2. Float 布局

2.1 基本概念

Float 是一种传统的布局方式,通过设置元素的 float 属性,让元素浮动到其容器的一侧。Float 布局主要用于实现文本环绕效果或多栏布局。

.float-left {
  float: left;
}
 
.float-right {
  float: right;
}

2.2 缺点和局限性

  • 清除浮动: 使用 Float 布局需要处理清除浮动的问题,以防止父元素无法正确计算高度。
  • 不灵活: Float 布局对响应式设计的支持较差,不够灵活。

3. 区别与选择

3.1 清晰度和语义性

  • Flex 布局: 更具语义性,容器和子元素的属性名称直观,清晰易懂。
  • Float 布局: 需要额外的清除浮动处理,增加了代码的复杂度。

3.2 响应式设计

  • Flex 布局: 更适合响应式设计,可以轻松适应不同屏幕尺寸。
  • Float 布局: 难以处理复杂的响应式需求,容易导致布局混乱。
相关文章
|
6月前
|
前端开发
CSS布局讲解-float浮动布局使用
CSS布局讲解-float浮动布局使用
|
12月前
|
前端开发 容器
前端祖传三件套CSS的布局之float
作为前端开发的必备技能,CSS布局一直是我们需要不断掌握和学习的重要内容。在CSS中,float布局是最经典、最常用的一种布局方式。本文将介绍float布局的基本概念、使用方法、注意事项,并结合实例进行讲解。
159 0
|
12月前
|
前端开发
css的学习(下)两千字入门css的几种布局(flex,grid,float...)
# 规则生效问题 ## 优先级 特异度的值来决定的 ### 选择器的特异度 Sqecificity id (伪)类 标签 #id .class tag 百 十 个 # 继承 某些属性会自动继承其父元素的计算值 除非显示的 指定一个值 文字相关的,颜色,字体 不给会继承 一些盒子模型 大小 不会继承 ## css可以和不可以继承的属性 不可继承的:display、margin、border、padding、background、height、min
|
Web App开发 前端开发
CSS Float 以及相关布局模式
float 取值 属性 值 描述   left 向左浮动   right 向右浮动   none 默认值   inherit 继承 看一个栗子 红色线框代表父元素   脱离文档流,其实也没有完全脱离,会被父元素的边界挡住。
914 0
|
前端开发
从零开始学_JavaScript_系列(17)——CSS<4>(定位、遮罩、float、弹性布局flex)
部分可能不兼容低版本浏览器(比如IE) 部分图片来自网易云课堂,侵、私信、删   (60)定位 ①position   ②值: static:默认,无定位   relative:相对定位,仍在文档流之中(其他的元素不变),参照物相对于原来的位置进行定位。会压在其他的元素上面。作用是为绝对定位元素提供参照物。   absolute:绝对定位,脱离文档流(后续元素会在绝对
1732 0
|
Web App开发 前端开发
CSS布局之-浮动(Float)与定位(Position)-让盒子飞!
一、 前言:浮动和定位的原理一定要深刻掌握!(其实每个原理都要深刻掌握!)如果你只是知道有float与position这些属性和他们的值,但是不清楚他们的值到底是怎么回事,那么你在写CSS的时候将会非常的苦恼,由刚开始的热血沸腾的想让盒子飞变成了让自己飞!因为盒子已经不知道飞到哪里去了,时间长了...
1270 0
|
5月前
|
存储 Java
百度搜索:蓝易云【Java语言之float、double内存存储方式】
由于使用IEEE 754标准进行存储,float和double类型可以表示非常大或非常小的浮点数,并且具有一定的精度。然而,由于浮点数的特性,它们在进行精确计算时可能会存在舍入误差。在编写Java程序时,需要注意使
59 0
|
2月前
|
C#
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
C# 字节数组与INT16,float,double之间相互转换,字符数组与字符串相互转换,
37 1
|
7月前
|
存储 C语言
C 语言实例 - 计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小。
35 1