前端如何实现浏览器适配?

2023-10-29

1.根据window.screen.width获取当前浏览器的宽度,然后根据宽度加载不同的样式文件;

<script>

if(window.screen.width>=1680) {

​ document.write('<link rel="stylesheet" href="css/index1.css"')

} else if (window.screen.width >= 1600) {}

</script>

注意:这里的script一定要写在head标签里面,这样在加载页面的之前,会先把css文件加载出来;

2.媒体查询:根据设备显示器的特性为其设定样式,媒体查询右媒体类型和一个或多个检测媒体特性的条件表达式组成;可以根据不同的媒体类型定义不同的样式,常用于区分pc跟mobile端内容;

缺点:1.有局限性,只能适应主流的宽高,2.要匹配足够多的屏幕大小,工作量大

优点:能够适应pc和移动端,只要有足够多的耐心,效果可以尽可能达到完美;

mediatype类型:all(用于所有的设备),print(用于打印机和打印浏览),screen(用于电脑屏幕、平板电脑、手机等);

关键字:and(且的意思),not(排除某个媒体类型),only(指定某个特定的媒体类型);

media feature媒体特性,必须用小括号包着,width(定义页面可见的宽度),min-width(定义页面可见的最小宽度),max-width(定义页面可见的最大宽度);

link中的css媒体查询:<link rel="stylesheet" media="(max-width: 800px)" href="index.css" />

在css文件中的写法:

@media only screen and (min-width: 1200px) {样式}

@media only screen and (min-width: 992px) and (max-width:1199px) {样式}

3.rem布局(移动端):rem会随着根元素字体大小的变化而变化

  • 媒体查询+rem布局:媒体查询动态修改根元素的大小,使得rem一直跟着变化,响应式就成功了

    @media only screen and (min-width: 600px) {html{font-size: 16px;}}

  • vw+vh+rem屏幕适配方案:可以把宽高的单位设置成vw和vh,使用rem做单位;

  • meta标签:视口跟设备宽度保持一致,默认缩放比例为1,不允许用户自行缩放,最大允许缩放比例为1,最小允许缩放比例为1;

    <meta name="viewport" content="width=device-width, initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端如何实现浏览器适配? 的相关文章

随机推荐

  • jsp jdbc写登录注册网页

    第一步先通过jdbc驱动链接数据库 package JavaBean import java sql public class DriverManager public Connection getConn throws ClassNotF
  • 快速了解回顾python的列表的常见用法 (-^〇^-)

    面对python里面列表里这么多用法相信许多刚入门的小伙伴们会感觉脑子一片混乱 感觉很容易混淆 下面让我来帮助大伙整理 解析一下 可能不是非常全面 但对于我们刚入门的小伙伴来说完全够用 来咱们上干货 噔 噔 噔噔 首先上场的是列表 我们遵循
  • 有限体积法及其网格简介

    有限体积法及其网格简介 有限体积法使目前CFD领域广泛使用的离散化方法 其特点不仅表现在对控制方程的离散结果上 还表现在所使用的网格上 1 有限体积法的基本思想 有限体积法 Finite Volume Method 又称为控制体积法 Con
  • 03、链表:实现LRU(Least Recently Used)缓存淘汰算法

    03 链表 实现LRU Least Recently Used 缓存淘汰算法 3 1 链表结构及其操作 与数组的对比 不同的链表类型 和单链表相比 循环链表的优点是从链尾到链头比较方便 当要处理的数据具有环型结构特点时 就特别适合采用循环链
  • C# SqlSugar框架的学习使用(一)--SqlSugar简介及创建

    前言 最近有个开发项目准备启动 由于要求的开发周期较短 所以准备用个C 的框架 原本最初考虑用成熟的EF框架 但是觉得那个框架也太重了 就在网上找找了别的 无意间发现了SqlSugar的框架 简单试了下 发现真是的方便 入门也简单 SqlS
  • 法规数字分类

    档案保管年限 1 证券 期货投资咨询机构应当将其向投资人或社会公众提供的投资咨询资料 自提供之日起保存2年 2 客户回访应当留痕 相关资料应当保存不少于3年 3 承销商应当保留推介 定价 配售等承销过程中的相关资料至少3年备查 4 自查及演
  • 【Linux】——实现一个简单shell(命令行解释器)

    进程替换 替换原理 用fork创建子进程后执行的是和父进程相同的程序 但有可能执行不同的代码分支 子进程往往要调用一种exec函数以执行另一个程序 当进程调用一种exec函数时 该进程的用户空间代码和数据完全被新程序替换 从新程序的启动例程
  • 数据库SQLite在Qt5+VS2012使用规则总结---中文乱码

    VS2012默认格式为 GB2312 80 而有时我们用到字符串需要显示中文时 就会出现乱码 下面仅就Qt5和VS2012中使用数据库SQLite时 做一个简单的备忘录 1 include
  • Android Studio格式化代码设置和代码风格设置、代码提示键

    自从google大力推出android studio开发android IDE工具之后 最近大家都切换到android studio 但是切换过来之后 各种不顺手 快捷键就是一个大问题 本来在eclipse中用的好好的快捷键 愣是不顺手了
  • Telink BLE MESH开发环境搭建(Windows版本)

    windows系统环境搭建 获取Telink IDE 下载Telink IDE 安装Telink IDE 解压软件包 用管理员权限运行TelinkSDKv1 3 1 exe 如上图安装到C盘 不可安装到其他盘 会报错 打开运行Eclipse
  • 【带你了解C++标准库为何在八大链表结构中选择了它】双向循环带头链表的实质性操作

    文章目录 八大链表结构为何选择了它 初始化和打印 尾插和尾删 头插和头删 查找和插入 删除和销毁 小结 链表功能动画演示 逻辑实现text c 头文件List h 函数实现List c 八大链表结构为何选择了它 C 的STL库选择的最终链表
  • AE已支持M1芯片mac安装(After Effects 20直装版M1安装方法)M1芯片处理器安装AE问题教程

    作为一名视频编辑创作者 一直都是用苹果的Mac电脑运行AE制作影片 就在今年11月份 苹果发布了基于Apple Silicon M1 SoC芯片打造新Mac产品 全新的M1处理器的诞生带来了很多革命性的变化 因为这标志着苹果正式开启了从In
  • Kaptcha实现验证码

    文章目录 依赖 配置类 使用 依赖
  • 华为OD机试 - MELON的难题 - 动态规划(Java 2023 B卷 100分)

    目录 一 题目描述 二 输入描述 三 输出描述 四 动态规划 五 解题思路 六 Java算法源码 七 效果展示 1 输入 2 输出 3 说明 华为OD机试 2023B卷题库疯狂收录中 刷题点这里 一 题目描述 MELON有一堆精美的雨花石
  • van-field输入数字失焦后强制保留两位小数

    van field输入数字失焦后强制保留两位小数 一 html 二 JS部分 1 watch监听 2 强制控制有两位小数 一 html
  • 设计模式浅析-适配器模式

    前言 2017年悄悄的来了 无声无息的以至于我都还没好好缅怀一下荒诞的2016 不得不说 2016没能通过努力达到应该有的程度 看样子目标还是要有的 那就先设定一个小目标吧 设计模式 当你学会了设计模式 就要忘记设计模式 辉哥 适配器模式
  • 华为手机隐藏指令的5个代码

    第一个 拨号键输入 6130 这个指令主要用于查看手机当前的网络信号 手机基本信息以及手机的使用情况数据的统计 尤其是手机使用情况统计数据 可以查看当前手机上次使用了哪些应用 使用的具体时间以及使用的时长 第二个 拨号键输入 2846579
  • MySQL 数据库存储引擎

    目录 一 存储引擎简介 二 MyISAM存储引擎 1 MylSAM介绍 2 MyISAM表支持3种不同的存储格式 3 MylSAM的特点 4 MyISAM使用的生产场景 三 InnoDB存储引擎 1 InnoDB介绍 2 InnoDB的特点
  • ubuntu18.04下pass-through直通realteck PCI设备到qemu-kvm虚拟机实践

    设备直通是一种虚拟化资源分配方式 通过将物理设备直通给虚拟机环境 达到虚拟机可以直接访问物理设备的目的 直通功能对设备的要求不高 不需要设备支持PF VF 目前市面上的显卡 网卡一般都支持直通 典型场景比如有两块显卡 一块主机用 另一块虚拟
  • 前端如何实现浏览器适配?

    1 根据window screen width获取当前浏览器的宽度 然后根据宽度加载不同的样式文件 注意 这里的script一定要写在head标签里面 这样在加载页面的之前 会先把css文件加载出来 2 媒体查询 根据设备显示器的特性为其设