响应式布局 - 媒体查询语法

媒体类型

说明

媒体类型(media types)描述设备的一般类型。

  • all:适用于所有设备
  • print:适用于在打印预览的模式下
  • screen:主要用于屏幕
  • speech:主要用于语音合成器

示例:媒体查询screen

例如:

<!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>
    @media screen {
      p {
        border: solid 5px black;
      }
    }
  </style>
</head>

<body>
  <p>我爱祖国的蓝天</p>
</body>

</html>

在正常屏幕上是有黑色的边框的:
在这里插入图片描述

右键-》打印:
在这里插入图片描述

没有边框:
在这里插入图片描述

示例:媒体查询print

<!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>
    @media print {
      p {
        border: solid 5px black;
      }
    }
  </style>
</head>

<body>
  <p>我爱祖国的蓝天</p>
</body>

</html>

在屏幕上预览,没有边框:
在这里插入图片描述

打印,有边框:
在这里插入图片描述

媒体特性

说明

媒体特性(media features)描述了输出设备或者浏览环境的具体特性。

  • width:viewport的宽度,有max-width 和 min-width
  • height:viewport的高度,有max-height 和 min-height
  • aspect-ratio:viewport的宽高比
  • orientation:viewport的旋转方向,有portrait(竖屏) 和 landscape(横屏)

示例:查询最大宽度

<!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>
    @media (max-width:700px) {
      p {
        border: solid 5px black;
      }
    }
  </style>
</head>

<body>
  <p>我爱祖国的蓝天</p>
</body>

</html>

正常显示的时候,没有边框,因为我们的屏幕宽度超过了700px:
在这里插入图片描述

缩小屏幕,让宽度小于700px,出现了边框:
在这里插入图片描述

示例:查询屏幕的旋转方向

<!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>
    @media (orientation:portrait) {
      p {
        width: 200px;
        height: 200px;
        background: pink;
      }
    }

    @media (orientation:landscape) {
      p {
        width: 200px;
        height: 200px;
        background: green;
      }
    }
  </style>
</head>

<body>
  <p>我爱祖国的蓝天</p>
</body>

</html>

竖屏的时候,背景颜色为粉色:
在这里插入图片描述

横屏的时候,背景颜色为绿色:
在这里插入图片描述

逻辑操作符

说明

逻辑操作符可用于联合构造复杂的媒体查询。

  • and:用于将多个媒体查询规则组合成单条媒体查询
  • not:用于否定媒体查询,如果不满足这个条件则执行内容,否则将不执行
  • only:用于旧版浏览器识别媒体类型使用(当前不常用了)
  • 逗号:用于将多个媒体查询合并为一个规则

示例:and

在正常屏幕模式下、并且视口宽度在600px~1200px之间才会显示边框:

<!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>
    @media screen and (max-width:1200px) and (min-width:600px) {
      p {
        border: solid 3px black;
      }
    }
  </style>
</head>

<body>
  <p>我爱祖国的蓝天</p>
</body>

</html>

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

示例:not

视口宽度不在600px~1200px之间才会显示边框:

<!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>
    @media not screen and (max-width:1200px) and (min-width:600px) {
      p {
        border: solid 3px black;
      }
    }
  </style>
</head>

<body>
  <p>我爱祖国的蓝天</p>
</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>
  <style>
    @media screen,
    print {
      p {
        border: solid 3px black;
      }
    }
  </style>
</head>

<body>
  <p>我爱祖国的蓝天</p>
</body>

</html>

在这里插入图片描述

在这里插入图片描述

link标签方式

通过给link标签添加media属性设置媒体查询类型和媒体特性。

如下,横屏、竖屏分别加载不同的css样式文件:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

横屏:
在这里插入图片描述

竖屏:
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
响应式布局媒体查询前端开发中常用的技术,主要用于创建适应不同设备(如手机、平板、桌面等)的布局。以下是它们的使用方法和一些要点: 1. **响应式布局**:响应式布局是一种使网站能够在不同设备和屏幕尺寸上显示良好的一种方法。它使用 CSS 属性来检测浏览器窗口的大小,并根据这些尺寸改变布局。常用的响应式布局方法包括百分比布局、弹性盒子布局(Flexbox)、网格布局(Grid)等。 使用响应式布局时,需要确保所有元素都有合适的宽度和高度,并且能根据屏幕大小自适应调整。可以使用媒体查询来更改元素的尺寸、颜色、背景等属性,以适应不同的屏幕尺寸。 2. **媒体查询**:媒体查询是 CSS3 中的一个特性,它允许开发者根据设备的特定属性(如屏幕宽度、颜色空间等)应用不同的样式规则。媒体查询通常与响应式设计一起使用,以便在不同的屏幕尺寸上应用不同的布局和样式。 使用媒体查询的基本语法如下: ```css @media screen and (max-width: 600px) { /* 这些样式仅在屏幕宽度小于或等于 600px 时应用 */ } ``` 在上面的代码中,`@media` 关键字用于指定媒体查询的条件,括号中的 `max-width: 600px` 表示只有当屏幕宽度小于或等于 600px 时,才会应用括号内的样式规则。 另外,还可以使用其他媒体查询相关的属性,如 `min-device-pixel-ratio`(用于处理高分辨率屏幕)、`orientation`(用于检测设备方向)等。 使用响应式布局媒体查询时,需要注意以下几点: * 尽可能使用百分比、em 或 rem 等相对单位进行布局,而不是像素(px)。 * 确保所有元素都有合适的宽度和高度,以便在需要时进行自适应调整。 * 根据需要使用不同的媒体查询条件,以适应不同的设备和屏幕尺寸。 * 测试你的网站在不同设备和屏幕尺寸上的表现,以确保响应式布局媒体查询能够正常工作。 希望这些信息对你有所帮助!如果你有任何其他问题,欢迎继续提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值