`
wfsheep
  • 浏览: 17401 次
文章分类
社区版块
存档分类
最新评论

媒体查询学习和简单测试

 
阅读更多

最近有同学问到了媒体查询引入css时怎么调试,于是我想了一个小方法,并且同时研究了一下媒体查询这个属性来的。


现在大家都在说响应式页面设计,依我个人看来,响应式最低的要求就是----在不同的屏幕上展现不同的页面。而媒体查询是构成这一切的基础,根据msdn的说明,媒体查询的是根据不同的规则应用不同的样式的一种方式,其具体语法如下:

@media <media-query> {
    /* media-specific rules */
}
<link rel="stylesheet" type="text/css" href="a.css" media="<rules>" />

根据语法,惊奇的发现,原来这玩意就那么简单。对哈,其实就是简单了,你可以理解为他就是一个css里面的if。

而if里面的常用变量要使用下面表格里面的哦。当然,除了media 还有only等选项,关于其他属性,本文就不再讨论了

名称 摘要 说明
width 视口宽度
height 视口高度
aspect-ratio 视口横纵比
Pixel density 设备的像素密度(ppi)
color 设备支持的色彩,比如256位等
print 指定在打印时使用的样式
update-frequency 刷新频率 Media Queries Level 4中的属性
overflow-block 溢出的处理方式,是block? Media Queries Level 4中的属性
overflow-inline 溢出的处理方式,是inline? Media Queries Level 4中的属性
device-width 设备的宽度 Media Queries Level 4中的属性
device-height 设备的高度 Media Queries Level 4中的属性
device-aspect-ratio 设备的横总比 Media Queries Level 4中的属性

* 图表中的media查询level 4 为w3c正在进行草案中,所以不推荐使用。


废话不说了,上测试代码,大家可以把这一段代码保存到一个html里面,执行一下,你会看到随着屏幕的大小的变化,展示的数据不一样哦。

<!doctype html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>media query test</title>
	<link rel="stylesheet" type="text/css" href="a.css" media="screen and (max-width: 400px)">
	<link rel="stylesheet" type="text/css" href="b.css" media="screen and (min-width: 400px) and (max-width: 800px)">
	<link rel="stylesheet" type="text/css" href="c.css" media="screen and (min-width: 800px)">
</head>
<body>
    
</body>
</html>
a.css

body:after {
<span style="white-space:pre">	</span>content: 'small';
}


b.css

body:after {
<span style="white-space:pre">	</span>content: 'biger';
}

c.css

body:after {
<span style="white-space:pre">	</span>content: 'much biger';
}

这里有几个注意点:

1、只要是是写在link中的css代码都会被加载,只是根据media属性的不同执行不同的css内容而已,想通过media控制css文件加载时不行的。

2、在chrome中使用resize window时,可以看到以上代码生效,而在模拟手机调试环境中必须把screen下面的emulate viewport勾选去掉才能生效,在实际手机上貌似可以生效。


总之,link的media属性和@media类似,是通过判断rule来判断是否使用media中的css,如果使用media,其作用范围为整个加载的css文件,而使用@media则规则只作用于media内部。



分享到:
评论

相关推荐

    互动媒体学习社区

    【标题】:“互动媒体学习社区”项目开发详解 在IT领域,快速开发高效的应用系统是开发者的核心技能之一。本项目“互动媒体学习社区”利用ASP.NET 2.0框架,结合Access数据库,构建了一个功能丰富的在线学习平台。...

    自编简易的测试小程序——多媒体教学应用.pdf

    整体来看,文件“自编简易的测试小程序——多媒体教学应用.pdf”体现了在教育领域中融合现代信息技术、通过编程和软件开发提升教学效率与质量的实践案例,同时也展现了教师队伍在教学方法和教育技术应用方面的创新和...

    纯js和CSS3媒体查询制作简单的响应式导航菜单特效源码.zip

    在这个项目中,“纯js和CSS3媒体查询制作简单的响应式导航菜单特效源码.zip”提供了一种实现这一目标的方法。我们将详细探讨其中涉及到的关键技术和实践。 首先,CSS3媒体查询(Media Queries)是响应式设计的核心...

    计算机多媒体辅助测试系统的设计.doc

    6. **简便管理**:试题的添加、删除、修改和查询操作简单,方便教师管理。 **三、系统结构分析** 系统结构主要由控制模块和功能模块构成。控制模块负责安全验证,确保只有授权用户(如管理员和教师)才能访问系统...

    多媒体在线学习系统ASP+ACCESS

    【多媒体在线学习系统ASP+ACCESS】是一个以ASP(Active Server Pages)编程语言和ACCESS数据库为核心构建的网络教学平台。这个系统充分利用了Web技术的优势,旨在为现代教育技术改革和发展提供一个创新的解决方案,...

    webRTC实践代码 基于博文流媒体学习-WebRTC全面入门学习-1

    本实践代码是基于WebRTC和Node.js进行的流媒体学习,非常适合初学者入门。 在WebRTC中,主要有三个核心组件:RTCPeerConnection、RTCDataChannel和RTCIceCandidate。RTCPeerConnection负责建立和管理两个浏览器之间...

    asp.net互动媒体学习

    综上所述,“asp.net互动媒体学习”涵盖的内容广泛,从基础的ASP.NET框架理解,到Web Forms和MVC的应用,再到数据库集成、安全机制、实时通信和社区建设,每个环节都需要深入理解和实践。通过掌握这些知识,开发者...

    多媒体的详细学习教程

    多媒体,简单来说,就是多种媒体形式的集成,包括图像、音频、视频、文本、动画等,通过计算机进行处理和交互。本教程涵盖了多媒体技术的基本概念、制作工具以及实际应用,是入门者理想的起点。 一、多媒体基础概念...

    基于windows下的SRS流媒体服务器.zip

    SRS(Simple Real-Time Streaming)是一款轻量级的开源流媒体...通过学习和掌握SRS的配置和使用,你可以在各种场景下实现流畅的音视频直播。同时,SRS的开源特性使得它成为开发者进行流媒体技术探索和创新的理想选择。

    基于asp.net的互动媒体学习社区设计与实现.docx

    在数据库方面,选择了SQL Server 2005作为后台数据库,保证了数据存储的安全性和查询效率。通过这样的技术选型,学习社区具备了良好的扩展性和可维护性,能够适应不断变化的教育需求。 关键词如“互动媒体学习社区...

    多媒体制作讲义PPT学习教案.pptx

    - 类型:包括演示型、简单交互型和情境交互型,分别适用于不同的教学需求和学习场景。 2. **制作原则与结构分析**: - 原则:课件应遵循易用性、教育性、互动性和适应性的原则,以提高教学效率和学生参与度。 - ...

    vb 6.0 29道基础测试题 附赠“数字化生活”、“音视频多媒体”相关教程和检测题 自动得分

    总之,这个压缩包提供了一个全面学习和测试VB 6.0基础知识的平台,同时扩展了对数字化生活和音视频多媒体的理解,对于想进入编程领域或提升VB技能的初学者来说,是一份宝贵的学习资源。通过系统地学习和练习,用户...

    多媒体播放器 简易media player 编程语言C#

    10. **兼容性测试**:由于播放器可能在模拟操作系统下运行,因此开发者需要考虑各种不同的环境和文件格式,进行广泛的兼容性测试,确保播放器在不同条件下的稳定性和可靠性。 总的来说,开发这样一个简易多媒体...

    java简单媒体播放器

    8. **兼容性和性能优化**: 考虑到JMF的兼容性问题,可能需要针对不同的系统和硬件配置进行测试和优化。此外,JMF的性能可能不如现代的多媒体库,因此可能需要寻找替代方案,如JavaFX的Media API或第三方库(如JNA-...

    易语言学习-视频播放支持库(测试版) (1.0#0版).zip

    在这个"易语言学习-视频播放支持库(测试版) (1.0#0版).zip"压缩包中,我们看到的是一个针对易语言的视频播放功能支持库,主要适用于教学和测试用途。 视频播放支持库在编程中扮演着重要的角色,它允许开发者集成...

    软件测试人员实习总结

    在同事的帮助和指导下,我开始接触并学习了嵌入式操作系统的基础知识,包括BSP(Board Support Package)测试和驱动程序开发。通过实际参与这些工作,我对嵌入式设备的内部工作机制有了更深入的理解,也对嵌入式系统...

    2019年《职业生涯规划》——体验式学习章节测试及答案.docx

    这种学习方式鼓励学生主动参与,将学习过程视为自我成长的一部分,而不是简单的知识积累。 - **积极心态的定义**:积极心态意味着面对挑战和困难时能够主动寻找解决方案,而不是被动接受现状。它包括但不限于主动...

    SIPp压力测试资料

    SIPp不仅适用于简单的压力测试,还适用于进行功能测试、容错测试和安全测试。 ### 2. 安装 SIPp通常可以在各种Linux发行版上安装,也可以在Windows和macOS上运行。安装过程包括下载源代码,编译和配置。在大多数...

    falsh初探,简单介绍了flash测试方法

    ### Flash测试方法初探 #### 一、引言 随着互联网技术的发展,Flash作为一种重要的多媒体技术,在线视频、游戏等...对于开发者而言,不断学习和探索新的测试方法和技术,将是持续提升Flash应用质量和用户体验的关键。

Global site tag (gtag.js) - Google Analytics