6.移动端布局-rem布局

article/2025/9/16 21:54:27

1.rem基础

优点:可以通过修改html里边文字的大小来改变页面中其他元素的大小,可以实现整体控制

1.1 rem单位

rem(root em)是一个相对单位,类似于em。
em是相对于自身元素字体大小(若自身没有设置font-size则基础父元素的字体大小)。
不同的是rem的基准是相对于html元素的字体大小。
比如根元素html设置font-size是12px,非根元素设置width:2em,则换成px就是24px
em演示

<!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>Document</title><style>div{font-size: 12px;}p{width: 10em;height: 10em;font-size: 13px;background-color: pink;}</style>
</head>
<body><div><p>1</p></div>
</body>
</html>

在这里插入图片描述
rem演示:

<!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>Document</title><style>html{font-size: 18px;}div{font-size: 12px;}p{width: 10em;height: 10em;font-size: 13px;background-color: pink;}.p2{width: 10rem;height: 10rem;font-size: 13px;background-color: orange;}</style>
</head>
<body><div><p>1</p></div><div><p class="p2">2</p></div>
</body>
</html>

在这里插入图片描述

2.媒体查询

2.1 什么是媒体查询

媒体查询(Media Query)是css3新语法

  • 媒体查询可以@media可以针对不同屏幕尺寸设置不同样式
  • 使用@media查询,可以针对不同的媒体类型定义不同的样式
  • 当重置浏览器大小的过程中,页面会根据浏览器的宽度、高度重新渲染页面
  • 目前针对很多苹果、安卓、平板等设备都用到媒体查询

2.2 媒体查询的用法

@media mediatype and|not|only|(media feature){CSS-code;
}
  • 用@ media开头
  • media是媒体类型
说明
all用于所有设备
print用于打印机和打印预览
screen用于电脑屏幕、平板电脑、智能手机等
  • 关键字:and\not\only,将媒体类型或多个媒体特性连接到一起作为媒体查询的条件
    and:可以将多个媒体特性连接到一起,相当于“且”的意思
    not:排除某个媒体类型,相当于“非”,可以省略
    only:指定某个特定的媒体类型,可以省略
  • media feature 媒体特性必须由小括号包含
    每种媒体类型都有自己不同的特性,根据不同媒体类型设置不同展示风格,先了解三种
解释说明
width定义输出设备中页面可见区域的宽度
min-width定义输出设备中页面最小可见区域的宽度
max-width定义输出设备中页面最大可见区域的宽度

2.2.1 练习展示

  • 为了防止混乱,媒体查询可以按照从小到大或从大到小的顺序来写。更喜欢从小到大(min-width),从大到小(max-width),这样更简洁(层叠性)
  • screen和and还有px单位必须要有
<!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>Document</title><style>/* 在屏幕上并且屏幕最大宽度是800px,设置样式ps:意思是如果当前屏幕宽度超出800px,则不会展示这里设置的样式 */@media screen and (max-width:800px) {body{background-color: orange;}}@media screen and (max-width:500px) {body{background-color: green;}}</style>
</head>
<body></body>
</html>

屏幕宽度大于800px,背景色设置不生效
大于800px

屏幕宽度小于等于800px,背景是橘黄色
小于等于800px

屏幕宽度小于等于500px,背景是绿色
小于等于500px

2.3 媒体查询+rem实现元素动态大小变化

<!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>Document</title><style>*{margin: 0;padding: 0;}@media screen and (min-width:320px){html{font-size: 50px;}}@media screen and (min-width:640px) {html{font-size:100px;}}   .top{background-color: green;font-size: 0.5rem;height: 1rem;line-height:1rem;text-align: center;}</style>
</head>
<body><div class="top">加入购物车</div>
</body>
</html>

在这里插入图片描述
在这里插入图片描述

2.4 媒体查询-引入资源

场景:大屏和小屏的样式不同
解决:针对不同的媒体使用不同的样式表stylesheets
原理:直接在link中判断设备尺寸,然后引用不同的css文件
语法:

<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="xx.css">

练习:
当屏幕大于等于640px,div一行展示2个,当屏幕小于640px,让div一行显示一个

<!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>Document</title><link rel="stylesheet" href="style320.css" media="screen and (min-width:320px)"><link rel="stylesheet" href="style640.css" media="screen and (min-width:640px)">
</head>
<body><div></div><div></div>
</body>
</html>

在这里插入图片描述
style320.css:

div{width: 100%;height: 100px;
}
div:nth-child(1){background-color: green;
}
div:nth-child(2){background-color: orange;
}

style640.css

div{width: 50%;height: 100px;float: left;
}
div:nth-child(1){background-color: green;
}
div:nth-child(2){background-color: orange;
}

在这里插入图片描述


http://chatgpt.dhexx.cn/article/K63JZmZA.shtml

相关文章

移动端开发——rem布局

目录 前言 一、rem布局 二、rem的基础知识 三、媒体查询 1.媒体查询的使用语法 &#xff08;一&#xff09;mediatype 媒体类型 &#xff08;二&#xff09;关键字 &#xff08;三&#xff09;媒体特性 2.媒体查询和rem组合 3.引入样式 四、适配方案 1.技术方案1 …

Vue 使用 rem布局

Vue 使用 rem布局 1、rem布局需要安装两个插件 npm i lib-flexible -S npm i postcss-pxtorem5.1.1 -D 最新版本postcss-pxtorem需要POSTSS 8&#xff0c;安装老版本可用 lib-flexible: 根据移动端屏幕大小而对应改变html的fontSize postcss-pxtorem&#xff1a; 根据html的fo…

移动端rem布局基本介绍及原理

rem布局 em和rem的认识 在布局中&#xff0c;除了px之外&#xff0c;还有两个常见的单位&#xff0c;em和rem em&#xff1a; 相对于当前元素的字体大小→ 1em 当前标签的font-size rem&#xff1a; 相对于根元素&#xff08;html&#xff09;的字体大小→ 1rem html标签的…

JavaScript-rem布局

JavaScript-rem布局 一、什么是Rem rem和em很容易混淆&#xff0c;其实两个都是css的单位&#xff0c;并且也都是相对单位&#xff0c;现有的em&#xff0c;css3才引入的rem&#xff0c;在介绍rem之前&#xff0c;我们先来了解下em: em作为font-size的单位时&#xff0c;其代…

Rem布局的原理解析

Rem布局的原理解析 tobAlier关注 22017.10.25 11:27:32字数 2,630阅读 12,367 什么是Rem rem和em很容易混淆&#xff0c;其实两个都是css的单位&#xff0c;并且也都是相对单位&#xff0c;现有的em&#xff0c;css3才引入的rem&#xff0c;在介绍rem之前&#xff0c;我们先…

html5如何利用rem实现自适应布局,使用Rem布局实现自适应

之前写过一篇移动端适配的文章,很长,内容太多,看得容易凌乱,重新写个通熟易懂版的。 为什么要自适应? 比如,对于一个移动端页面,设计师给的视觉稿画布宽 750,视觉稿中的一个黄色区块的尺寸是 702 x 300,并在画板中居中。我们希望在任何一个设备中的呈现比例都与视觉稿…

Rem布局

Rem布局?什么东西???Rem布局又称等比缩放布局,是移动端布局中常用的一种布局方式。Rem布局可以通过两种方式实现,一种通过JavaScript实现;还有一种通过vw实现。在这里小编主要讲述第二种方式。 下面小编先简单的说一下rem布局的优缺点: 优点:在不同的设备下看起来比较…

(精中求精) rem适配布局

1.适配导读&#xff1a; 什么是适配布局&#xff1f;与flex或者流式布局又有什么区别&#xff1f; 所谓的适配布局&#xff0c;是让页面盒子的高度&#xff0c;宽度&#xff0c;内外边距&#xff0c;边框大小&#xff0c;文字的大小&#xff0c;定位的元素位置等能够根据屏幕…

移动端布局(三) rem布局及原理

什么是rem 首先来了解一下什么是em: 作为font-size的单位时,其代表父元素的字体大小,em作为其他属性单位时,代表自身字体大小。 s1、s2、s5、s6的font-size和line-height分别是多少px? <div class"p1"><div class"s1">1</div><di…

安装Mysql

设置密码 检测安装是否成功 切换到安装目录的bin下C:\Program Files\MySQL\MySQL Server 8.0\bin&#xff0c;按住shift&#xff0c;单击鼠标右键&#xff0c;点选在此处代开命令窗口 在命令行中输入mysql -u root -p,之后输入之前设定的密码如果出现如下图所示&#xff0c;…

ODBC + WIN32 API 访问MYSQL 数据库实现简单QQ用户注册和登录

//在IT行业&#xff0c;不懂数据库是不行的&#xff0c;我自己在学校里还没有学过数据库有关的知识&#xff0c;不过由于前些日子写项目的要求&#xff0c;不得不去琢磨&#xff0c;虽然有很多数据库类别&#xff0c;包括微软的 SQL server &#xff0c;access,ORACLE公司的ORA…

QQ交谈、QQ在线状态代码生成…

原文地址&#xff1a;QQ交谈、QQ在线状态代码生成&#xff0c;非QQ商家可以正常生成 作者&#xff1a;HHeOnline 非QQ商家用户&#xff0c;直接在QQ互联可以生成QQ在线状态&#xff0c;也就是QQ交谈的代码。 直接放到对应的代码里就可以正常使用了。 QQ代码生成地址&#xff1a…

qq群关系数据库 mysql_QQ群关系数据库24.52G mdf源文件下载 附上使用教程

HQY 腾讯 7000W QQ群关系数据库泄漏共24.52G。 QQ24.5gb腾讯QQ群关系数据库,不包含密码。只包含个人名字(群备注名字等信息)。 如果想在线查询更多qq群数据信息可以查看: 一、下载完24.5gQQ数据库后,解压文件 下载后不要把文件改名,打开7z,点击其中一个文件,选择合并文件…

MySQL 数据类型

数值类型 MySQL支持所有标准SQL数值数据类型。 这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC)&#xff0c;以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。 关键字INT是INTEGER的同义词&#xff0c;关键字DEC是DECIMAL的同义词。 BIT数据类型保存…

mysql数据库的基本管理

一、数据库的介绍 1.数据库就是个高级的表格软件 2.常见数据库 Mysql Oracle mongodb db2 sqlite sqlserver .......3.Mysql (SUN -----> Oracle)4.mariadb 是数据库服务器 数据库中的常用名词 字段 :表格中的表头 表 :表格 库 :存放表格的目录…

mysql数据库

文章目录 一、Windows1.1 修改mysql的data文件夹存放位置&#xff1a;1.2 修改mysql密码1.3 设置Mysql允许其他电脑访问1.4 重新手动安装 二、mysql 时间查询三.解锁四.Linux4.1 下载安装4.2 配置4.3 卸载 三、Bug 一、Windows 1.1 修改mysql的data文件夹存放位置&#xff1a;…

MySQL使用与练习01

MySQL数据库概述 用来存储数据和管理数据,最终形成类似于表格的样子,有行有列(字段) 分类: 关系型数据库 和 非关系型数据库 关系型数据库&#xff0c; Oracle、MySQL、SQLServer、Access非关系型数据库&#xff0c; MongoDB、Redis、Solr、ElasticSearch、Hive、HBase 数据…

MySQL项目3总结创建与维护

登录MySQL mysql -u root -p密码 查看所有数据库 show databases; 创建数据库 CREATE DATABASE 数据库名; 修改数据库默认字符集 alter database 数据库名default character set 新字符集; 查看hao数据库创建信息&#xff1b; show create database 表名\g; 删除数据库 …

关于mysql的表情包_mysql表情包 - mysql微信表情包 - mysqlQQ表情包 - 发表情 fabiaoqing.com...

MySQ从删库到跑路_删库_MySQ表情 TFBOYS 三人击掌 - TFBOYS 三人有着独特的击掌方式_tfboys_明星表情_tfboys_明星表情表情 走,带你试衣服去(UNIQLO)_uniqlo_衣服表情 内裤不试完,谁都别想走!(UNIQLO)_不试_uniqlo_内裤表情 qqloveddme_qqloveddme表情 QQLOVE DDME(qq爱)_qq…

二叉树的最大深度

题目 思路 二叉树大多用递归来实现&#xff0c;本题如果知道左子树的深度和右子树的深度&#xff0c;那么整个二叉树的深度就为max&#xff08;左子树&#xff0c;右子树&#xff09; 1&#xff1b;该方法也叫做深度优先搜索 代码 package hot_100;public class MaxDepth {…