什么是响应式布局?响应式布局有几种方法?

什么是响应式布局?响应式布局有几种方法?目录什么是响应式布局 响应式布局的 4 种方法媒体查询百分比 vw vhrem 什么是响应式布局 响应式布局是同一页面在不同的屏幕上有不同的布局 即只需要一套代码使页面适应不同的屏幕响应式布局的 4 种方法媒体查询使用 media 可以根据不同的屏幕定义不同的样式 具体代码如下图 百分比百分比是相对于包含块的计量单位 通过对属性设置百分比来适应不同的屏幕包含块 1 有父元素相对于父元素

目录

什么是响应式布局?

响应式布局的4种方法

媒体查询

百分比

vw/vh

rem


什么是响应式布局?

响应式布局是同一页面在不同的屏幕上有不同的布局,即只需要一套代码使页面适应不同的屏幕

响应式布局的4种方法

媒体查询

使用@media可以根据不同的屏幕定义不同的样式,具体代码如下图:

         什么是响应式布局?响应式布局有几种方法?

百分比

 百分比是相对于包含块的计量单位,通过对属性设置百分比来适应不同的屏幕

           包含块:

            1. 有父元素相对于父元素

            2. 无父元素相对于视口

            3. 或者继承于父元素

vw/vh

vw/vh是视口单位,即根据浏览器的窗口大小进行适配

rem

 rem(font size of the root element)是指相对于根元素的字体大小的单位,rem只是一个相对单位

           题外: rem和em的对比

                1. rem和em都是相对单位

                2. rem相对于根元素

                3. em相对于父元素

           情景描述:

           1. 设置HTML的根元素的font-size为20px

           2. 设置红色的正方形宽高为2rem

           3. 设置绿色的正方形宽高为40px

           4. 从图中可以看出两个正方形一样宽高

           5. 所以1rem === 根元素字号 === 20px ,具体代码如下

 什么是响应式布局?响应式布局有几种方法?

什么是响应式布局?响应式布局有几种方法?

项目中如何方便的使用的rem呢?

设想一个场景,如果一个元素的宽需要47px,根元素是20px,如果要适应不同的终端,需要转为rem,除以20px得到相应的rem值,很麻烦,那么就需要找一个可以简单计算的数值,下面就是一个方法呦

1. 设想屏幕宽度为750px,设计稿宽度也为750px

2.设置 font-size = 1rem = 屏幕宽度*100/设计稿宽度 = 100px (乘以100的原因,屏幕宽度/设计稿宽度得出的值是1,而浏览器可以接受的最小字号12px,所以乘以100既可以满足浏览器最小字号的要求,也比较好计算)

3. 屏幕宽度不会只是750px,假设屏幕宽度为width(getBoundingClientRect().width可以获取宽度),在该宽度下的字号为fontSize

4. 什么是响应式布局?响应式布局有几种方法?

5. 通过上面这个方法可以计算出fontSize的值

 

刚刚接触CSDN,有不足还请指出哦~,大家一起讨论

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202867.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午11:07
下一篇 2026年3月19日 下午11:07


相关推荐

  • linux进程管理工具:supervisor

    linux进程管理工具:supervisor1 安装 yuminstallsu 或者 apt getinstallsu 配置 supervisor 有两类配置文件 2 1 主配置文件默认路径 etc supervisord conf 这个目录一般不用动 需要管理进程的话 给进程单独创建一个配置文件就好 2 2 进程单独配置文件默认路径 etc supervisord d ini 默认是 ini 后缀 可以在主配置文件中修改 每个进程的管

    2026年3月17日
    2
  • oracle 协议适配器错误,无法登陆

    oracle 协议适配器错误,无法登陆问题:   之前装好了oracleXE(快捷版),然后关闭此版本所有服务,再装上了oracle11g正式版,使用正式版正常。   关闭正式版的所有服务,打开xe版服务后,从sqlplus登陆,提示oracle 协议适配器错误,无法登陆。    解决:  进入sqlplus前,在commandline下输setoracle_sid=XXXX

    2022年6月22日
    33
  • 虚函数 inline函数

    虚函数 inline函数一、首先回顾下什么是虚函数及其作用,以便更好理解什么函数不能声明或定义为虚函数:1.定义:虚函数必须是基类的非静态成员函数,其访问权限可以是protected或public,在基类的类定义中定义虚函数的一般形式:  virtual函数返回值类型虚函数名(形参表)  {函数体}2.作用:虚函数的作用是实现动态联编,也就是在程序的运行阶段动态地选择合

    2022年7月16日
    14
  • Linux中修改文件名

    Linux中修改文件名Linux 中修改文件名 没有直接修改的方式 需要借用 mv 或 cp 命令 mv 会把原路径文件删除 移动文件 参数 1 原文件路径参数 2 新文件路径 mvoldFilePat cp 不会删除原文件 复制文件 参数 1 原文件路径参数 2 新文件路径 cpoldFilePat

    2026年3月18日
    1
  • MySQL最全整理!西安java培训机构排名榜

    MySQL最全整理!西安java培训机构排名榜MySQL为何不选择平衡二叉树既然平衡二叉树解决了普通二叉树的问题,那么mysql为何不选择平衡二叉树作为索引呢?索引需要存储什么让我们想一想,如果我们要把索引存起来,那么应该存哪些信息呢,它应该存储三块信息:索引的值:就是表里面索引列对应的值。数据的磁盘地址(通过磁盘地址找到当前数据)或者直接存储整条数据。子节点的引用:我们需要从根节点往下走,所以需要知道左右子节点的地址。根据这三点,可以有如下大致的一个简单的结构图:上图中数字表示的是索引的值,0x开头的表示磁盘地址,根

    2026年4月13日
    4
  • Java基础——成员变量、局部变量和静态变量的区别

    Java基础——成员变量、局部变量和静态变量的区别之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量、局部变量和静态变量。变来变去太容易让人搞晕了,挑拣出来梳理一下喽!    要想区分这哥仨,首先,我们得知道它们分别是什么。先从成员变量下刀。成员变量    我们来研究一个事物:        属性:外在特征;例如人的身高

    2022年5月1日
    64

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号