前端 响应式设计之媒体查询

2024-06-21 13:20

本文主要是介绍前端 响应式设计之媒体查询,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

        媒体查询(Media Queries)是用于在网页设计中根据用户设备的特征(如屏幕宽度、高度、设备类型等)来应用不同的样式表规则的技术。它允许开发者根据用户设备的特性动态调整网页的布局和样式,以提供更好的用户体验。

媒体查询组成

  1. 媒体类型 —— Media types
  2. 媒体特性 —— Media features
  3. 逻辑运算符 —— Logical operators

mediatype(媒体类型):指定CSS样式应用的设备或媒体类型。常见的媒体类型包括:

  • all:所有设备
  • print:打印预览模式
  • screen:屏幕设备
  • speech:语音合成器

media feature(媒体特性):指定CSS样式根据设备或环境的不同特性而应用或不应用。媒体特性必须用小括号括起来,并且包含一个或多个表达式,例如设备的宽度或高度。常见的媒体特性包括:

  • width:视口或设备的宽度
  • height:视口或设备的高度
  • orientation:设备方向(横向或纵向)
  • aspect-ratio:视口或设备的宽高比
  • device-width and device-height:这两个特性用于描述设备的物理尺寸
  • resolution:描述设备的分辨率

logical operators(逻辑运算符):使用的逻辑操作符包括 andnotonly,它们允许开发者根据多个条件来定义 CSS 样式的应用规则。

  • and 操作符:用于组合多个媒体特性,要求同时满足所有条件时才应用样式
  • not 操作符:用于指定一个不满足某个媒体特性时应用样式
  • only 操作符:用于避免老旧浏览器不支持媒体查询时的问题

媒体查询使用

  1. <link> 标签中引用不同的样式表: 在 HTML 中使用 <link> 标签的 media 属性来加载不同的 CSS 样式表,以响应不同的设备或条件。例如:
    <!-- 默认样式表 -->
    <link rel="stylesheet" href="styles.css"><!-- 当视口宽度小于等于 600px 时应用的样式表 -->
    <link rel="stylesheet" media="screen and (max-width: 600px)" href="styles-mobile.css"><!-- 当视口宽度大于 600px 时应用的样式表 -->
    <link rel="stylesheet" media="screen and (min-width: 601px)" href="styles-desktop.css">
    
  2. 在 CSS中使用媒体查询: 在单个 HTML 文件内部使用 <style> 标签时/在外部的 CSS 文件中/使用像 Sass、Less 等 CSS 预处理器时,通过媒体查询条件来定义不同的 CSS 规则。例如:
    <style>@media screen and (max-width: 600px) {/* CSS rules for mobile devices */body {font-size: 14px;}}@media screen and (min-width: 601px) {/* CSS rules for desktop devices */body {font-size: 16px;}}
    </style>
    

具体示例

        基本语法

@media 媒体类型 and (媒体特性) {/* CSS规则 */
}

       根据屏幕宽度调整样式

/* 当屏幕宽度小于或等于 600px 时应用这些样式 */
@media screen and (max-width: 600px) {body {font-size: 14px;}
}

      针对打印设备的样式

/* 在打印设备上隐藏某些元素 */
@media print {.hide-on-print {display: none;}
}

       多重条件的组合

/* 当屏幕宽度在 600px 到 900px 之间,且设备支持颜色显示时应用这些样式 */
@media screen and (min-width: 600px) and (max-width: 900px) and (min-color: 256) {body {background-color: lightblue;}
}

    and 操作符

@media (条件1) and (条件2) {/* CSS rules */
}@media (max-width: 600px) and (orientation: landscape) {/* CSS rules */
}

    not 操作符

@media not (条件) {/* CSS rules */
}@media not screen {/* CSS rules */
}

    only 操作符

@media only (条件) {/* CSS rules */
}@media only screen and (max-width: 600px) {/* CSS rules */
}

注意事项

  • 语法与结构:媒体查询必须以 @media 开头,后面跟着一个条件,如 screenprint 等,以及一个或多个媒体特性(如宽度、高度、颜色能力等)。

  • 顺序:CSS 中的媒体查询按照书写顺序进行匹配,因此通常建议从最宽泛的条件开始,逐步向下细化,确保样式按照预期生效。

  • 响应式设计:媒体查询是实现响应式设计(Responsive Web Design)的关键工具,能够帮助网页在各种设备上提供良好的视觉和功能体验。

  • 兼容性:大多数现代浏览器和设备都支持媒体查询,但在使用时仍需考虑到部分旧版浏览器的兼容性问题,可能需要提供备用样式或 JavaScript 解决方案。 

这篇关于前端 响应式设计之媒体查询的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081336

相关文章

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

房产证 不动产查询

陕西政务服务网(便民服务)陕西政务服务网(手机版?更直观)不动产权证书|不动产登记证明(电子证照)商品房合同备案查询权利人查询

vue, 左右布局宽,可拖动改变

1:建立一个draggableMixin.js  混入的方式使用 2:代码如下draggableMixin.js  export default {data() {return {leftWidth: 330,isDragging: false,startX: 0,startWidth: 0,};},methods: {startDragging(e) {this.isDragging = tr

在线装修管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,装修队管理,用户管理,装修管理,基础数据管理,论坛管理 前台账户功能包括:系统首页,个人中心,公告信息,论坛,装修,装修队 开发系统:Windows 架构模式:B/S JDK版本:Java JDK1.8 开发工具:IDEA(推荐) 数据库版本: mysql5.7 数据库可视化工具: navicat 服务器:SpringBoot自带 ap

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求:通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求:通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服务地址: https://developer.amap.com/api/webservice/gui

vue项目集成CanvasEditor实现Word在线编辑器

CanvasEditor实现Word在线编辑器 官网文档:https://hufe.club/canvas-editor-docs/guide/schema.html 源码地址:https://github.com/Hufe921/canvas-editor 前提声明: 由于CanvasEditor目前不支持vue、react 等框架开箱即用版,所以需要我们去Git下载源码,拿到其中两个主

React+TS前台项目实战(十七)-- 全局常用组件Dropdown封装

文章目录 前言Dropdown组件1. 功能分析2. 代码+详细注释3. 使用方式4. 效果展示 总结 前言 今天这篇主要讲全局Dropdown组件封装,可根据UI设计师要求自定义修改。 Dropdown组件 1. 功能分析 (1)通过position属性,可以控制下拉选项的位置 (2)通过传入width属性, 可以自定义下拉选项的宽度 (3)通过传入classN

DDei在线设计器-API-DDeiSheet

DDeiSheet   DDeiSheet是代表一个页签,一个页签含有一个DDeiStage用于显示图形。   DDeiSheet实例包含了一个页签的所有数据,在获取后可以通过它访问其他内容。DDeiFile中的sheets属性记录了当前文件的页签列表。   一个DDeiFile实例至少包含一个DDeiSheet实例。   本篇最后提供的示例可以在DDei文档直接预览 属性 属性名说明数

js+css二级导航

效果 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Con

基于Springboot + vue 的抗疫物质管理系统的设计与实现

目录 📚 前言 📑摘要 📑系统流程 📚 系统架构设计 📚 数据库设计 📚 系统功能的具体实现    💬 系统登录注册 系统登录 登录界面   用户添加  💬 抗疫列表展示模块     区域信息管理 添加物资详情 抗疫物资列表展示 抗疫物资申请 抗疫物资审核 ✒️ 源码实现 💖 源码获取 😁 联系方式 📚 前言 📑博客主页: