update: 屏幕宽度自适应

style
icefire 2024-10-19 22:00:46 +08:00
parent da158c84ff
commit 3dcabcef62
4 changed files with 56 additions and 21 deletions

View File

@ -41,8 +41,11 @@ export default async function Home (props: PropsType) {
]
return <>
<div className='w-full'>
<div className="w-min-[1440px] w-max-[1920px] mx-auto">
<div className="w-[1440px] relative container"
>
<Header dict={dict} lang={lang} />
<div className='main' style={{height: 'calc(100vh - 82px)', overflowY: "auto"}}>
<section id="home">
<div className="w-full h-[770px] bg-[url('/home/img_header.png')] bg-right bg-no-repeat pt-[279px] pl-[72px]">
<div
@ -162,13 +165,13 @@ export default async function Home (props: PropsType) {
</div>
</section>
<div className="w-full px-[40px] flex flex-wrap justify-center gap-[50px] mt-[34px] mb-[83px]">
<div className="w-full px-[40px] flex flex-wrap justify-between mt-[34px] mb-[83px]">
{
caseList.map((item: CaseType, index: number) => {
return <div key={'key'+index} className="cursor-pointer relative group">
<div className='hover:scale-[1.17] hover:shadow-[0px_0px_20px_8px_#0988FF] rounded-[60px]'>
return <div key={'key'+index} className="cursor-pointer relative group mb-[50px]" style={{ width: 'calc(25% - 37.5px)' }}>
<div className='hover:scale-[1.17] hover:shadow-[0px_0px_20px_8px_#0988FF] rounded-[60px] h-full'>
<img
className="rounded-[60px]
className="rounded-[60px] w-full
transition ease-in-out duration-300"
src={item.img}
width={300}
@ -185,9 +188,9 @@ export default async function Home (props: PropsType) {
</div>
})
}
<div className="w-[300px] h-[300px] flex flex-col justify-center items-center
text-[30px] text-[#3d3d3d] cursor-pointer rounded-[60px]"
style={{background: 'radial-gradient(61% 61% at 50% 50%, #FFFFFF 46%, #E1E1E1 100%)'}}>
<div className="flex flex-col justify-center items-center
text-[30px] text-[#3d3d3d] cursor-pointer rounded-[60px] mb-[50px]"
style={{background: 'radial-gradient(61% 61% at 50% 50%, #FFFFFF 46%, #E1E1E1 100%)', width: 'calc(25% - 37.5px)' }}>
<div>{ dict.seeMore }</div>
<div>{ dict.contactUs1 }</div>
</div>
@ -216,6 +219,7 @@ export default async function Home (props: PropsType) {
<div>
<Footer dict={dict} />
</div>
</div>
</div>
</div>
</>

View File

@ -4,6 +4,7 @@ import { useState } from "react";
type NavType = {
name: string;
href: string;
@ -12,6 +13,7 @@ type NavType = {
function SplitButton(props: {dict: Record<string, string>, lang: string[]}) {
const { dict, lang } = props
const [show, setShow] = useState(false)
return <>
<div className="">
<div className="flex items-center w-[129px] h-[28px] bg-[#EEF1F6]
@ -34,9 +36,9 @@ function SplitButton(props: {dict: Record<string, string>, lang: string[]}) {
</div>
{
<div className={`absolute ${!show && 'hidden'} w-[100vw] h-[100vh] left-0 top-0 z-[1000]`} onClick={() => setShow(false)}>
<div className={`absolute ${!show && 'hidden'} left-0 right-0 top-0 bottom-0 left-0 top-0 z-[1000]`} onClick={() => setShow(false)}>
<Link href={lang[0] === 'zh' ? '/en' : '/'}>
<div className={`absolute right-[40px] top-[68px] w-[129px] h-[28px]
<div className={`absolute right-[20px] top-[68px] w-[129px] h-[28px] leading-[28px]
bg-[#EEF1F6] text-center transition-all duration-300 origin-top group-hover:block`}>
<div className="text-[14px] text-[#333333]">{dict?.lang1}</div>
</div>
@ -69,16 +71,19 @@ export default function Header(props: {dict: Record<string, string>, lang: strin
},
]
return (<>
<div className={"flex items-center px-[20px] h-[80px] border-b-1 border-solid border-[#D8D8D8] fixed w-full bg-white z-[999]"}
<div className={"flex items-center px-[20px] h-[80px] border-b-1 border-solid border-[#D8D8D8] absolute w-full bg-white z-[999]"}
style={{ borderBottom: '1px solid #D8D8D8' }}
>
<img
src="/common/logo.png"
width={180}
height={47}
alt="logo"
/>
<div className={"flex flex-1 items-end h-[80px] mx-[13px]"}>
<Link href="#home">
<img
src="/common/logo.png"
width={180}
height={47}
alt="logo"
/>
</Link>
<div className={"flex flex-1 items-end h-[80px] mx-[13px]"}
>
{
navList.map((item: NavType) => (
<Link href={item.href} key={item.name}>
@ -94,8 +99,7 @@ export default function Header(props: {dict: Record<string, string>, lang: strin
))
}
</div>
<div className="">
<div className="w-[129px]">
<SplitButton dict={dict} lang={lang} />
</div>
</div>

View File

@ -2,4 +2,31 @@
@tailwind components;
@tailwind utilities;
.main::-webkit-scrollbar {
display: none;
}
.main {
-ms-overflow-style: none;
scrollbar-width: none;
}
.container {
transform-origin: top left; /* 设置变换原点为左上角 */
}
/* 当屏幕宽度在1440px到1920px之间时 */
@media screen and (min-width: 1440px) and (max-width: 1920px) {
.container {
transform: scale(1.333); /* 1440px宽度的1.333倍是1920px */
left: calc(50% - 960px);
}
}
/* 当屏幕宽度大于或等于1920px时 */
@media screen and (min-width: 1920px) {
.container {
transform: scale(1.333); /* 保持与1920px宽度的屏幕相同的缩放比例 */
left: calc(50% - 960px);
}
}

View File

@ -28,5 +28,5 @@
"privacyPolicy": "隐私条款",
"userAgreement": "用户协议",
"productPricing": "产品定价",
"clickToPlay": "点击玩"
"clickToPlay": "点击玩"
}