网站备案实名认证手机大全中关村在线

张小明 2025/12/27 15:37:31
网站备案实名认证,手机大全中关村在线,建设银行大连招聘网站,各种购物网站大全问题描述#xff1a; 有个插件Postcss-pxtorem能自动转换px做适配#xff0c;但是某些插件不能转换#xff0c;例如antd。 设计图只有一套1920*1080.要做到尽量1比1还原#xff0c;又能适配大小屏幕#xff0c;如果一个个转百分比会非常麻烦。 这时就可以选择用等比例缩放…问题描述有个插件Postcss-pxtorem能自动转换px做适配但是某些插件不能转换例如antd。设计图只有一套1920*1080.要做到尽量1比1还原又能适配大小屏幕如果一个个转百分比会非常麻烦。这时就可以选择用等比例缩放实现自适应布局。运行环境reactumi(其他也可用原理一样)1.根据设计图1比1写px。2.在layout写import React, { useEffect, useRef, useState } from react; import { Outlet } from umijs/max; import styles from ./ScaleLayout.less; import { LayoutProvider } from ./context; const ScaleLayout: React.FC () { const [bg, setBgState] useState(); const scaleRootRef useRefHTMLDivElement(null); useEffect(() { const setScale () { const scaleX window.innerWidth / 1920; const scaleY window.innerHeight / 1080; // Use Math.min to fit the screen while maintaining aspect ratio (letterboxing) const scale Math.min(scaleX, scaleY); console.log(scale, scale); if (scaleRootRef.current) { scaleRootRef.current.style.transform scale(${scale}); } }; // Initial scale setScale(); // Add event listener window.addEventListener(resize, setScale); // Cleanup return () window.removeEventListener(resize, setScale); }, []); return ( LayoutProvider value{{ setBg: setBgState }} div className{styles.viewport} div className{styles.pageBg} style{{ backgroundImage: bg ? url(${bg}) : none }} / div className{styles.scaleRoot} ref{scaleRootRef} Outlet / /div /div /LayoutProvider ); }; export default ScaleLayout;layout样式.viewport { width: 100vw; height: 100vh; background: #050b16; // Match the apps dark theme overflow: hidden; display: flex; justify-content: center; align-items: center; } /* 页面背景层不参与缩放 */ .pageBg { position: absolute; inset: 0; background-size: cover; background-position: center; z-index: 0; } .scaleRoot { width: 1920px; height: 1080px; transform-origin: center center; flex-shrink: 0; overflow: hidden; }背景有黑边把背景提到缩放盒子外边。这样就能实现内容的1比1又不会太难看。context.tsximport React, { createContext, useContext, useState } from react; interface LayoutContextType { setBg: (bg: string) void; } const LayoutContext createContextLayoutContextType | undefined(undefined); export const useLayout () { const context useContext(LayoutContext); if (!context) { throw new Error(useLayout must be used within a LayoutProvider); } return context; }; export const LayoutProvider: React.FC{ children: React.ReactNode; value: LayoutContextType } ({ children, value }) { return LayoutContext.Provider value{value}{children}/LayoutContext.Provider; };页面设置背景import { useLayout } from /layouts/context; import bg from /assets/imgs/training/zice/learn_sel_bg.png const { setBg } useLayout(); useEffect(() { setBg(bg); return () setBg(); }, []);
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站建设分析报告有趣的网站初音

OpenWrt动态域名解析工具配置指南 【免费下载链接】luci-app-aliddns OpenWrt/LEDE LuCI for AliDDNS 项目地址: https://gitcode.com/gh_mirrors/lu/luci-app-aliddns 引言:解决动态IP的痛点 对于使用动态IP的家庭宽带用户来说,远程访问路由器始…

张小明 2025/12/27 15:36:58 网站建设

东莞高端网站建设网站 色调

Git 配置全攻略:从基础到高级技巧 1. 配置方式概述 Git 的配置方式有多种,除了在命令行通过键值对设置配置值外,还可以直接编辑配置文件。你可以使用喜欢的编辑器打开配置文件进行设置,也能利用内置的 git config -e 命令在 Git 配置的编辑器中直接修改。 设置编辑器的…

张小明 2025/12/27 15:35:51 网站建设

博学网站建设公司网站的基本布局

这里写自定义目录标题从实际需求出发:为何需要 callJS?核心功能:从注册到调用的完整闭环注册回调:setCallBack 搭建沟通桥梁合理的创建标题,有助于目录的生成同步调用:call 实现即时交互异步调用&#xff1…

张小明 2025/12/27 15:34:44 网站建设

免费在线观看电影电视剧网站怎么修改网站首页html代码

终极轻量级CSS框架Chota:快速开发响应式布局的完整指南 【免费下载链接】chota A micro (3kb) CSS framework 项目地址: https://gitcode.com/gh_mirrors/ch/chota 在当今前端开发领域,寻找一个既轻量又功能齐全的CSS框架是每个开发者的共同目标。…

张小明 2025/12/27 15:34:06 网站建设