当前位置: 首页 > ai >正文

前端css 的固定布局,流式布局,弹性布局,自适应布局,响应式布局

1. 固定布局

容器的宽高是固定的,单位一般是px,不会随着屏幕大小变化

2.流式布局(百分比布局/vw)

vw: 视图宽度的百分比,1vw代表视窗宽度的1% 

vh: 视图高度的百分比,1vh代表视窗高度的1%

特点: 

  • 宽度随屏幕大小变化
  • 单位用%或vw 
  • 高度通常不随内容变化

缺点: 

  • 浏览器字体无法随着变化

3. 弹性布局 

使用display: felx,通过弹性容器控制子元素在主轴/交叉轴上的位置和大小

特点: 

  • 灵活高效,简化多列布局
  • 对齐和居中简单
  • 响应式能力强

4.自适应布局

针对多个设备设计不同的固定宽度布局,通常通过媒体查询切换布局

特点:

根据屏幕大小切换不同的固定布局

一般设计几个断点(如 320px、768px、1024px)

5.响应式布局

结合 流式布局 + 媒体查询 + 弹性布局等方式,实现单套代码适配所有设备

特点:

页面随屏幕自动适配

常配合 flex/grid + 媒体查询 + %/vw 等单位使用

优点: 

一套代码适配所有设备(PC、Pad、手机)

缺点:

开发初期复杂,调试工作量大

方案: 媒体查询(Media Query)+ 百分比/弹性布局

这是最经典的方式,主要用于多设备断点适配(PC、平板、手机)

/* PC端布局 */
@media screen and (min-width: 1024px) {
.container { width: 80%; }
}

/* 平板布局 */
@media screen and (max-width: 1023px) and (min-width: 768px) {
.container { width: 90%; flex-direction: column; }
}

/* 手机布局 */
@media screen and (max-width: 767px) {
.container { width: 100%; flex-direction: column; padding: 1rem; }
}

方案 2:rem + viewport(vw)+ flex 自适应方案(移动端适配)

移动端最主流方案之一,阿里、京东、淘宝、小程序后台等都用过。

// 设置根字体大小:375px 屏幕设置为 37.5px
document.documentElement.style.fontSize = document.documentElement.clientWidth / 10 + 'px';

.container {
width: 7.5rem; /* 相当于 375px */
padding: 0.5rem;
display: flex;
}

自适应布局 vs 响应式布局:核心区别

对比项自适应布局(Adaptive)响应式布局(Responsive)
📐 布局策略设置多个断点,加载时匹配一个布局基于屏幕宽度流式变化,页面结构自动调整
🔁 是否需刷新页面✅ 是(首次加载就匹配一个布局,不动态变化)❌ 否(实时响应页面宽度变化,自动调整)
🧱 断点数量限定几个(如手机、平板、桌面)可以是连续的,或者结合媒体查询做到细腻控制
🧠 原理检测设备类型 / 屏幕宽度,选择不同的“固定布局”使用 %vwflex、媒体查询动态适配
📦 常用技术JS判断 + 不同的 layout 或媒体查询CSS媒体查询 + 流式单位 + 弹性/Grid布局等
💡 举例加载时选择 320px、768px、1024px 三套布局之一页面宽度从 300px 到 1600px 都能流畅变化

http://www.xdnf.cn/news/16481.html

相关文章:

  • VNC和RPC加固措施
  • win10 环境删除文件提示文件被使用无法删除怎么办?
  • 海外短剧系统架构设计:从0到1搭建高并发微服务平台
  • 白玩 一 记录retrofit+okhttp+flow 及 kts的全局配置
  • 墨者:SQL过滤字符后手工注入漏洞测试(第3题)
  • npm : 无法加载文件 D:\Nodejs\node_global\npm.ps1,因为在此系统上禁止运行脚本
  • 什么是ios企业签名?
  • VTK开发笔记(一):VTK介绍,Qt5.9.3+VS2017x64+VTK8.2编译
  • 使用 Django REST Framework 构建强大的 API
  • vue请求golang后端CORS跨域问题深度踩坑
  • 分布式链路追踪详解
  • 图论:Bellman_ford算法
  • 预过滤环境光贴图制作教程:第三阶段 - GGX 分布预过滤
  • Unity 编辑器开发 之 Excel导表工具
  • git使用lfs解决大文件上传限制
  • 监控场景视频质量异常修复:陌讯动态增强算法实战解析
  • 使用JavaScript实现轮播图的自动切换和左右箭头切换效果
  • BERT 的 NSP慢慢转换为SOP
  • Linux -- 文件【中】
  • 工具链攻击利用漏洞链入侵SharePoint服务器获取完全控制权
  • 图片查重从设计到实现(7) :使用 Milvus 实现高效图片查重功能
  • python基础:request请求Cookie保持登录状态、重定向与历史请求、SSL证书校验、超时和重试失败、自动生成request请求代码和案例实践
  • GCC、glibc、GNU C(gnuc)的关系
  • 准大一GIS专业新生,如何挑选电脑?
  • redhat7.9更换源为centos7(阿里云源-目前centos7可用的源)
  • 基于KMeans、AgglomerativeClustering、DBSCAN、PCA的聚类分析的区域经济差异研究
  • 222. 完全二叉树的节点个数
  • AI算法实现解析-C++实例
  • 如何在在NPM发布一个React组件
  • 第2章 cmd命令基础:常用基础命令(1)