【CSS】页面自适应屏幕宽度(响应式布局媒体查询-@media、弹性布局、网格布局和相对单位-vh/em/%)

【CSS】页面自适应屏幕宽度(响应式布局媒体查询-@media、弹性布局、网格布局和相对单位-vh/em/%)

  • 一、媒体查询(@media)
    • 1、媒体类型
    • 2、媒体特征
    • 3、媒体查询语法
    • 4、示例
      • (1)示例1
      • (2)示例2
      • (3)示例3
  • 二、弹性布局(diplay:flex;[具体可查看](https://www.ruanyifeng.com/blog/2015/07/flex-grammar.html))
  • 三、网格布局(diplay:grid;[具体可查看](https://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html))
  • 四、相对单位(vh/em/%...)

  • 响应式布局:在不同的窗口大小下显示不同的结构和样式(重点在于css样式的修改)。

一、媒体查询(@media)

1、媒体类型

类型描述
all所有设备
print打印设备
screen用于电脑屏幕,平板电脑,智能手机等。
speech应用于屏幕阅读器等发声设备

2、媒体特征

类型描述
width页面的可见宽度
height页面的可见高度
min-width、max-width页面可见最小最大可见区域宽度
min-height、max-height页面可见最小最大可见区域高度
orientation方向:页面可见区域高度是否大于或等于宽度。取值:landscape宽度大于高度(横屏);portrait高度大于宽度(竖屏)

3、媒体查询语法

@media 媒体类型 {
    /* css样式 */
}
@media 媒体特征 {
    /* css样式 */
}
@media 媒体类型 and 媒体特征 {
    /* css样式 */
}

4、示例

<!DOCTYPE html>
<head>
	<meta charset="UTF-8">
	<title>Jodit</title>
</head>
<style type="text/css">
</style>
<body>
	<div class="maxbox">
		<div class="box">
		</div>
		<div class="box">
		</div>
		<div class="box">
		</div>
		<div class="box">
		</div>
	</div>
</body>
</html>

(1)示例1

	.box {
		float: left;
		margin: 5px;
		height: 20vh;
		background-color: pink;
	}
	/* 当前屏幕宽度大于1000px时 */
	@media (min-width:1000px) {
		.box {
			width: 20%;
		}
	}
	/* 同时满足条件 */
	@media (min-width:601px) and (max-width:999px) {
		.box {
			width: 45%;
		}
	}
	/* 当前屏幕宽度小于600px时 */
	@media (max-width:600px) {
		.box {
			width: 100%;

		}
	}

(2)示例2

/* 所有设备、宽度必须大于600、横屏,这个三个条件同时满足才为true */
@media all and (min-width:600px) and (orientation:landscape){
    div{
        background-color: yellow;
    }
}
div{
    width: 200px;
    height: 200px;
    background-color: pink;
}

(3)示例3

/* 所有设备、宽度必须大于600或者w为竖屏的时候,true */
@media all and (min-width:600px),(orientation:portrait){
    div.media{
        background-color: yellow;
    }
}

二、弹性布局(diplay:flex;具体可查看)

.maxbox {
		display: flex;
		justify-content: space-between;
	}
.box {
		width: 25%;
		margin: 5px;
		height: 20vh;
		background-color: pink;
	}

三、网格布局(diplay:grid;具体可查看)

.maxbox {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		grid-gap: 30px;
	}

.box {
		height: 20vh;
		background-color: pink;
	}

四、相对单位(vh/em/%…)

  • 面试官:px、em、rem、vw、百分比的区别
    • px:绝对单位,页面按精确像素展示;
    • em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算,整个页面内1em不是一个固定的值,如当前对行内文本的字体尺寸未被人为设置,相对于浏览器的默认字体尺寸(1em = 16px);
    • rem:相对单位,相对的只是HTML根元素font-size的值;
    • vw:就是根据窗口的宽度,分成100等份,100vw就表示满宽;
    • vh:则为窗口的高度vh、w∶主要用于页面视口大小布局,在页面布局上更加方便简单;
    • %:1% 对不同属性有不同的含义。 font-size: 200% 和font-size: 2em 一样,表示字体大小是默认(继承自父亲)字体大小的2倍。 line-height: 200% 表示行高是自己字体大小的2倍。 width: 100%表示自己content的宽度等于父亲content宽度的1倍。
<!DOCTYPE html>
<head>
	<meta charset="UTF-8">
	<title>Jodit</title>
</head>
<style type="text/css">
	html {
		font-size: 14px;
	}
</style>
<body>
	<div class="box" style="font-size: 20px;">
		字体大小为20px
		<p style="font-size: 2em;">字体大小为202</p>
		<p style="font-size: 2rem;">字体大小为html字体大小的2</p>
	</div>
	<div class="box" style="font-size:30px;">
		字体大小为30px
		<p style="font-size: 2em;">字体大小为302</p>
		<p style="font-size: 2rem;">字体大小为html字体大小的2</p>
	</div>
</body>
</html>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

docker复习笔记01(小滴课堂)安装+部署mysql

查看内核版本。 关闭防火墙&#xff1a; 查看docker版本&#xff1a; 下载阿里yum源&#xff1a; 再看一下yum版本都有哪些&#xff1a; 我们可以看的docker-ce了。 安装它&#xff1a; 设置docker服务开机启动&#xff1a; 更新日志文件&#xff1a; 启动docker&#xff1a; …

【RK3288 Android6 “算法板系统中断,正在重启,请稍等”问题排查】

文章目录 【RK3288 Android6 “算法板系统中断,正在重启,请稍等”问题排查】问题描述排查user_service.shlogcat解决方案【RK3288 Android6 “算法板系统中断,正在重启,请稍等”问题排查】 问题描述 现场出现多家机器,每次在开机的时候会上报算法板系统中断,正在重启,…

AR特效自研AI算法技术解决方案

在当今这个高速发展的数字化时代&#xff0c;增强现实&#xff08;AR&#xff09;技术已经成为企业创新和市场竞争的重要手段。美摄科技凭借对AI技术的深厚积累&#xff0c;为企业提供了一套创新的AR特效自研AI算法技术解决方案&#xff0c;旨在满足企业在AR领域的多元化需求。…

支持534种语言,开源大语言模型MaLA-500

无论是开源的LLaMA 2还是闭源的GPT系列模型&#xff0c;功能虽然很强大&#xff0c;但对语言的支持和扩展比较差&#xff0c;例如&#xff0c;二者都是以英语为主的大模型。 为了提升大模型语言的多元化&#xff0c;慕尼黑大学、赫尔辛基大学等研究人员联合开源了&#xff0c;…

GO语言集成开发 JetBrains GoLand 2023 中文

JetBrains GoLand 2023是一款专为Go语言开发者打造的集成开发环境&#xff08;IDE&#xff09;。它基于IntelliJ IDEA平台&#xff0c;提供了丰富的功能和工具&#xff0c;旨在提高开发效率和质量。GoLand 2023具备强大的Go语言支持&#xff0c;包括语法高亮、自动补全、代码提…

代码随想录算法训练营第三十六天|背包问题

01背包问题 二维 代码随想录 视频讲解&#xff1a;带你学透0-1背包问题&#xff01;| 关于背包问题&#xff0c;你不清楚的地方&#xff0c;这里都讲了&#xff01;| 动态规划经典问题 | 数据结构与算法_哔哩哔哩_bilibili public class BagProblem {public static void main(…

深度学习中的Droupout

1. 什么是Droupout Dropout的作用是防止过拟合。 Dropout在训练模型中是如何实现的呢&#xff1f;Dropout的做法是在训练过程中按一定比例&#xff08;比例参数可设置&#xff09;随机忽略或屏蔽一些神经元。这些神经元被随机“抛弃”&#xff0c;也就是说它们在正向传播过程…

AR人脸106240点位检测解决方案

美摄科技针对企业需求推出了AR人脸106/240点位检测解决方案&#xff0c;为企业提供高效、精准的人脸识别服务&#xff0c;采用先进的人脸识别算法和机器学习技术&#xff0c;通过高精度、高速度的检测设备&#xff0c;对人脸进行快速、准确地定位和识别。该方案适用于各种应用场…

R语言阈值效应函数cut.tab2.0版发布(支持线性回归、逻辑回归、cox回归,自定义拐点)

阈值效应和饱和效应是剂量-反应关系中常见的两种现象。阈值效应是指当某种物质的剂量达到一定高度时&#xff0c;才会对生物体产生影响&#xff0c;而低于这个剂量则不会产生影响。饱和效应是指当某种物质的剂量达到一定高度后&#xff0c;其影响不再随剂量的增加而增加&#x…

黑群晖安装教程-——传统优盘引导制作中问题

一、引导设置 首先讲一下群晖的UEFI跟Legacy启动选择&#xff0c;6.0以下应该都是Legacy 常见的6.17也就是1.02B的引导 UEFI跟Legacy&#xff08;传统引导&#xff09;启动都正常。所以6.17的引导盘全部选UEFI启动就对了&#xff0c;速度快。 6.2\6.22test 的1.03B 1.03a2的…

Node.js JSON Schema Ajv依赖库逐步介绍验证类型和中文错误提示

在构建应用程序时&#xff0c;数据的有效性是至关重要的。为了确保传入的数据符合预期的格式和规范&#xff0c;我们可以使用 Ajv&#xff08;Another JSON Schema Validator&#xff09;进行验证。在这篇博文中&#xff0c;我们将从头开始学习 Ajv&#xff0c;逐步介绍验证类型…

第7节、双电机直线运动【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】&#xff0c;查看本系列全部文章 摘要&#xff1a;前面章节主要介绍单个电机控制&#xff0c;本节内容介绍两个电机完成Bresenham直线运动 一、Bresenham直线算法介绍 Bresenham直线算法由Jack Elton Bresenham于1962年在IBM开发&#xff0c;最初用于计…

《最新出炉》系列初窥篇-Python+Playwright自动化测试-16-处理模态对话框弹窗

1.简介 我们在日常工作中&#xff0c;会经常遇到弹出警告框的问题&#xff0c;弹框无法绕过&#xff0c;必须处理才可以执行后续的测试&#xff0c;所以弹框处理也是我们必须掌握的一个知识。宏哥在javaselenium系列文章中介绍过这部分内容。那么&#xff0c;playwright对于弹…

第2节、让电机转起来【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】&#xff0c;查看本系列全部文章 摘要&#xff1a;本节介绍用简单的方式&#xff0c;让步进电机转起来。其目的之一是对电机转动有直观的感受&#xff0c;二是熟悉整个开发流程。本系列教程必要的51单片机基础包括IO口操作、中断、定时器三个部分&#…

6、基于机器学习的预测

应用机器学习的任何预测任务与这四个策略。 文章目录 1、简介1.1定义预测任务1.2准备预测数据1.3多步预测策略1.3.1多输出模型1.3.2直接策略1.3.3递归策略1.3.4DirRec 策略2、流感趋势示例2.1多输出模型2.2直接策略1、简介 在第二课和第三课中,我们将预测视为一个简单的回归问…

jquery写表格 手动合并单元格

<!DOCTYPE html> <html><head><style>.special-row th:first-child,.special-row th:nth-child(2) {background-color: yellow;text-align: center;}</style> </head><body><div id"tableWrapper"> <!-- 添加包裹…

TreeSet 集合

TreeSet 集合 1. 概述2. 方法3. 遍历方式4. 两种排序方式4.1 默认排序规则/自然排序4.1.1 概述4.1.2 compareTo()方法4.1.3 代码示例14.1.4 代码示例2 4.2 比较器排序4.2.1 概述4.2.2 compare()方法4.2.3 代码示例14.2.4 代码示例2 4.3 排序方式的对比 5. 注意事项 文章中的部分…

<.Net>使用visual Studio 2022在VB.net中新添自定义画图函数(优化版)

前言 这是基于我之前的一篇博文&#xff1a; 使用visual Studio 2019在VB.net中新添自定义画图函数 在此基础上&#xff0c;我优化了一下&#xff0c;改进了UI&#xff0c;添加了示例功能&#xff0c;即以画圆函数为基础&#xff0c;添加了走马灯功能。 先看一下最终效果&#…

JavaEE作业-实验一

目录 1 实验内容 2 思路 3 核心代码 &#xff08;1&#xff09;前端核心代码&#xff1a; &#xff08;2&#xff09;后端核心代码&#xff1a; 4 实验结果 1 实验内容 用Servlet JSP JavaBean实现登录功能 2 思路 ①建好web项目,创建数据库 ②建立两个简单的前端页…

Day 3. Linux高级编程之函数接口和流的定位

gets和fgets区别&#xff1a; 1&#xff09;gets没有给定最多读取字符的个数&#xff0c;有越界风险\n\n fgets需要给定最多读取的字符个数&#xff0c;没有越界的风险\n\n 2&#xff09;gets会去掉从终端接收的/n&#xff0c;换成/0\n\n fgets则会保留并在末尾加上/0\…