CSS3_媒体查询(十一)

CSS3_响应式布局

1、媒体样式

在不同媒体上显示不同的样式。

常用阈值:

  • 小于768px:小屏幕;
  • 768px-992px:中等屏幕;
  • 992px-1200px:大屏幕;
  • 大于1200px:超大屏幕。
html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <title>查询媒体类型</title>
    <style>
        h1 {
            width: 300px;
            height: 300px;
            line-height: 300px;
            background-image: linear-gradient(30deg, red, yellow, green);
            margin: 0 auto;
            text-align: center;
            font-size: 30px;
            color: white;
            text-shadow: 0 0 10px black;
        }

        /* 只有在打印机上才应用的样式 */
        @media print {
            h1 {
                background: transparent;
            }
        }

        /* 只有在屏幕上才应用的样式 */
        @media screen {
            h1 {
                font-family: "Forte";
            }
        }

        /* 在所有情况下都使用的字体 */
        @media all {
            h1 {
                font-family: "Forte";
            }
        }
    </style>
</head>

<body>
    <h1>测试文本</h1>
</body>

</html>
2、媒体特性

根据媒体视口的大小和媒体宽度进行样式的变化。

  • width:检测视口宽度;
  • max-width:检测视口最大宽度;
  • min-width:检测视口最小宽度;
  • height:检测视口高度;
  • max-height:检测视口最大高度;
  • min-height:检测视口最小宽度;
  • device-width:检测屏幕的宽度;
  • max-device-width:检测屏幕的最大宽度;
  • min-device-width:检测屏幕的最小宽度;
  • orientation:检测视口的旋转方向
    • portrait:视口处于纵向,高度大于宽度;
    • landscape:视口处于横向,宽度大于高度。
html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <title>媒体类型</title>
    <style>
        div {
            background-color: aqua;
            height: 200px;
            line-height: 200px;
            text-align: center;
            font-size: 50px;
        }

        /* 视口宽度小于700px的时候背景设置为黄色 */
        @media (max-width:700px) {
            div {
                background-color: yellow;
            }
        }

        /* 视口宽度大于900px的时候背景设置为蓝色 */
        @media (min-width:900px) {
            div {
                background-color: blue;
            }
        }

        /* 视口宽度为500px的时候背景设置为红色 */
        @media (width:500px) {
            div {
                background-color: red;
            }
        }

        /* 只有设备宽度为2560px(因为2560缩放了1.25倍)时,才会生效 */
        @media (device-width:2048px) {
            div {
                background-color: black;
            }
        }
    </style>
</head>

<body>
    <div>
        <p>示例文本</p>
    </div>
</body>

</html>
3、运算符

可以通过运算符将媒体特性联系在一起:

  • and:并且;
  • , 或者 or:或;
  • not:否定;
  • only:肯定。
html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">

<head>
    <meta charset="UTF-8">
    <title>运算符</title>
    <style>
        div {
            height: 300px;
            background-color: antiquewhite;
        }

        @media (min-width:600px) and (max-width:800px) {
            div {
                background-color: aqua;
            }
        }
    </style>
</head>

<body>
    <div>

    </div>
</body>

</html>
相关推荐
天蓝色的鱼鱼4 小时前
关于 CSS 你可能不知道的属性,但关键时刻很有用
前端·css
用户0595401744612 小时前
向量库静默丢数据踩坑实录:Playwright 端到端测试让我排查了72小时
前端·css
ZhengEnCi1 天前
Q06-导航按钮高级拟态玻璃效果构建完全指南
前端·css
用户059540174461 天前
Redis持久化踩坑实录:这个数据丢失Bug让我排查了6小时
前端·css
用户059540174462 天前
Redis记忆存储故障恢复测试踩坑实录:手动测试让我漏掉了2个一致性Bug
前端·css
用户059540174463 天前
用了3年Mock,才发现Redis记忆存储的测试一直漏掉了60%的边界场景
前端·css
用户059540174464 天前
用了6个月LangChain,才发现AI Agent的记忆存储一直有坑——写了23个Pytest用例才彻底修好
前端·css
用户059540174464 天前
把LLM记忆测试从手工脚本换成Pytest参数化,回归时间从2小时降到10分钟
前端·css
用户059540174464 天前
Redis缓存一致性踩坑实录:线上故障排查6小时,我用pytest+内存快照把它永久关进了笼子
前端·css
llllk5 天前
新手向逐段讲解
css