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

目录
相关文章
|
3月前
|
数据采集 前端开发 API
React - 实现一个基于 Antd 的数值范围组件
这篇文章介绍了如何实现一个基于Ant Design的数值范围组件,以满足数据采集流程中表单数据的录入需求。文章详细说明了组件的设计思路、代码结构、使用方式以及参数说明,并提供了效果预览和注意事项。组件支持只能输入数字,具有自定义表单控件封装的特点,同时支持所有InputNumber属性,以适应不同业务场景的需求。
112 0
React - 实现一个基于 Antd 的数值范围组件
|
3月前
|
前端开发 安全 数据安全/隐私保护
React - 实现一个基于 Antd 的密码强度校验组件
这篇文章介绍了一个基于 Nest 和 Umi 技术栈的个人项目开发中用到的密码强度校验组件的开发过程。作者首先在网上找不到满意的资料,于是决定自己开发该组件。文章依次介绍了效果预览、组件思想和组件开发的过程,并提供了相应的代码示例。最后,作者展示了实际效果,并提供了仓库地址供参考。
108 0
React - 实现一个基于 Antd 的密码强度校验组件
|
8月前
|
前端开发
如何在React Router中定义404错误页面组件?
如何在React Router中定义404错误页面组件?
226 57
|
7月前
|
前端开发 JavaScript NoSQL
使用 Node.js、Express 和 React 构建强大的 API
本文详细介绍如何使用 Node.js、Express 和 React 构建强大且动态的 API。从开发环境搭建到集成 React 前端,再到利用 APIPost 高效测试 API,适合各水平开发者。内容涵盖 Node.js 运行时、Express 框架与 React 库的基础知识及协同工作方式,还涉及数据库连接和前后端数据交互。通过实际代码示例,助你快速上手并优化应用性能。
|
8月前
|
资源调度 JavaScript 前端开发
前端开发必备!Node.js 18.x LTS保姆级安装教程(附国内镜像源配置)
本文详细介绍了Node.js的安装与配置流程,涵盖环境准备、版本选择(推荐LTS版v18.x)、安装步骤(路径设置、组件选择)、环境验证(命令测试、镜像加速)及常见问题解决方法。同时推荐开发工具链,如VS Code、Yarn等,并提供常用全局包安装指南,帮助开发者快速搭建高效稳定的JavaScript开发环境。内容基于官方正版软件,确保合规性与安全性。
7472 23
|
8月前
|
Prometheus 监控 JavaScript
Node.js连接池配置的五个隐形陷阱与防御体系:从创业公司血泪史说起
文章以创业公司血泪史为例,详细阐述了 Node.js 连接池配置的五个隐形陷阱及防御体系。包括连接泄漏、配置参数算术错误、异步异常导致崩溃、跨连接事务问题、监控缺失,并介绍了相应的解决办法和终极防御手段,强调在确定性与不确定性中寻找平衡,建立自适应机制。
323 13
|
8月前
|
JavaScript 前端开发 API
纯js轻量级页面顶部Loading进度条插件
纯js轻量级页面顶部Loading进度条插件
|
1月前
|
缓存 前端开发 JavaScript
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
🌟蒋星熠Jaxonic,前端探索者。专注React Hooks深度实践,从原理到实战,分享状态管理、性能优化与自定义Hook精髓。助力开发者掌握函数组件的无限可能,共赴技术星辰大海!
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
|
6月前
|
缓存 前端开发 数据安全/隐私保护
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
274 68
|
6月前
|
缓存 前端开发 Java
在 React 中,组合组件和高阶组件在性能方面有何区别?
在 React 中,组合组件和高阶组件在性能方面有何区别?
254 67