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

简介: 在React中结合Ant Design与媒体查询,通过less变量和响应式断点动态调整`@font-size-base`,实现多分辨率下字体自适应,提升跨设备体验。

在 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 组件和你自己的自定义组件在不同分辨率下都能保持一致的字体大小比例,提供良好的跨设备体验。

目录
相关文章
|
11月前
|
前端开发 JavaScript
除了使用Route组件,React Router还有其他方式处理404错误页面吗
除了使用Route组件,React Router还有其他方式处理404错误页面吗
294 58
|
11月前
|
前端开发
如何在React Router中定义404错误页面组件?
如何在React Router中定义404错误页面组件?
292 57
|
11月前
|
前端开发 UED
在React Router中,如何处理路由的404错误页面?
在React Router中,如何处理路由的404错误页面?
371 57
|
10月前
|
前端开发 JavaScript NoSQL
使用 Node.js、Express 和 React 构建强大的 API
本文详细介绍如何使用 Node.js、Express 和 React 构建强大且动态的 API。从开发环境搭建到集成 React 前端,再到利用 APIPost 高效测试 API,适合各水平开发者。内容涵盖 Node.js 运行时、Express 框架与 React 库的基础知识及协同工作方式,还涉及数据库连接和前后端数据交互。通过实际代码示例,助你快速上手并优化应用性能。
|
11月前
|
JavaScript 前端开发 API
纯js轻量级页面顶部Loading进度条插件
纯js轻量级页面顶部Loading进度条插件
|
4月前
|
缓存 前端开发 JavaScript
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
🌟蒋星熠Jaxonic,前端探索者。专注React Hooks深度实践,从原理到实战,分享状态管理、性能优化与自定义Hook精髓。助力开发者掌握函数组件的无限可能,共赴技术星辰大海!
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
|
9月前
|
缓存 前端开发 数据安全/隐私保护
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
317 68
|
9月前
|
缓存 前端开发 Java
在 React 中,组合组件和高阶组件在性能方面有何区别?
在 React 中,组合组件和高阶组件在性能方面有何区别?
292 67
|
9月前
|
前端开发 JavaScript 安全
除了高阶组件和render props,还有哪些在 React 中实现代码复用的方法?
除了高阶组件和render props,还有哪些在 React 中实现代码复用的方法?
359 62
|
12月前
|
移动开发 前端开发 API
React 音频播放器组件 Audio Player
本文介绍如何使用React创建音频播放器组件,涵盖核心功能如播放/暂停、进度条、音量控制和时间显示。通过HTML5 `&lt;audio&gt;` 元素和React的声明式状态管理,实现交互式音频播放。常见问题包括控件不响应、进度条无法更新和音量控制失灵,并提供解决方案。此外,还讨论了浏览器兼容性、异步错误处理和性能优化等易错点及避免方法。
850 123