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

js react antd 实现页面低分变率和高分变率下字体大小自适用,主要是配置antd

在 React 项目中使用 Ant Design 实现不同分辨率下字体大小的自适应,可以通过配置 Ant Design 的主题变量结合媒体查询来实现。下面是具体的实现方案:

  1. 首先,你需要配置 Ant Design 的主题定制,利用 less 变量来定义基础字体大小
  2. 使用媒体查询针对不同分辨率设置不同的基础字体大小
  3. 让 Ant Design 的所有组件都基于这个基础字体大小进行缩放

以下是实现代码:

// 导入 Ant Design 样式
@import '~antd/dist/antd.less';// 媒体查询 - 响应式字体大小
@media (max-width: 767px) {:root {--font-size-base: 12px;}@font-size-base: 12px;@font-size-lg: 14px;@font-size-sm: 10px;
}@media (min-width: 768px) and (max-width: 1023px) {:root {--font-size-base: 14px;}@font-size-base: 14px;@font-size-lg: 16px;@font-size-sm: 12px;
}@media (min-width: 1024px) and (max-width: 1439px) {:root {--font-size-base: 16px;}@font-size-base: 16px;@font-size-lg: 18px;@font-size-sm: 14px;
}@media (min-width: 1440px) {:root {--font-size-base: 18px;}@font-size-base: 18px;@font-size-lg: 20px;@font-size-sm: 16px;
}// 应用布局样式
.app-layout {min-height: 100vh;
}.site-layout-content {min-height: 280px;
}

实现原理说明:

  1. 配置方面:

    • 使用 customize-crareact-app-rewired 来覆盖 create-react-app 的默认配置
    • 通过 addLessLoader 启用 less 支持,并配置 Ant Design 的基础主题变量
  2. 响应式实现:

    • 在 App.less 中使用媒体查询针对不同分辨率范围定义不同的 @font-size-base 变量
    • Ant Design 的所有组件都会基于 @font-size-base 计算自身的字体大小
    • 同时定义了 CSS 变量 --font-size-base 方便在自定义组件中使用
  3. 分辨率断点设置:

    • 移动设备:<768px - 较小字体
    • 平板:768px-1023px - 中等字体
    • 笔记本/小屏桌面:1024px-1439px - 标准字体
    • 大屏桌面:≥1440px - 较大字体

这种方式可以确保 Ant Design 组件和你自己的自定义组件在不同分辨率下都能保持一致的字体大小比例,提供良好的跨设备体验。

http://www.hskmm.com/?act=detail&tid=16607

相关文章:

  • C. Strange Function
  • 剑指offer-33、丑数
  • C#操作Excel核心要点:告别手动,拥抱自动化
  • 250925
  • 云平台qcow2镜像的制作
  • 介绍
  • 鸿蒙应用开发从入门到实战(十四):ArkUI组件ColumnRow线性布局
  • 【日记】被迫学习换锁(856 字)
  • 仿生视觉芯片迈向实用化:《Advanced Science》报道双极性宽谱光电晶体管,赋能自动驾驶与机器感知 - 教程
  • 详细介绍:2026毕设-基于Spring Boot的在线海鲜市场交易平台的设计与实现
  • 【源码解读之 Mybatis】【基础篇】-- 第3篇:SqlSession的创建与生命周期
  • AI智慧:于来路与关山之间,活在当下
  • 基于Qt和FFmpeg的安卓监控模拟器/手机摄像头模拟成onvif和28181设备
  • 详细介绍:Flink 2.x 独立集群(Standalone) 的部署
  • 瑞芯微RK3506核心板/开发板DSM音频开发实战,关键知识点与实操案例必看攻略! - 教程
  • 不只是一台玩具车:开源燃料电池机器人HydroBot全揭秘 - 实践
  • 在AI技术唾手可得的时代,挖掘新需求成为核心竞争力——某知名窗口管理工具需求洞察
  • OS-KylinV10-加载动态库运行异常-全局函数重名或未使用命名空间
  • 性能暴涨50%:PD分离KV cache传输的实战干货
  • 【GitHub每日速递 250925】 一套代码跑遍全平台!Flutter 让你的应用开发提速 10 倍
  • 上海芯片上市公司市值大揭秘!谁是“芯”界顶流?
  • 中科微卫星定位芯片代理商,北斗双频定位导航模组ATGM332D-F7N
  • 四个第一!又一国产GPU突围亮相!
  • AI智慧:于悬荡中并行,在悟空里觉醒
  • 读人形机器人22工作的意义
  • .NET 何以成为制造业数字化转型的基石:效率、生态与跨平台的制胜之道
  • 深度互联:金兰契协议下的领域知识与元智慧共生
  • Winform无边框窗体拖动功能实现
  • HarmonyOS SDK 媒体开放能力在微博社交场景的实践剖析
  • 今天我看了