前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >09_CSS3多媒体查询

09_CSS3多媒体查询

作者头像
用户9184480
发布2024-12-13 18:10:22
发布2024-12-13 18:10:22
6100
代码可运行
举报
文章被收录于专栏:云计算linux
运行总次数:0
代码可运行

1 多媒体查询

1.1 媒体查询

媒体查询能在不同的条件下使用不同的样式,使页⾯在不同在终端设备下达到不同的渲染效果。

CSS 的 Media Query 媒体查询(也称为媒介查询)用来根据窗口宽度、屏幕比例和设备方向等差异来改变页面的显示方式。

使用媒体查询能够在不改变页面内容的情况下,为特定的输出设备制定显示效果。媒体查询由媒体类型和条件表达式组成。

常用的媒体查询属性如下:

  • 设备宽高: device-width、device-height
  • 渲染窗口的宽和高:width、height
  • 设备的手持方向:orientation
  • 设备的分辨率:resolution
1.2 媒体设备

描述

all

用于所有多媒体类型设备

print

用于打印机

screen

用于电脑屏幕,平板,智能手机等。

speech

用于屏幕阅读器

比如:在屏幕显示与打印设备上不同的 CSS 效果

  • media 媒体
  • screen 屏幕
  • min-width 最小值,视口大于或者等于该值加载这个 css
  • max-width 最大值,视口小于或者等于该值加载这个 css
代码语言:javascript
代码运行次数:0
复制
<style media="screen">
    h1 {
        font-size: 32px;
        color: #ff0000;
    }
</style>
<style media="print">
    h1 {
        font-size: 32px;
        color: #00ff00;
    }
</style>
<h1>www.yunhe.cn</h1>
<hr>
<h2>云和数据</h2>

多设备支持:可以用逗号分隔同时支持多个媒体设备

代码语言:javascript
代码运行次数:0
复制
@import url(screen.css) screen,print;
<link href="screen.css" media="screen,print">
@media screen,print {...}
1.3 实现方式
1.3.1 外联式

外联式是作为单独的 CSS 文件从外部引入的 ,在 link 标签中通过 media 属性可以设置样式使用的媒体设备。

  • common.css 没有指定媒体所以全局应用
  • screen.css 应用在屏幕设备
  • print.css 应用在打印设备
代码语言:javascript
代码运行次数:0
复制
<!-- 视口大于或者等于 1200px 加载 01.css-->
<link rel="stylesheet" type="text/css" href="css/01.css" media="screen and (min-width:1200px)">
<!-- 视口小于 1200px 加载 02.css -->
<link rel="stylesheet" type="text/css" href="css/02.css" media="screen and (max-width:1199px)">

注意:

  • IE8 不兼容 media
  • 简化代码,相同样式写在一起
  • 利用层叠性,写在后面
1.3.2 导入式

使用 @import 可以引入指定设备的样式规则。文件中引入一个样式文件,在这个文件中再引入其他媒体的样式文件。

代码语言:javascript
代码运行次数:0
复制
<link rel="stylesheet" href="style.css">

style.css

代码语言:javascript
代码运行次数:0
复制
@import url(screen.css) screen;
@import url(print.css) print;
1.3.3 内联式(常用方式)

内联式是直接在 CSS 中使用。

代码语言:javascript
代码运行次数:0
复制
<style>
	/* 宽度大于等于 1200px */
	@media screen and (min-width: 1200px) {
		p {
			float: left;
			width: 50%;
			height: 200px;
			background-color: #ff0000;
		}
	}

	/* 宽度小于等于 1199px */
	@media screen and (max-width: 1199px) {
		p {
			float: left;
			width: 50%;
			height: 200px;
			background-color: #00ff00;
		}
	}

	/* 宽度大于等于 640px 小于等于 1000px */
	@media screen and (min-width: 640px) and (max-width: 1000px) {
		p {
			float: left;
			width: 50%;
			height: 200px;
			background-color: #0000ff;
		}
	}
</style>
<p></p>
1.4 设备方向

使用 orientation 属性可以定义设备的方向

描述

portrait

竖屏设备即高度大于宽度

landscape

横屏设备即高度小于宽度

代码语言:javascript
代码运行次数:0
复制
<style media="screen and (min-width: 768px),screen and (orientation:landscape)">
    body {
        background: #ff0000;
    }
</style>
1.5 查询条件

可以使用不同条件限制使用的样式,条件表达式需要放在括号中。

1.5.1 逻辑与

需要满足多个条件时才使用样式,多个条件使用 and 连接。表示满足全部条件才能生效。

代码语言:javascript
代码运行次数:0
复制
<style>
    /* 横屏显示且屏幕宽度不超过 600px */
    @media screen and (orientation: landscape) and (max-width : 600px) {
        body {
            background: #8e44ad;
        }
    }
</style>
1.5.2 逻辑或

多个 或 条件查询使用逗号连接,不像其他程序中使用 or 语法。

表示只要满足其中一个条件就能生效。

代码语言:javascript
代码运行次数:0
复制
<style>
    /* 横屏显示 或者 屏幕宽度不超过 600px */
    @media screen and (orientation: landscape),screen and (max-width : 600px) {
        body {
            background: #8e44ad;
        }
    }
</style>
1.5.3 不应用

not 表示不应用样式,即所有条件都满足时不应用样式。

注意:必须将 not 写在查询的最前面

代码语言:javascript
代码运行次数:0
复制
<style>
    /* 横屏显示且屏幕宽度不超过 600px 时不应用当前样式 */
    @media not screen and (orientation: portrait) and (max-width:600px) {
        body {
            background: #8e44ad;
        }
    }
</style>
1.5.4 仅当前应用

only 指定某种特定的媒体类型,可以用来排除不支持媒体查询的浏览器。

代码语言:javascript
代码运行次数:0
复制
<style>
    /* 仅电脑屏幕,平板,智能手机以及横屏显示且屏幕宽度不超过 600px 时应用当前样式 */
    @media only screen and (orientation: portrait) and (max-width:600px) {
        body {
            background: #8e44ad;
        }
    }
</style>
1.6 查询特性

根据查询特性筛选出使用样式的设备。

1.8.1 常用特性

特性

说明

orientation: landscape | portrait

landscape 横屏,portrait 竖屏

width

设备宽度

height

设备高度

min-width

最小宽度(>=)

max-width

最大宽度(<=)

min-height

最小高度(>=)

max-height

最大高度(<=)

1.6.2 使用示例

在设备宽度为 568px 时使用样式

代码语言:javascript
代码运行次数:0
复制
@media only screen and (width:568px) {
  ... 
}

在设备不小于 569px 时使用样式

代码语言:javascript
代码运行次数:0
复制
@media only screen and (min-width:569px) {
  ... 
}

橫屏设备并且宽度大于 569px 时使用样式

代码语言:javascript
代码运行次数:0
复制
@media only screen and (orientation: landscape) and (min-width:569px) {
  ... 
}
1.7 练习作业

使用多媒体查询制作响应式页面。

  • 当页面窗口宽度小于 480px 时,背景颜色为绿色
  • 当页面窗口宽度小于 960px 大于480px 时,背景颜色为蓝色
  • 当页面窗口宽度大于 960px 时,背景颜色为红色
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-09-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 多媒体查询
    • 1.1 媒体查询
    • 1.2 媒体设备
    • 1.3 实现方式
      • 1.3.1 外联式
      • 1.3.2 导入式
      • 1.3.3 内联式(常用方式)
    • 1.4 设备方向
    • 1.5 查询条件
      • 1.5.1 逻辑与
      • 1.5.2 逻辑或
      • 1.5.3 不应用
      • 1.5.4 仅当前应用
    • 1.6 查询特性
      • 1.8.1 常用特性
      • 1.6.2 使用示例
    • 1.7 练习作业
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档