6.移动端布局-rem布局

news2024/9/27 19:21:44

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://www.coloradmin.cn/o/129562.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一次SQL调优 聊一聊 SQLSERVER 数据页

一&#xff1a;背景 1.讲故事 最近给一位朋友做 SQL 慢语句 优化&#xff0c;花了些时间调优&#xff0c;遗憾的是 SQLSERVER 非源码公开&#xff0c;玩起来不是那么顺利&#xff0c;不过从这次经历中我觉得明年的一个重大任务就是好好研究一下它&#xff0c;争取在 SQLSERVE…

uniapp实现音频播放抢占系统音频焦点

项目为使用uniapp框架开发的Android/iOS APP应用 实现功能需求 假设手机正在播放音乐&#xff0c;当前APP处于前台收到消息&#xff0c;需播放提示音提示用户。目标为降低后台正在播放音乐的音量&#xff0c;播放提示音&#xff0c;播放完毕后恢复后台音乐音量 需求分析 乍…

拉伯证券|新能源汽车前11月产销翻倍,渗透率升至三分之一

2022年11月&#xff0c;国内新能源轿车渗透率已升至33.8%&#xff0c;创前史新高。 2022年的最终一个交易日早盘&#xff0c;两市高开高走&#xff0c;沪指涨0.61%&#xff0c;深证成指涨0.35%&#xff0c;创业板指涨0.3%。板块上来看&#xff0c;Web3.0、虚拟人、网络游戏概念…

BI技巧丨RankxYoY

群友&#xff1a;PowerBI可以实现两年的排名差异么&#xff1f; 白茶&#xff1a;可以&#xff01;安排&#xff01; 本期的问题&#xff0c;来自于群内小伙伴的一个实际应用场景。在实际业务中&#xff0c;这个需求属于常见类型&#xff0c;展示当前排名时&#xff0c;用户关注…

【软件测试】 测试开发?看看一线大厂需求的测试开发技能......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 能在一线大厂工作是…

FPGA知识汇集-FPGA系统时序理论

时序约束条件 下面来具体讨论一下系统时序需要满足的一些基本条件。我们仍然以下图的结构为例&#xff0c;并可以据此画出相应的时序分析示意图。 在上面的时序图中&#xff0c;存在两个时序环&#xff0c;我们称实线的环为建立时间环&#xff0c;而虚线的环我们称之为保持时间…

Java死锁

一.死锁是什么&#xff1f; 死锁指两个或者两个以上的线程在执行过程中&#xff0c;去争夺同样一个共享资源&#xff0c;造成的相互等待的现象&#xff0c;如果没有外部干预&#xff0c;线程会一直阻塞&#xff0c;无法往下执行&#xff0c;这样一直处于相互等待资源的线程叫做…

极米Z6X Pro怎么样?极米Z6X Pro亮度如何?极米Z6X Pro值得入手吗?

投影仪不知怎么选&#xff1f;不妨看看极米Z6X Pro&#xff0c;半山黛青的全新配色下&#xff0c;是仅有5.3cm的轻薄机身&#xff0c;1.4kg的重量&#xff0c;一只手就可以轻松拿取。相比同价位的投影产品&#xff0c;极米Z6X Pro摆放方便又不占地&#xff0c;外观时尚精致&…

Go Map

Go Map map 是一种key-value的键值对存储结构&#xff0c;其中key不能重复&#xff0c;无序。底层是hmap结构&#xff0c;hmap中维护buckets(bmap结构)。结构定义 type hmap struct {count int // 元素个数B uint8 // buckets已扩容的次数&#xff0c;buckets长…

JVM-Java内存区域

1、运行时数据区域 运行时数据区域&#xff1a;程序计数器、Java虚拟机栈、本地方法栈、堆、方法区。 非运行时数据区域&#xff1a;直接内存。 &#xff08;1&#xff09;程序计数器 字节码解释器通过改变程序计数器来依次读取指令&#xff0c;从而实现代码的流程控制。在多线…

谷歌2022年最受欢迎Chrome浏览器扩展程序:包含Tango,Compose AI等

根据截图排序从左到右依次介绍如下&#xff1a; RoPro&#xff1a;Roblox.com网站体验增加了许多有用且独特的功能&#xff1b; MyBib&#xff1a;自动创建 APA 样式、MLA 格式和哈佛引用样式引文&#xff1b; eJOY English&#xff1a;翻译自Netflix, Youtube, iFlix上的字…

Codeforces Round #841 (Div. 2) and Divide by Zero 2022(A-D)

Codeforces Round #841 (Div. 2) and Divide by Zero 2022&#xff08;A-D&#xff09; 题目链接限制AJoey Takes Moneystandard input/output1 s, 256 MBBKill Demodogsstandard input/output1 s, 256 MBCEven Subarraysstandard input/output2.5 s, 256 MBDValiant’s New M…

数字经济指标构建-各省、地级市匹配上市公司数据、城市数字化指数

一、中国城市数字经济指数2017-2022年&#xff08;数据代码报告&#xff09; 中国城市数字化指数全面覆盖城市数字化规划、建设、运营的各个方面&#xff0c;能够有效评估城市各个领域的数字化建设水平和运营效果。 全国城市数字经济发展热图 数据来源&#xff1a;中国城市数字…

语音转换之CycleGan-VC2:原理与实战

非平行语音转换CycleGAN 之前学习了传统统计学习里的经典的语音转换模型GMM。随着深度学习的发展&#xff0c;出现了更好的语音转换方法&#xff0c;今天学习较为经典的CycleGan。 平行语音转换一般流程 典型代表就是基于GMM的语音转换。平行数据就是说源语音和目标语音一一…

矢量图斑局部狭长判断和定位局部狭长部分(PostGIS、Java、C#实现)

矢量数据在数据采集过程中由于数据处理导致出现局部狭窄的面状部分&#xff0c;如下图 1. 定义和解决方法 狭长结构是指图斑几何形态上窄而长的部分,符号化后出现图形粘连压盖现象,导致难以在图面上清晰地表达出来。因此,依据地图表达比例尺因素需要对狭长结构进行融解处理。在…

helm部署frps和连接

文章目录一. helm部署frps1.1 下载1.2 部署1.2.1 不开启dashboard界面1.2.2 开启dashboard界面1.2.3 卸载1.3 查看1.4 IP Port 允许端口1.5 Web Ingress二. frpc客户端连接2.1 IP Port 连接2.2 Web 域名连接一. helm部署frps 1.1 下载 mkdir -p /root/i/helm && cd…

并查集专题1_图篇

1.并查集介绍 并查集支持查询和合并操作&#xff0c;只回答两个节点是不是在一个连通分量中&#xff0c;并不回答路径问题。 如果一个问题具有传递性&#xff0c;可以考虑用并查集。并查集最常见的一种设计思想是把在同一个连通分量中的节点组织成一个树形结构。 2.并查集的…

动作捕捉技术应用于地面移动机器人协同

《一千零一夜》故事集中收录的《阿拉丁神灯》深受读者们的喜爱&#xff0c;其中阿拉丁拥有一块神奇的魔毯&#xff0c;它具有运载功能&#xff0c;可以将物体轻松便捷的从一个地方转移到另一个地方。在现实生活中&#xff0c;可变形布作为一种轻量便携且具有良好适应性的载体&a…

redhat9中mysql常用命令(持续更新)

目录 1、查看当前用户 2、查看选择的数据库 3、创建数据库 4、创建数据表 5、插入数据 6、查看表所以字段的内容 7、查看数据库当前密码策略 8、查看密码插件 9、更改密码策略为LOW&#xff0c;改为LOW或0 10、 更改密码长度 11、设置大小写、数字和特殊字符均不要求 …

微服务系列专栏介绍

文章目录一 专栏介绍1.1 微服务行业背景不同行业IT系统更新频率IT系统存在的问题微服务架构在企业中应用情况1.2 什么是微服务1.3 微服务的特点1.4 微服务诞生背景1.5 微服务架构的优势二 专栏目标三 专栏涉及技术四 专栏架构1.微服务架构&#xff1a;2.Go语言3.go-micro架构4.…