批改状态:合格
老师批语:
所以一开始可以直接使用理想视口进行布局 不需要缩放不需要拖动 原比例显示initial-scale=1.0
通常设计师会给一个设计稿 有一个通用的公认的稿宽375px
这个375也就是设备上的视觉视口也就相当于100vw == 375px
在这个基础上进行运算
实例演示:
html{/*此种方案肯定是不行的不能设置为绝对值可以通过一个函数calc来动态计算*/font-size:100px;font-size:calc(100vw/3.75)/*那么此时 不管设备宽度是414还是375还是395还是多少都是自动计算100vw=414px 375px 用100vw/3.75 可以动态控制跟字号大小*/}

html代码部分
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>淘宝首页实例演示移动端布局</title><link rel="stylesheet" href="static/css/demo1.css" /></head><body><header>sxx</header><main><div class="nav"><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a><a href=""><img src="static/images/a.jpg" alt="" /><p>天猫新品</p></a></div></main><footer>xxx</footer></body></html>
* {padding: 0;margin: 0;box-sizing: border-box;}a {text-decoration: none;}/*三大视口1.布局视口:面向开发者和设备没有关系 默认980px 使用width表示2.视觉视口:设备硬件的显示窗口就是视觉视口用device-width表示3.理想视口:可以不用缩放就可以看到所有内容的视口就是理想视口/相当于:布局视口 = 视觉视口所以一开始可以直接使用理想视口进行布局 不需要缩放不需要拖动 原比例显示initial-scale=1.0*//*布局三部曲1.设置根元素字号为动态值 定义一个可以根据宽高进行缩放的大小2.在body中将字号重置3.使用rem进行布局*//*怎么设置根元素字号为动态的呢*//*通常设计师会给一个设计稿 有一个通用的公认的稿宽375px这个375也就是设备上的视觉视口也就相当于100vw == 375px在这个基础上进行运算1个vw是多少1vw = 100vw/100 = 375px/100 =3.75px可以这样理解1个vw == 3.75px1个rem是多少假设人为设置跟字号为100px那么此时1rem=100px那么1rem设置为100px是否合适呢如果1rem设置为一个绝对值 那么就会失去响应布局的条件 根据vw公示来看如果设备宽度是414呢414/3.75 == 110.4px 那么此时1个rem应该等于110.4但是这个414始终都是100vw 375也是100vw 395也是100vw那么就可以使用vw来动态的表示rem的值实现移动端布局正常来写的话:html{font-size:100px;此种方案肯定是不行的不能设置为绝对值可以通过一个函数calc来动态计算font-size:calc(100vw/3.75)那么此时 不管设备宽度是414还是375还是395还是多少都是自动计算100vw=414px 375px 用100vw/3.75 可以动态控制跟字号大小}*//* 1.动态设置跟字号 */html {font-size: calc(100vw / 3.75);}/* 2.在body中重置跟字号 */body {font-size: 16px;background-color: #f4f4f4;}/* 3.通过rem来进行布局 */header {height: 0.5rem;width: 100vw;/* background-color: #ccc; */}main {width: 100vw;}main .nav {background-color: #fff;height: 1.46rem;width: 3.57rem;display: grid;grid-template-columns: repeat(5, 0.61rem);grid-template-rows: repeat(2, 0.66rem);gap: 0.1rem;place-items: center;place-content: space-between;margin: auto;border-radius: 0.12rem;}main .nav a {/* : 0.2rem; */margin-bottom: 0.1rem;}main .nav a img {width: 100%;}main .nav a p {/* display: block; */font-size: 0.13rem;height: 0.13rem;color: #666666;/* margin-top: 0.05rem; */}/*假设我们不想让图标无限放大那么咱们只需要用媒体查询限制一下即可以480px为断点最大设置为跟字号20px*/@media (min-width: 480px) {html {/* 观察在479px时字号是20px 那么咱们就固定在20px 默认1个rem=100px*//* 计算方式:20px是在body的16px上进行放大1.25倍(20/16 = 1.25) 用100*1.25 = 125px*/font-size: 125px;}}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号