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>
相关推荐
站在风口的猪11081 小时前
《前端面试题:BFC(块级格式化上下文)》
前端·css·css3
逃逸线LOF9 小时前
CSS之动画(奔跑的熊、两面反转盒子、3D导航栏、旋转木马)
前端·css
代码的余温11 小时前
打造极致计算器:HTML+Tailwind+DaisyUI实战
javascript·css·html
sunbyte11 小时前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | Form Wave(表单label波动效果)
前端·javascript·css·vue.js·tailwindcss
乐予吕13 小时前
从 scoped 到 @scope:CSS 样式隔离的进化
前端·css·vue.js
绅士玖14 小时前
5张卡片的魔法秀:Flex布局+Transition实现高级展开动效
前端·css
BillKu17 小时前
CSS强制div单行显示不换行
前端·css
哎呦你好17 小时前
CSS 渐变完全指南:从基础概念到实战案例(线性渐变/径向渐变/重复渐变)
前端·css
linux-hzh19 小时前
day07
前端·javascript·css
前端工作日常20 小时前
同一Vue组件内所有选择器共享同一个 data-v-id
css·vue.js