各个布局的区别以及示例

在前端开发中,常见的布局方式主要有以下几种,每种布局都有其适用场景和特点:


1. 普通文档流(Normal Flow)

  • 特点:默认布局方式,元素按照HTML顺序依次排列。
  • 适用场景:简单页面、文本内容为主的布局。
  • 示例代码
    <div class="box">Box 1</div>
    <div class="box">Box 2</div>
    <div class="box">Box 3</div>
    
    .box {width: 100px;height: 100px;background: lightblue;margin: 10px;
    }
    

2. 浮动布局(Float)

  • 特点:元素脱离文档流,向左或向右浮动,常用于文字环绕图片或旧版多栏布局。
  • 适用场景:传统多栏布局(需配合clearfix清除浮动)。
  • 示例代码
    <div class="float-left">左浮动</div>
    <div class="float-right">右浮动</div>
    <div class="clearfix"></div>
    
    .float-left { float: left; width: 50%; }
    .float-right { float: right; width: 50%; }
    .clearfix::after {content: "";display: block;clear: both;
    }
    

3. 定位布局(Position)

  • 特点:通过position属性控制元素位置(相对、绝对、固定等)。
  • 适用场景:叠加元素(如弹窗)、固定在视口的元素(导航栏)。
  • 示例代码
    <div class="parent"><div class="child">绝对定位</div>
    </div>
    
    .parent {position: relative;height: 200px;background: #eee;
    }
    .child {position: absolute;top: 20px;left: 20px;background: lightcoral;
    }
    

4. Flexbox布局

  • 特点:一维布局,通过弹性容器控制子项的对齐、分布和顺序。
  • 适用场景:单行或单列布局、居中对齐、动态分配空间。
  • 示例代码
    <div class="flex-container"><div class="flex-item">1</div><div class="flex-item">2</div><div class="flex-item">3</div>
    </div>
    
    .flex-container {display: flex;justify-content: space-between;background: #f0f0f0;
    }
    .flex-item {width: 80px;height: 80px;background: lightgreen;
    }
    

5. Grid布局

  • 特点:二维布局,通过网格定义行和列,精准控制布局。
  • 适用场景:复杂网格结构(如仪表盘、卡片布局)。
  • 示例代码
    <div class="grid-container"><div class="header">Header</div><div class="sidebar">Sidebar</div><div class="main">Main</div>
    </div>
    
    .grid-container {display: grid;grid-template-columns: 1fr 3fr;grid-template-rows: 80px auto;gap: 10px;
    }
    .header { grid-column: 1 / 3; background: lightblue; }
    .sidebar { background: lightyellow; }
    .main { background: lightpink; }
    

6. 多列布局(Multi-column)

  • 特点:将内容自动分割为多列(类似报纸布局)。
  • 适用场景:长文本分栏显示。
  • 示例代码
    .multi-column {column-count: 3;column-gap: 20px;
    }
    

如何选择布局?

布局方式适用场景核心优势
普通文档流简单页面、线性内容默认行为,无需额外代码
Float传统多栏布局、文字环绕兼容性好(但现代布局中已少用)
Position元素叠加、固定位置精准控制位置
Flexbox一维布局、动态分配空间、居中响应式对齐和分配空间
Grid二维复杂布局、网格结构同时控制行和列
Multi-column长文本分栏自动分栏

现代布局推荐:

  • 首选Flexbox:用于组件内的排列(如导航栏、表单)。
  • 首选Grid:用于整体页面结构(如主页布局)。
  • 避免Float:除非需要兼容旧浏览器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/83609.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/83609.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/83609.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

性能优化 - 理论篇:常见指标及切入点

文章目录 引言一、 Java 性能优化的核心思路二、为什么要度量&#xff1f;三、常用性能衡量指标详解3.1 吞吐量与响应速度3.2 响应时间的具体度量&#xff1a;平均响应时间与百分位数3.3 并发量3.4 秒开率&#xff08;页面秒开&#xff09;3.5 正确性&#xff08;功能可用性&am…

第2讲、Odoo深度介绍:开源ERP的领先者

一、Odoo深度介绍&#xff1a;开源ERP的领先者 Odoo&#xff0c;其前身为OpenERP&#xff0c;是一款在全球范围内广受欢迎的开源企业管理软件套件。它不仅仅是一个ERP系统&#xff0c;更是一个集成了客户关系管理&#xff08;CRM&#xff09;、电子商务、网站构建、项目管理、…

Telerik生态整合:Kendo UI for Angular组件在WinForms应用中的深度嵌入(一)

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序&#xff0c;目前提供UI for ASP.NET MVC、Kendo…

2025年6月4日收获

Authorization Authorization是一种通用的、标准化的权限控制和认证的通用框架&#xff0c;它能够使跨系统和跨域的身份验证和授权管理更容易&#xff0c;使不同应用程序之间能够更轻松地实现单点登录&#xff08;SSO&#xff09;、用户身份验证和授权控制等。 在前端使用 axi…

实时数据湖架构设计:从批处理到流处理的企业数据战略升级

企业数据处理架构正在经历一场深刻的变革。从最初的数据仓库T1批处理模式&#xff0c;到如今的实时流处理架构&#xff0c;这一演进过程反映了业务对数据时效性要求的不断提升。 文章目录 第一章&#xff1a;数据湖演进历程与现状分析 第二章&#xff1a;实时数据湖核心架构剖…

iptables实战案例

目录 一、实验拓扑 二、网络规划 三、实验要求 四、环境准备 1.firewall &#xff08;1&#xff09;配置防火墙各大网卡IP并禁用 firewall和selinux &#xff08;2&#xff09;打开firewall路由转发 2.PC1&#xff08;内网&#xff09; &#xff08;1&#xff09;配置防…

macOS 连接 Docker 运行 postgres,使用navicat添加并关联数据库

下载 docker注册一个账号&#xff0c;登录 Docker创建 docke r文件 mkdir -p ~/.docker && touch ~/.docker/daemon.json写入配置&#xff08;全量替换&#xff09; {"builder": {"gc": {"defaultKeepStorage": "20GB",&quo…

docker离线镜像下载

背景介绍 在某些网络受限的环境中&#xff0c;直接从Docker Hub或其他在线仓库拉取镜像可能会遇到困难。为了在这种情况下也能顺利使用Docker镜像&#xff0c;我们可以提前下载好所需的镜像&#xff0c;并通过离线方式分发和使用。 当前镜像有&#xff1a;python-3.8-slim.ta…

Android 3D球形水平圆形旋转,旋转动态更换图片

看效果图 1、事件监听类 OnItemClickListener&#xff1a;3D旋转视图项点击监听器接口 public interface OnItemClickListener {/*** 当旋转视图中的项被点击时调用** param view 被点击的视图对象* param position 被点击项在旋转视图中的位置索引&#xff08;从0开始&a…

48V带极性反接保护-差共模浪涌防护方案

在工业自动化&#xff08;电动机驱动 / 工业机器人&#xff09;、交通基础设施&#xff08;充电桩 / 车载电子&#xff09;、安防系统&#xff08;监控摄像头 / 门禁&#xff09;、储能设备&#xff08;BMS / 离网控制器&#xff09;等领域&#xff0c;DC48V 电源因安全特低电压…

CentOS在vmware局域网内搭建DHCP服务器【踩坑记录】

1. 重新设置环境 配置dhcp服务踩了不少坑&#xff0c;这里重头搭建记录一下&#xff1a; 1.1 centos 网卡还原 如果之前搭了乱七八糟的环境&#xff0c;导致NAT模式也没法上网&#xff0c;这里重新还原 我们需要在NAT模式下联网&#xff0c;下载DHCP服务 先把centos的网卡还…

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…

Web3时代的数据保护挑战与应对策略

随着互联网技术的飞速发展&#xff0c;我们正步入Web3时代&#xff0c;这是一个以去中心化、用户主权和数据隐私为核心的新时代。然而&#xff0c;Web3时代也带来了前所未有的数据保护挑战。本文将探讨这些挑战&#xff0c;并提出相应的应对策略。 数据隐私挑战 在Web3时代&a…

从零打造算法题刷题助手:Agent搭建保姆级攻略

我用Trae 做了一个有意思的Agent 「大厂机试助手」。 点击 https://s.trae.com.cn/a/d2a596 立即复刻&#xff0c;一起来玩吧&#xff01; Agent 简介 Agent名称为大厂机试助手&#xff0c;主要功能有以下三点。 解题&#xff1a; 根据用户给出的题目给出具体的解题思路引导做…

【JavaWeb】MVC三层架构

MVC三层架构 MVC 是什么&#xff1f;三层架构的组成&#xff08;View、Controller、Model&#xff09;各层职责划分示例说明面试高频问题与参考答案 MVC&#xff08;Model-View-Controller&#xff09;是一种经典的软件设计模式&#xff0c;广泛应用于 Web 应用开发中&#xf…

嵌入式分析利器:DuckDB与SqlSugar实战

​ 一、DuckDB 的核心特性与适用场景 DuckDB 是一款 嵌入式分析型数据库&#xff08;OLAP&#xff09; &#xff0c;专为高效查询设计&#xff0c;主要特点包括&#xff1a; 列式存储与向量化引擎 数据按列存储&#xff0c;提升聚合统计效率&#xff08;如 SUM/AVG&#xf…

React---day6、7

6、组件之间进行数据传递 **6.1 父传子&#xff1a;**props传递属性 父组件&#xff1a; <div><ChildCpn name"蒋乙菥" age"18" height"1,88" /> </div>子组件&#xff1a; export class ChildCpn extends React.Component…

Windows上用FFmpeg采集摄像头推流 → MediaMTX服务器转发流 → WSL2上拉流播放

1. Windows上 FFmpeg 推流&#xff08;摄像头采集&#xff09; 设备名称可用 ffmpeg -list_devices true -f dshow -i dummy 查询&#xff0c;假设为Integrated Camera 采集推流示例&#xff08;推RTMP到MediaMTX&#xff09;&#xff1a; ffmpeg -rtbufsize 100M -f dshow …

SpringBoot1--简单体验

1 Helloworld 打开&#xff1a;https://start.spring.io/ 选择maven配置。增加SpringWeb的依赖。 Generate之后解压&#xff0c;代码大致如下&#xff1a; hpDESKTOP-430500P:~/springboot2/demo$ tree ├── HELP.md ├── mvnw ├── mvnw.cmd ├── pom.xml └── s…

MATLAB 中调整超参数的系统性方法

在深度学习中&#xff0c;超参数调整是提升模型性能的关键环节。以下是 MATLAB 中调整超参数的系统性方法&#xff0c;涵盖核心参数、优化策略及实战案例&#xff1a; 一、关键超参数及其影响 超参数作用典型范围学习率 (Learning Rate)控制参数更新步长&#xff0c;影响收敛…