CSS响应式布局

目录

rem单位

媒体查询

rem + 媒体查询

rem适配方案(了解)

响应式布局总结


rem单位

1.设置文字大小的单位

  1. px:设置为固定的css像素

  2. em:相对于父元素字体的大小

  3. %:相对于父元素字体的大小

  4. rem:相对于根元素(html)的字体大小

2.设置宽度的单位

  • px:设置为固定的css像素

  • em:

    1. 如果自身有font-size,em相对于自己的font-size

    2. 如果自身没有font-size,em相对于父元素的font-size

  • %:相对于父元素的宽度大小

  • rem:相对于根元素(html)的字体大小

3.总结:**rem单位永远相相对于根元素(html)的字体大小

 html {font-size: 12px;}​div {font-size: 2rem; /* 24px */width: 5rem;  /* 60px */background-color: skyblue;}

媒体查询

  1. 媒体查询(Media Query)是CSS3新语法。

    1. 使用 @media 查询,可以针对不同的媒体类型定义不同的样式

    2. @media 可以针对不同的屏幕尺寸设置不同的样式

    3. 使用@media才能够实现页面响应式布局

  2. 媒体查询语法规范:

  3.  @media mediatype and|not|only (media feature) {CSS-Code;}

  4. 媒体类型:all(所有设备)、screen(用于电脑屏幕,平板电脑,智能手机等。)

  5. media feature:

    • width(浏览器的窗口尺寸,可加min/max)

    • device-width(设备的参数尺寸,可加min/max)

  6. min-width和max-width

    • min-width:最小宽度,在媒体查询中,宽度大于或者等于最小宽度时,就触发其CSS样式

  • max-width:最大宽度,在媒体查询中,宽度小于或者等于最大宽度时,就触发其CSS样式

image-20210208162815428

媒体查询一般写四套设备方案,在编写媒体查询时注意顺序(从小到大),后者符合条件的媒体查询会覆盖前者

rem + 媒体查询

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

    • rem单位是相对于html元素的字体大小的,我们可以将元素所有的css单位都设置为rem单位

    • 通过媒体查询,可以根据不同的屏幕宽度设置不同的HTML元素的字体大小,以此达到页面元素大小的动态变化

  2. 引入媒体查询的css文件资源

  3. 针对于不同的屏幕尺寸 调用不同的css文件

 <link rel="stylesheet" href="styleA.css" media="screen and (min-width: 400px)">

rem适配方案(了解)

  1. 核心:使用媒体查询根据不同设备按比例设置html的字体大小,然后页面元素使用rem做尺寸单位

    当html字体大小变化。元素尺寸也会发生变化,从而达到等比缩放的适配

  2. rem适配方案流程

    1. 按照设计稿与设备宽度的比例,动态计算并设置 html 根标签的 font-size 大小;(媒体查询)

    2. CSS 中,设计稿元素的宽、高、相对位置等取值,按照同等比例换算为 rem 为单位的值

  3. rem适配方案的技术选择

    image-20200820102159569

  4. 核心:rem + 媒体查询 + less 技术

  5. 动态设置 html 标签 font-size 大小

    ① 假设设备宽度是750px

    ② 假设我们把整个屏幕划分为15等份(划分标准不一可以是20份也可以是10等份)

    ③ 每一份作为html字体大小,这里就是50px

    ④ 那么在320px设备的时候,html元素的字体大小为320/15 就是 21.33px

    ⑤ 用我们页面元素的大小 除以不同的 html 字体大小会发现他们比例还是相同的

    ⑥ 但是已经能实现不同屏幕下 页面元素盒子等比例缩放的效果

  6. 元素中的rem单位取值

    1. 公式: 页面元素的rem值 = 页面元素值(px) / html font-size 字体大小

响应式布局总结

实现思路:

  1. 一般都是先实现PC端页面,然后再去做其他设备的兼容

  2. 设置宽度时,最好不要写死(px),而是用%单位参照父元素的大小

  3. 设置最外层容器时,用vw, vh作单位

  4. 不同设备需要换行显示时,使用flex-direction:columns;

  5. 导航条一定条件下,显示隐藏

  6. 内边距和外边距还有高度可以适当的用px单位

  7. 媒体查询时,主要的改变有:换行显示、隐藏,其余都是小改动,比如font-size, margin等等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/611928.shtml

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

相关文章

申请企业通配符SSL证书流程

通配符SSL证书&#xff0c;又叫泛域名SSL证书&#xff0c;可以用一张SSL证书同时保护主域名以及主域名下的所有子域名。按照验证方式可以将通配符SSL证书分为DV通配符SSL证书和OV通配符SSL证书。其中OV通配符SSL证书只支持企事业单位申请&#xff0c;又称之为OV企业型通配符SSL…

初识MySQL:数据库相关概念,SQL语法以及DDL(数据库操作,表操作)

目录 1.数据库相关概念2.关系型数据库&#xff08;RDBMS&#xff09;3.SQL通用语法4.SQL分类5.DDL-数据库操作6.DDL-表操作1.查询表2.创建表3.数据类型1.数值类型2.字符串类型3.日期类型 4.修改表5.删除表 1.数据库相关概念 2.关系型数据库&#xff08;RDBMS&#xff09; 关系型…

ConcurrentHashMap的原理分析学习

ConcurrentHashMap 的初步使用及场景 CHM 的使用 ConcurrentHashMap 是 J.U.C 包里面提供的一个线程安全并且高效的 HashMap&#xff0c;所以ConcurrentHashMap 在并发编程的场景中使用的频率比较高&#xff0c;那么这一节课我们就从ConcurrentHashMap 的使用上以及源码层面来…

MVIT图像分类 学习笔记 (附代码)

论文地址&#xff1a;https://arxiv.org/pdf/2104.11227.pdf 代码地址&#xff1a;https://github.com/facebookresearch/SlowFast 1.是什么&#xff1f; MViT&#xff08;Multiscale Vision Transformers&#xff09;是一种多尺度视觉Transformer模型。它的关键概念是逐步增…

2023年全国职业院校技能大赛(高职组)“云计算应用”赛项赛卷⑤

2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷5 目录 需要竞赛软件包环境以及备赛资源可私信博主&#xff01;&#xff01;&#xff01; 2023年全国职业院校技能大赛&#xff08;高职组&#xff09; “云计算应用”赛项赛卷5 模块一 …

算法刷题常用方法

&#x1f4d1;前言 本文主要是【java】——算法刷题常用方法的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 &#x1f304;每日一句&…

linux磁盘清理_docker/overlay2爆满

问题&#xff1a;无意间发现linux服务器登陆有问题&#xff0c;使用df命令发现目录满了。 1. 确定哪里占用了大量内存。 cd / du -sh * | sort -rh经过一段时间后&#xff0c;显示如下&#xff1a; // 474G home // 230G var // 40G usr // 10G snap // --- 根据实际情…

C++_命令行操作

命令行操作 介绍第一步编译 源码第二部 找到exe 可执行文件第三步看图操作代码测试源码测试结果 介绍 本文介绍命令行操作 1.argc 表示当前输入 参数个数 2.argv 表示当前输入 字符串内容 第一步编译 源码 #include<iostream> #include<string>using namespace st…

Spring Security 6.x 系列(15)—— 会话管理之源码分析

一、前言 在上篇 Spring Security 6.x 系列(13)—— 会话管理之会话概念及常用配置 Spring Security 6.x 系列(14)—— 会话管理之会话固定攻击防护及Session共享 中了清晰了协议和会话的概念、对 Spring Security 中的常用会话配置进行了说明,并了解会话固定攻击防护…

React Native 桥接原生常量

一、编写并注册原生常量方法 在 SmallDaysAppModule 这个模块中有一个方法 getConstans &#xff0c;重载这个方法就可将自定义的常量返回&#xff0c;系统会自行调用该方法并返回定义的常量将其直接注入到 JS 层&#xff0c;在 JS 层直接获取即可。 二、JS 层获取原生常量&am…

chatglm3的api调用

conda activate chatglm3 cd openai_api_demo python openai_api.py 启动ok&#xff0c;然后内网映射后 anaconda启动jupyter !pip install openai1.6.1 -i https://pypi.tuna.tsinghua.edu.cn/simple/ """ This script is an example of using the OpenAI …

6.OpenResty系列之深入理解(二)

1. 日志输出 vim /usr/local/openresty/nginx/conf/nginx.conf默认配置如下 #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;http {#log_format main $remote_addr - $remote_user [$time…

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测

回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测 目录 回归预测 | Matlab基于SO-LSTM蛇群算法优化长短期记忆神经网络的数据多输入单输出回归预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab基于SO-LSTM蛇群算法优化…

docker镜像的生成过程

镜像的生成过程 Docker镜像的构建过程&#xff0c;大量应用了镜像间的父子关系。即下层镜像是作为上层镜像的父镜像出现的&#xff0c;下层镜像是作为上层镜像的输入出现。上层镜像是在下层镜像的基础之上变化而来。 FROM centos:7 FROM指令是Dockerfile中唯一不可缺少的命令&a…

RocketMq直接上手(火箭班)

Apache RocketMQ官方文档&#xff1a;https://rocketmq.apache.org/zh/docs/bestPractice/06FAQ/&#xff0c;这里面涵盖了所有的基本知识、各种搭建环境、基础代码测试…还有各种问题总结&#xff0c;很值得自主学习。 1.配置依赖&#xff1a;pom.xml文件 可以只截取maven仓库…

3.3 IMAGE BLUR: A MORE COMPLEX KERNEL

我们研究了vecAddkernel和colorToGreyscaleConversion&#xff0c;其中每个线程只对一个数组元素执行少量算术运算。这些内核很好地服务于其目的&#xff1a;说明基本的CUDA C程序结构和数据并行执行概念。在这一点上&#xff0c;读者应该问一个显而易见的问题——所有CUDA线程…

C++类和对象(万字超详细讲解!!!)

文章目录 前言1.面向过程和面向对象区别2.类的基本概念2.1 类的引入2.2 类的定义2.3 类成员变量的命名规则2.4 类的访问限定符2.5 类的封装2.6 类的作用域2.7 类的实例化 3.类对象模型3.1 如何计算类对象的大小3.2 对齐规则 4.this指针4.1 this指针的引出4.2 this指针的特性4.3…

Android App打包加固后的APK无法安装问题

最近开发的一个应用要上架&#xff0c;正常流程打完包后去加固&#xff0c;由于以前一直用的是360的加固助手&#xff0c;这里开始也是选择用它。 使用360加固&#xff1a; 问题一、开始出现的问题是说应用未签名无法加固&#xff0c;我明明是签名后打的包&#xff0c;怎么会…

MyBatisPlus学习笔记一

1、简介 MyBatisPlus&#xff08;简称MP&#xff09;是一个MyBatis的增强工具&#xff0c;在MyBatisMyBatisMyBatis的的基础上只做增强不做改变&#xff0c;为简化开发&#xff0c;提高效率而生。 官网&#xff1a;MyBatis-Plus mybatisplus通过扫描实体类&#xff0c;并基于…

老胡的周刊(第123期)

老胡的信息周刊[1]&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 &#x1f3af; 项目 ai-video-search-engine[2] 随着 TikTok 和 …