[CSS3]百分比布局

移动端特点

PC和手机

PC端网页和移动端网页的有什么不同?

  1. PC屏幕大,网页固定版心
  2. 手机屏幕小,网页宽度多数为100%

谷歌模拟器

使用谷歌模拟器可以在电脑里面调试移动端的网页

屏幕尺寸

了解屏幕尺寸概念

屏幕尺寸: 指的是屏幕对角线的长度,一般用英寸来度量

PC端主流设备的分辨率

  1. PC端常见分辨率
  • 这个分辨率是屏幕硬件的分辨率, 出厂自带, 无法修改, 就是物理分辨率
  • 1920 * 1080
  • 1366 * 760
  1. 在操作系统中, 都会有一个推荐的缩放比例
  • 应用这个缩放150%之后, 屏幕呈现的分辨率就变了
  • (1920/150%) * (1080/150%)
  • 这个实际使用的分辨率是操作系统(软件)控制的, 就是逻辑分辨率
  • 逻辑分辨率的作用就是统一屏幕的显示效果, 让不同分辨率的屏幕呈现一致的UI体验

移动端主流设备的分辨率

制作网页参考物理分辨率还是逻辑分辨率?

  1. 制作网页都要参考逻辑分辨率
  2. 下面是京东网站, 在我电脑上展示的宽度是1690, 这个就是我的屏幕的逻辑分辨率: 2560 / 150% = 1707
  1. 存在误差是因为京东网页右侧滚动条占用了一点宽度
  1. 下面是移动端网站, 使用的也是逻辑分辨率

适口标签

默认情况下,PC网页的宽度和逻辑分辨率是相同的

复制代码
<!DOCTYPE html>
<html lang="en">

/* 最简单的HTML */
/* 默认宽度就是屏幕的逻辑分辨率宽度 */
/* 2560 / 150% = 1707 */
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>

<body>
  <div>hello</div>
</body>

</html>  

默认情况下,手机网页的宽度固定是980, 和逻辑分辨率无关

使用适口标签, 使移动端网页的宽度和设备宽度(逻辑分辨率)相同

复制代码
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <!-- 适口: 显示HTML网页的区域 -->
  <!-- 适口标签:  用来约束适口的标签 -->
  <!-- 属性: 
        viewport: 视口
        width=device-width: 视口宽度=设备宽度
        initial-scale=1.0: 缩放1倍(不缩放)
   -->
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <div>hello</div>
</body>

</html>

二倍图

设计师的设计图一般都是750px的图(也就是苹果6/7/8的物理分辨率), 称为二倍图

  1. 如果设计图是375px, 更方便我们写代码, 因为代码要按照设备的逻辑分辨率设置元素尺寸
  2. 但是375px的图放在750px的屏幕上显示, 效果是不好的,会模糊失真
  3. 为了保证显示效果, 设计稿都是按照物理分辨率(750px)设计
  4. 在H5中二倍图最多, App中, 有可能会遇到多倍图

能够使用像素大厨软件测量二倍图中元素的尺寸

  1. 拿到移动端设计稿之后, 我们把设计稿拖到像素大厨, 然后在开发模式里, 把设计稿选项里的1x改成2x,
  2. 然后再测量尺寸, 这个尺寸就是写代码的尺寸

百分比布局

百分比布局也叫流式布局,

  1. 就是宽度自适应(百分比单位), 高度固定(像素单位)

  2. 代码示例

    <!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> <style> * { margin: 0; padding: 0; }
    复制代码
         li {
             list-style: none;
         }
         
         .toolbar {
             position: fixed;
             left: 0;
             bottom: 0;
             /* 百分比布局  流式布局 */
             width: 100%;
             height: 50px;
             background-color: pink;
             border-top: 1px solid #ccc;
         }
         
         .toolbar li img {
             height: 100%;
         }
    
         .toolbar li {
             float: left;
             width: 20%;
             height: 50px;
         }
     </style>
    </head> <body>
    </body> </html>

随着技术发展,行业要求也越高,现在也要求高度自适应.

相关推荐
前端工作日常15 小时前
我学习到的AG-UI的概念
前端
韩师傅15 小时前
前端开发消亡史:AI也无法掩盖没有设计创造力的真相
前端·人工智能·后端
XiaoYu200215 小时前
第12章 支付宝SDK
前端
双向3315 小时前
RAG的下一站:检索增强生成如何重塑企业知识中枢?
前端
拖拉斯旋风15 小时前
从零开始:使用 Ollama 在本地部署开源大模型并集成到 React 应用
前端·javascript·ollama
asing15 小时前
🤯 为什么我的收银台在鸿蒙系统“第一次返回”死活拦不住?一次差点背锅的排查实录
前端·harmonyos
德育处主任16 小时前
『NAS』在群晖部署图片压缩工具-Squoosh
前端·javascript·docker
Hao_Harrision16 小时前
50天50个小项目 (React19 + Tailwindcss V4) ✨| ThreeDBackgroundBoxes(3D背景盒子组件)
前端·3d·typescript·react·tailwindcss·vite7
加个鸡腿儿16 小时前
经验分享2:SSR 项目中响应式组件的闪动陷阱与修复实践
前端·css·架构
心.c16 小时前
如何基于 RAG 技术,搭建一个专属的智能 Agent 平台
开发语言·前端·vue.js