当前位置: 首页 > news >正文

【CSS】移动端适配

移动端适配怎么做?

适配的目的是在屏幕大小不同的终端设备拥有统一的界面,让拥有更大屏幕的终端展示更多的内容。

meta viewport (视口)

移动端初始视口的大小默认是980px,因为世界上绝大多数PC网页的版心宽度为980px ,如果网页没有专门做移动端适配,此时用手机访问网页旁边刚好没有留白,不过页面缩放后文字会变得非常小。

为了解决页面缩放的体验问题,在网页代码的头部,加入一行viewport元标签。这里的device-width告诉浏览器,将视口的宽度设置为设备宽度(这个宽度是人为预设的,不设的话就是980px)。

属性含义:

  • initial-scale:第一次进入页面的初始比例
  • minimum-scale:允许缩小最小比例
  • maximum-scale:允许放大最大比例
  • user-scalable:允许使用者缩放, 1 or 0 (yes or no)
<metaname="viewport"content="width=device-width, initial-scale=1.0"
>

图片适配

img {max-width: 100%;}此时图片会自动缩放,同时图片最大显示为其自身的100% (即最大只可以显示为自身那么大)。

为什么不用 img{width: 100%;}?当容器大于图片宽度时,图片会拉伸变形变模糊。

媒体查询

针对不用的设备提前为网页设定各种CSS样式。CSS3中的Media Query模块,自动检测屏幕宽度,然后加载相应的CSS文件语法举例@media screen and (min-width:1200px){ body{background-color: red;}当屏幕宽度大于1200px时,背景色变为红色。

动态 rem 方案

和媒体查询配合,实现响应式布局。

px、em、rem 有什么不同?

px是pixel (像素) ,是屏幕上显示数据的最基本的点,在HTML中,默认的单位就是px。

em是一个相对大小。相对于父元素font-size的百分比大小。

rem是相对于根元素的font-size。

<style>* {padding: 0;margin: 0;}.w-550px {width: 550rem;height: 100px;background-color: rgb(113, 230, 191);}.w-750px {width: 750rem;height: 100px;background-color: rgb(239, 198, 94);}
</style><body><div class="w-550px"></div><div class="w-750px"></div><script>function setRem() {const scale = document.documentElement.clientWidth / 750document.documentElement.style.fontSize = scale + 'px'}setRem()window.onresize = setRem</script>
</body>

在这里插入图片描述

相关文章:

  • Echars3D 饼图开发
  • 部署实战--修改jar中的文件并重新打包成jar文件
  • stack和queue及优先级队列和适配器(包括deque)的介绍
  • 云贝教育 | 【技术文章】Oracle 19c RAC修改网络
  • Userexcel 单元格中序号,但是通过openxml获取的不是序号是数字?
  • C++入门(一)— 使用VScode开发简介
  • 【C++】STL反向迭代器模拟实现,迭代器适配器,迭代器类型简单介绍
  • 【竞技宝】LOL:Able小炮连续起跳收割战场 OMG2-0轻取TT
  • 微服务系统设计:横向扩展和纵向扩展的对比
  • C#基础题
  • Java中使用StopWatch实现代码块耗时统计/计时某段代码执行
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • C语言指针学习 之 指针是什么
  • python验证服务器或容器端口是否可以用
  • Linux(ubuntu) -- 安装后调配
  • 时间复杂度分析经典问题——最大子序列和
  • [译]如何构建服务器端web组件,为何要构建?
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • go语言学习初探(一)
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • java中具有继承关系的类及其对象初始化顺序
  • jdbc就是这么简单
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • LintCode 31. partitionArray 数组划分
  • 基于Android乐音识别(2)
  • 扑朔迷离的属性和特性【彻底弄清】
  • 驱动程序原理
  • 什么是Javascript函数节流?
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 数据科学 第 3 章 11 字符串处理
  • HanLP分词命名实体提取详解
  • 阿里云重庆大学大数据训练营落地分享
  • 选择阿里云数据库HBase版十大理由
  • #{}和${}的区别是什么 -- java面试
  • #《AI中文版》V3 第 1 章 概述
  • #Lua:Lua调用C++生成的DLL库
  • #pragma 指令
  • (1)常见O(n^2)排序算法解析
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (ZT)出版业改革:该死的死,该生的生
  • (附源码)springboot宠物管理系统 毕业设计 121654
  • (机器学习的矩阵)(向量、矩阵与多元线性回归)
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .bat批处理(一):@echo off
  • .htaccess配置重写url引擎
  • .NET 读取 JSON格式的数据
  • .net解析传过来的xml_DOM4J解析XML文件
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • .pop ----remove 删除
  • ??在JSP中,java和JavaScript如何交互?
  • @Bean, @Component, @Configuration简析