使用媒体查询实现移动端适配,媒体查询meta标签配置(@media screen and,min-width和max-width)

news2024/11/17 0:05:53

简述:我们在写网站的时候,难免会遇到需要做移动端适配的需求,今天来记录下使用媒体查询实现移动端的适配。媒体查询是一种CSS技术,可以根据设备屏幕的属性(如宽度、高度、方向和分辨率)选择应用特定样式,使用媒体查询可以为不同的设备提供不同的布局和样式,我们只需要为不同的屏幕尺寸设置不同的样式就行。

1、使用媒体查询做移动端适配,首先需要配置视口标签,也就是meta标签;

        1.1、<meta>视口标签(Viewport Tag)?

//meta标签移动端常用配置 
<meta name="viewport" 
  content="width=device-width, 
  user-scalable=no,
  initial-scale=1.0,
  maximum-scale=1.0,
  minimum-scale=1.0">

        介绍:meta标签是用于设置移动设备上浏览器窗口的大小和缩放比例的HTML元素,视口标签可以通过使用不同的属性来控制移动设备上网站的布局和显示效果,通过设置视口标签的属性,可以让网页在移动设备上的显示效果更加符合用户的需求,以下是常用的属性介绍:

  • initial-scale:设置页面的初始缩放比例。例如:initial-scale=1.0。

  • minimum-scale:设置页面允许的最小缩放比例。例如:minimum-scale=0.5。

  • maximum-scale:设置页面允许的最大缩放比例。例如:maximum-scale=2.0。

  • user-scalable:设置是否允许用户手动缩放页面。可以设置为yes或no。例如:user-scalable=no。

  • viewport-fit:设置视口的适配方式,包括auto、contain和cover三种方式。例如:viewport-fit=cover,等。

        1.2、meta标签中的viewport 属性的作用和原理?

作用:让当前 viewport 的宽度等于设备的宽度,同时不允许用户进行手动缩放。
原理:移动端浏览器通常都会在一个比移动端屏幕更宽的虚拟窗口中渲染页面,这个虚拟窗口就是viewport,目的是正常展示没有做移动端适配的网页,让他们完整的展示给用户。

2、媒体查询语法

//这里表示屏幕可视宽度最大为768px,就是宽度小于768px时,使用此样式;
@media screen and (max-width: 768px) {
    .box {
      width: 100%;
      height: 600px;
      background-color: plum;
    }
}

//这里表示屏幕可视宽度最小为768px,最大为996px,就是宽度大于768px,小于996px区间时,使用此样式;
@media screen and (min-width: 768px) and (max-width:996px) {
    .box1 {
      width: 100%;
      height: 700px;
      background-color: skyblue;
    }
    .btn2 {
      display: block;
    }
    .btn1 {
      display: none;
    }
}

//这里表示屏幕可视宽度最小为996px,就是宽度小于996px时,使用此样式;
@media screen and (min-width:996px) {
    .box1 {
      width: 100%;
      height: 800px;
      background-color: yellowgreen;
    }
}

上面的代码表示,在三种不同的可视宽度中,分别使用不同的样式效果,如下:

 完整代码:

//CSS
<style>
  .box1 {
    width: 100%;
    height: 600px;
    background-color: #8080ff;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .box2 {
    width: 40%;
    height: 80%;
    background-color: silver;
  }
  .btn2 {
    display: none;
  }
  //小
  @media screen and (max-width: 768px) {
    .box1 {
      width: 100%;
      height: 600px;
      background-color: plum;
    }
  }
  //中
  @media screen and (min-width: 768px) and (max-width:996px) {
    .box1 {
      width: 100%;
      height: 700px;
      background-color: skyblue;
    }
    .btn2 {
      display: block;
    }
    .btn1 {
      display: none;
    }
  }
  //大
  @media screen and (min-width:996px) {
    .box1 {
      width: 100%;
      height: 800px;
      background-color: yellowgreen;
    }
  }
</style>

//html
<div class="box1">
    <div class="box2">
      <button class="btn1">按钮1</button>
      <button class="btn2">按钮2</button>
    </div>
</div>

注意事项:媒体查询之前写的样式会被继承,然后使用display控制元素的显示与隐藏。

总之使用媒体查询可以帮助开发人员针对不同的设备创建响应式设计,它可以使网站或应用程序自适应不同的屏幕尺寸和分辨率,以确保在所有设备上具有良好的用户体验,还可以通过将媒体查询与其他技术(如弹性网格布局和响应式图像)结合使用,创建功能强大的适配方案。

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

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

相关文章

火爆全网,JMeter接口自动化测试详细实战(超详细)吐血整理...

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

深度学习 - 44.Gate 与 MMOE 实现多目标学习

目录 一.引言 二.摘要 Abstract 三.介绍 Introduction 四.相关工作 RELATED WORK 1.DNN 中的多任务学习 2.SubNet 集成与 Expert 混合 3.多任务学习应用 五.建模方法 MODELING APPROACHES 1.Shared-bottom Multi-task Model 2.Mixture-of-Experts 3.Multi-gate Mixt…

NOPI用法之自定义单元格背景色(3)

NPOI针对office2003使用HSSFWorkbook&#xff0c;对于offce2007及以上使用XSSFWorkbook&#xff1b;今天我以HSSFWorkbook自定义颜色为例说明&#xff0c;Office2007的未研究呢 在NPOI中默认的颜色类是HSSFColor&#xff0c;它内置的颜色有几十种供我们选择&#xff0c;如果不…

模态分解算法 EMD、EEMD、CEEMD

一、模态分解算法EMD算法介绍 &#xff08;一&#xff09;模态分解相关的算法有以下几类 IMF 固有模态函数\EMD经验模态分解\EEMD集合经验模态分解\CEEMD 互补集合经验\&#xff08;EEMD的标准形式&#xff09;CEEMDAN自适应噪声完备集合经验模态分解\VMD 变分模态分解 &…

Crypko.ai:动漫角色生成和设计平台

【产品介绍】 Crypko.ai是一个基于GAN&#xff08;生成对抗网络&#xff09;的高质量动漫角色生成和设计平台&#xff0c;可以让用户通过简单的操作&#xff0c;创造出各种风格和特征的动漫角色&#xff0c;并且可以对角色的头发、脸部、衣服、风格等进行编辑和调整。 Crypko.a…

【GNN】谱域图卷积

谱域图卷积 1. 谱域卷积的背景知识 1.1 谱域图卷积实现思路 f 1 ( t ) ⋆ f 2 ( t ) F − 1 [ F 1 ( w ) F 2 ( w ) ] f_1(t) \star f_2(t) F^{-1}[F_1(w)F_2(w) ] f1​(t)⋆f2​(t)F−1[F1​(w)F2​(w)] 1.2 如何定义图上的傅里叶变换 经典傅里叶变换&#xff1a; x ( …

人工智能+自助餐:一种有效减少食物浪费的创新方案

一、案例背景&#xff1a; 自助餐是一种受欢迎的餐饮形式&#xff0c;可以满足不同顾客的口味和需求。但是&#xff0c;自助餐也存在着浪费食物的问题&#xff0c;有的顾客拿得多吃得少&#xff0c;有的顾客只吃部分食物&#xff0c;剩下的扔掉。据统计&#xff0c;2022年中国…

【算法竞赛】实现约瑟夫问题的四种方法(附手绘图详解)

&#x1f48c; 博客内容&#xff1a;实现约瑟夫问题的四种方法 &#x1f600; 作  者&#xff1a;陈大大陈 &#x1f680; 个人简介&#xff1a;一个正在努力学技术的准前端&#xff0c;专注基础和实战分享 &#xff0c;欢迎私信&#xff01; &#x1f496; 欢迎大家&…

视频剪辑配乐技巧 视频剪辑配音推荐

视频是视觉加听觉的艺术&#xff0c;视频的背景音乐不同&#xff0c;所呈现的效果也不同。接下来为大家带来大家视频剪辑配乐技巧&#xff0c;视频剪辑配音推荐的相关内容。 一、视频剪辑配乐技巧 视频剪辑时选好了配乐&#xff0c;视频就成功了一半。那如何找到合适的配乐呢…

yapi一键安装 文档开源系统

访问 GitHub - Ryan-Miao/docker-yapi: Docker build and run yapi as serviceDocker build and run yapi as service. Contribute to Ryan-Miao/docker-yapi development by creating an account on GitHub.https://github.com/Ryan-Miao/docker-yapi git clone https://githu…

Class类

package com.hspedu.reflection.class_;import com.hspedu.Cat;import java.util.ArrayList;/*** author 韩顺平* version 1.0* 对Class类特点的梳理*/ public class Class01 {public static void main(String[] args) throws ClassNotFoundException {//看看Class类图//1. Cla…

python版电报API接入从零到一(有彩蛋)

文章链接 编号分类文章及链接介绍作者来源分类撰写日期收录日期F1框架python版telegram接入开源botpython-telegram-botGithub2023-04-24 申明&#xff1a;本文仅作试验研究用&#xff0c;不对参考本文操作产生的各种结果承担任何责任。 Q&A 使用Telegram的API需要交费吗…

三顾茅庐,七面阿里,成功上岸25k16薪,我行你也行~

写在片头&#xff1a;声明&#xff0c;勿杠 首先简单说一下&#xff0c;这三次面试阿里并不是一次性去面的&#xff0c;实际上第一次面试时候还在大四&#xff0c;找的实习岗&#xff0c;不太清楚是什么部门&#xff0c;别问我为什么还记得面试题&#xff0c;有记录和复盘的习惯…

什么是OADM光分插复用器

文章导读&#xff1a; 什么是OADM光分插复用器 光分插复用器的功能 光分插复用器的类型&#xff08;FOADM, TOADM&#xff09; OADM的应用 1、什么是OADM光分插复用器 由不同的光通道进出单模光纤。 它的主要功能是在不影响其他波长信道传输的情况下&#xff0c;选择性地下载或…

Vue(监测数据改变、收集表单数据、过滤器)

一、监测数据改变原理 1. 监测对象数据改变原理 当数据发生改变之后&#xff1a;直接会显示数据改变&#xff08;一种强硬写法&#xff09; let data { name: "北京大学", address: "北京" };// 以下通过temp进行监视&#xff1a;还得还原temp值&#xf…

k8s 部署 ldap 服务

1、创建挂载卷&#xff0c;将数据和配置进行持久化存储 1.1、使用nfs作为共享存储 [rootlocalhost openldap_yaml]# cat /etc/exports /dump_file/openldap_db 172.21.53.0/24(rw,sync,no_root_squash,no_all_squash) /dump_file/openldap_conf 172.21.53.0/24(rw,sync,no_roo…

【Linux常见指令以及权限理解】基本指令(1)

写在前面&#xff1a; 相信看完上一个博客&#xff0c;我们已经成功搭建好了Linux环境&#xff0c; 如果没有可以去看看&#xff1a;Linux环境搭建。 接下来我会讲述Linux的常见指令以及权限理解相关内容。 这篇文章会介绍一些常用的Linux指令并穿插一些操作系统的概念理解…

巧用千寻位置GNSS软件|一文教会横断面测量

测横断面主要用于线路工程和水利工程的前期设计中&#xff0c;在线路平曲线设计好之后&#xff0c;千寻位置GNSS软件可用于在中桩处测定垂直于线路中线方向原地貌的地面起伏的数据&#xff0c;本期就为大家介绍具体的操作技巧。 点击【测量】->【测横断面】&#xff0c;选择…

ByteHouse云数仓版查询性能优化和MySQL生态完善

ByteHouse云数仓版是字节跳动数据平台团队在复用开源 ClickHouse runtime 的基础上&#xff0c;基于云原生架构重构设计&#xff0c;并新增和优化了大量功能。在字节内部&#xff0c;ByteHouse被广泛用于各类实时分析领域&#xff0c;最大的一个集群规模大于2400节点&#xff0…

( 栈和队列) 20. 有效的括号 ——【Leetcode每日一题】

❓20. 有效的括号 难度&#xff1a;简单 给定一个只包括 (&#xff0c;)&#xff0c;{&#xff0c;}&#xff0c;[&#xff0c;]的字符串 s &#xff0c;判断字符串是否有效。 有效字符串需满足&#xff1a; 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合…