多端响应式

news/2025/1/20 20:07:48/文章来源:https://www.cnblogs.com/GJ504b/p/18682455

重要!响应式开发

目录
  • 重要!响应式开发
    • 是什么?
    • 怎么实现?
    • 媒体
      • 媒体查询
    • 断点
      • 是什么
      • 适配方案
    • 栅格布局
    • 响应式栅格系统
    • 实例

是什么?

多终端显示不同,更好看
PC,ipad,手机适配

怎么实现?

媒体查询,断点:
视口宽不同,布局不同

移动端???
320-480端口
rem
不考虑大尺寸,更好体验

响应式:三端都可以看,但是适配没有移动端好看
成本低

媒体

媒体查询

检测不同媒体视口宽度

  1. @media关键字
  2. 媒体类型
    body{background-color: skyblue;color: #fff;}/*我们的设备是屏幕显示的css*/@media print{body{background-color: red;color: yellow;}/*打印机可见*/}
  1. 媒体特性
    可以忽略
    最小最大宽,横竖屏,像素比
    要2,3均满足,需要逻辑运算符号链接
/*当前任意设备,但是屏幕要大于等于400px才显示*/@media screen and (min-width:400px){body{background-color: red;}}/*当前任意设备,但是屏幕要大于等于400px,小于等于500px才显示*/@media screen and (min-width:400px) and (max-width:500px){body{background-color: red;}}

像素比:移动端,根据手机的设备像素比设计css

横屏竖屏?
alt text

    @media screen and (orientation:landscape){body{background-color: red;}}

断点

是什么

满足对应窗口,出现对应样式,一定写在正常css代码之后

根据行业经验总结约定俗成的常见断点

xs:<576px 超小屏

sm:576~768px 小屏

md:768px~992px 中屏

lg:992px~1200px 大屏

xl:>=1200px 超大屏

适配方案

PC端:一般PC端优先,然后慢慢适配小屏效果,只需要使用 max-width 即可
移动端:移动端优先: 先考虑最小屏,再考虑大屏;只需要使用 min-width 即可

栅格布局

alt text
把容器分成?份
每份占比

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.row{display: flex;flex-wrap: wrap;}.col{box-sizing: border-box;border: 1px solid;height: 200px;}/* <!-- 容器分成12份 --> *//* <!-- 1份占的宽 --> */.col-1{width: 8.3333333%;}.col-2{width: 16.666666667%;}.col-3{width: 25%;}.col-4{width: 33.3333333%;}.col-5{width: 41.66667%;}.col-6{width: 50%;}.col-7{width: 58.33333333333%;}.col-8{width: 66.6666667%;}.col-9{width: 75%;}.col-10{width: 83.3333333%;}.col-11{width: 91.6666667%;}.col-12{width: 100%;}</style>
</head>
<body>
<!-- 将容器分成12份 --><div class="row"><div class="col col-3">1</div><div class="col col-3">2</div><div class="col col-3">3</div><div class="col col-3">4</div></div><div class="row"><div class="col col-4">1</div><div class="col col-4">2</div><div class="col col-4">3</div></div><div class="row"><div class="col col-6">1</div><div class="col col-6">2</div></div><div class="row"><div class="col col-12">1</div></div>
</body>
</html>

响应式栅格系统

xxl xl lg md sm 无缀名
x > 1400px 1200 < x <= 1400 992 < x <=1200 768 < x <= 992 576 < x <= 768 x <= 576

这些都是宽度的上限,只要小于上限就会起效
1400 1200 992 768 576

/* 
第一:我们将页面分成12分
第二:我们选择的断点是行业标准断点
第三:我们选择的适配方案,是PC端优先
*//* ....这里的css样式,会在屏幕宽大于1400px时生效.... */.col-xxl-1 {width: 8.333333%;}.col-xxl-2 {width: 16.6666667%;}.col-xxl-3 {width: 25%;}.col-xxl-4 {width: 33.33333333%;}.col-xxl-5 {width: 41.66666667%;}.col-xxl-6 {width: 50%;}.col-xxl-7 {width: 58.33333333%;}.col-xxl-8 {width: 66.6666667%;}.col-xxl-9 {width: 75%;}.col-xxl-10 {width: 83.33333333%;}.col-xxl-11 {width: 91.66666667%;}.col-xxl-12 {width: 100%;}/* 当屏幕宽度大于1200px ,但小于等于1400px时,显示如下样式 */@media screen and (max-width: 1400px) {.col-xl-1 {width: 8.333333%;}.col-xl-2 {width: 16.6666667%;}.col-xl-3 {width: 25%;}.col-xl-4 {width: 33.33333333%;}.col-xl-5 {width: 41.66666667%;}.col-xl-6 {width: 50%;}.col-xl-7 {width: 58.33333333%;}.col-xl-8 {width: 66.6666667%;}.col-xl-9 {width: 75%;}.col-xl-10 {width: 83.33333333%;}.col-xl-11 {width: 91.66666667%;}.col-xl-12 {width: 100%;}}/* 当屏幕宽度大于992px ,但小于等于1200px时,显示如下样式 */@media screen and (max-width: 1200px) {.col-lg-1 {width: 8.333333%;}.col-lg-2 {width: 16.6666667%;}.col-lg-3 {width: 25%;}.col-lg-4 {width: 33.33333333%;}.col-lg-5 {width: 41.66666667%;}.col-lg-6 {width: 50%;}.col-lg-7 {width: 58.33333333%;}.col-lg-8 {width: 66.6666667%;}.col-lg-9 {width: 75%;}.col-lg-10 {width: 83.33333333%;}.col-lg-11 {width: 91.66666667%;}.col-lg-12 {width: 100%;}}/* 当屏幕宽度大于768px ,但小于等于992px时,显示如下样式 */@media screen and (max-width: 992px) {.col-md-1 {width: 8.333333%;}.col-md-2 {width: 16.6666667%;}.col-md-3 {width: 25%;}.col-md-4 {width: 33.33333333%;}.col-md-5 {width: 41.66666667%;}.col-md-6 {width: 50%;}.col-md-7 {width: 58.33333333%;}.col-md-8 {width: 66.6666667%;}.col-md-9 {width: 75%;}.col-md-10 {width: 83.33333333%;}.col-md-11 {width: 91.66666667%;}.col-md-12 {width: 100%;}}/* 当屏幕宽度大于576px ,但小于等于768px时,显示如下样式 */@media screen and (max-width: 768px) {.col-sm-1 {width: 8.333333%;}.col-sm-2 {width: 16.6666667%;}.col-sm-3 {width: 25%;}.col-sm-4 {width: 33.33333333%;}.col-sm-5 {width: 41.66666667%;}.col-sm-6 {width: 50%;}.col-sm-7 {width: 58.33333333%;}.col-sm-8 {width: 66.6666667%;}.col-sm-9 {width: 75%;}.col-sm-10 {width: 83.33333333%;}.col-sm-11 {width: 91.66666667%;}.col-sm-12 {width: 100%;}}/* 当屏幕宽度小于等于576px时,显示如下样式 */@media screen and (max-width: 576px) {.col-1 {width: 8.333333%;}.col-2 {width: 16.6666667%;}.col-3 {width: 25%;}.col-4 {width: 33.33333333%;}.col-5 {width: 41.66666667%;}.col-6 {width: 50%;}.col-7 {width: 58.33333333%;}.col-8 {width: 66.6666667%;}.col-9 {width: 75%;}.col-10 {width: 83.33333333%;}.col-11 {width: 91.66666667%;}.col-12 {width: 100%;}}

运用实例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./media.css"><style>.row{display: flex;flex-wrap: wrap;}.col{box-sizing: border-box;background-color: skyblue;height: 100px;border: 1px solid #fff;}</style>
</head>
<body>
<!-- 将容器分成12份 -->
<!-- 大于 1200px 显示  3列 
大于 992px 显示 2列
大于 768px 显示 1列 --><div class="row"><div class="col col-xl-4 col-lg-6 col-md-12">1</div><div class="col col-xl-4 col-lg-6 col-md-12">2</div><div class="col col-xl-4 col-lg-6 col-md-12">3</div></div></body>
</html>

实例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="stylesheet" href="./media.css"><style>.row{display: flex;flex-wrap: wrap;}.col{box-sizing: border-box;background-color: skyblue;height: 100px;border: 1px solid #fff;}</style>
</head>
<body><!-- 12个,当视口宽 >1200px 时,以显示4 3 2 1当视口宽 <= 1200px 时,显示2 3 2 1当视口宽 <= 992px 时,显示2 2 1 1当视口宽 <= 768px 时,1 1 1 1同时上面的导航变成点击下拉菜单形式 --><div class="row">
<!-- 1200 768 xl sm --><div class="col col-xxl-3 col-xl-6 col-sm-12">1</div><div class="col col-xxl-3 col-xl-6 col-sm-12">1</div><div class="col col-xxl-3 col-xl-6 col-sm-12">1</div><div class="col col-xxl-3 col-xl-6 col-sm-12">1</div></div><div class="row">
<!--992 768 md sm --><div class="col col-xxl-4  col-md-6 col-sm-12">2</div><div class="col col-xxl-4  col-md-6 col-sm-12">2</div><div class="col col-xxl-4  col-md-6 col-sm-12">2</div></div><div class="row">
<!-- 992 lg --><div class="col col-xxl-6 col-lg-12">3</div><div class="col col-xxl-6 col-lg-12">3</div></div><div class="row"><div class="col col-xxl-12">4</div></div></body>
</html>

p.s.其实twcss已经完美解决这个问题了,当然也可以自己外链media.css,都行

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

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

相关文章

公共图床-OIER试炼场

公共图床-OIER试炼场 如何使用? 1. 使用浏览器直接访问 https://api-cdn.u1128333.nyat.app:35910/2. 通过插件访问 插件下载点我 MIT License, ©2025 Chan. 在浏览器扩展中添加即可使用。

32. 样式表

一、样式表为了美化窗口或控件的外观,可以通过窗口或控件的调色板给窗口或控件按照角色和分组设置颜色,还可以对窗口或控件的每个部分进行更细致的控制,这涉及窗口或控件的样式表(Qt style sheets, QSS),它是从 HTML 的层叠样式表(cascading style sheets, CSS)演化而来…

TIA SCL编程清除字符串中所有的空格

今天做一个小的练习,这是2025年第一个记录的学习笔记。 在IA新建一个FC,名字叫做TrimSpace,建立以下内部变量:写一段SCL代码: #len := LEN(#str_in);#str_trim_out := ;FOR #i := 1 TO #len DO   IF MID(IN := #str_in, L := 1, P := #i) <> THEN   …

计算几何相关

打算慢慢记一下扫描线,辛普森法和凸包。扫描线 扫描线直接照搬了...这篇主要是给之后的积分和凸包之类留的。 就是用线段树解决计算几何问题。 板梯 如何处理平面内一群矩形的面积交? 考虑用面积的朴素定义,\(S=ab\),相当于一堆面积合到一起就是 \(b\) 个可以不同的 \(a\) …

树状数组(学习笔记)

例题一:P3374 【模板】树状数组 1 例题二:P3368 【模板】树状数组 2 作用:特征: 一个多用于区间修改,和单点查询。或区间查询单点修改的数据结构,其代码量较少,比较好写。 区别: 它与线段树的功能差不多,但线段树的可拓展性更强。也就是说:树状数组能做的,线段树都能…

Centos根目录扩容

CentOS磁盘在根目录下扩容(无卷组情况下)查看磁盘分区情况,sda3挂载在根目录下,新扩容增加的sda4挂在在/data下现在想把sda4同样挂载在根目录下解决方法:删除sda3,再重建sda3(注意:删除后不要退出,紧接着重建,注意重建后的起始位置) 删除sda3然后重建输入下面那个命…

U455764 The Rotation Game

U455764 The Rotation Game 题目理解 本题要求移动\(A-H\)中的一列或一行,使其整个一行和一列的数字移动,使最后的中间8个的数字相同。求最少需要移动的步数和它的操纵顺序思路 1.本题可以很显然的想到用 \(BFS\) 来枚举执行不同字母操作后结果,但每 \(BFS\) 一次就会增加八…

BUU SQL COURSE 2

BUU SQL COURSE 2 BUU SQL COURSE 2 和前面那题差不多,但是注一下找到的登录成功但是显示 fault。 注一下别的看一下,在另一个数据库里找到了 flag。本文来自博客园,作者:Maplisky,转载请注明原文链接:https://www.cnblogs.com/lbh2021/p/18682313

PotPlayer 配置安装

目录一、下载1、官网链接2、微软商店 Microsoft Store二、安装1、双击安装包2、选择字体3、安装向导下一步4、接收许可协议5、选择组件及关联6、选择安装位置7、硬解选项三、设置1、关闭自动更新2、左键单双击设置3、视频下自动隐藏3.1、效果对比4、播放信息显示设置4.1、效果5…

2024年春秋杯网络安全联赛冬季赛部分wp

部分附件下载地址: https://pan.baidu.com/s/1Q6FjD5K-XLI-EuRLhxLq1Q 提取码: jay1 Misc day1-简单算术 根据提示应该是异或下载文件是一个字符串,写个代码字符串异或解密,由于需要密钥,所以先对单字节密钥进行爆破解密 爆破出flag代码如下: cipher_text = "ys~xdg/…

大夏龙雀DX-WF25(ESP32C2)蓝牙WIFI模块试用体验

模块尺寸跟引脚兼容常见的ESP8266 12-F模块,使用非常简单,vcc接3.3v,gnd接地,rx连接ch340的tx,tx连接ch340的rx即可。 如果需要通过urat下载程序,只需要把io9的引脚接地就行(下载完程序记得断开io9跟gnd的连接,否则程序无法运行)。芯片用的是ESP32C2(ESP8684),很遗…

1.20 前端连接数据库

今天完成了项目的网页前端与后端数据库的连接,已经能够将前端填写的内容添加到mysql数据库 例如页面如下:数据库内容:明天开始编写下一个功能