响应式 - 为CSS添加媒介查询

简介: 响应式 - 为CSS添加媒介查询

前言

在本节中,我们会一起探究媒介查询的强大之处:渲染的页面能够自适应于所有的设备和所有的可能场景。好吧,我承认有点夸大其词。但是接下来我们确实会创建一个简单的Web页面,该页面可适用于不同窗口大小的浏览器、不同的设备以及其他可能的呈现方式。

准备工作

仅仅为了学习本节内容,你就得出去购买在此处所列的每一种设备,例如一台高清电视、一部智能手机、一部功能手机,至少还要有一台打印机。什么,没门?好吧,出于为你减少花费的考虑,我还只是让你买一些最有代表性的设备。这说明在每种设备上面都进行测试媒介查询是不太现实的,因为设备的种类太多了。其实在现实生活中,绝大多数的设备都是不会用到的,同时你也不会在意。接下来我们只是关注于那些平时会经常使用到的媒介查询场景。
这里先跳过那些对你来说不必要的设备。如果你发现需要在那些平时不怎么常见的设备中展现页面,也能非常容易地获取到相关的媒介查询信息。你永远不知道什么时候需要用哪些稀奇古怪的设备!如果需要,可访问WC3以获得详尽的信息和描述,网址为www.w3.org/TR/css3-mediaqueries/。在此,就不去关注那些无关问题了,只列举几种具有特定颜色限制的设备:单色显示终端、打印机、电视以及手持设备。此处媒介查询应用得最多的要数screen和print设置。

实现方式

创建一个HTML页面,其中包含一个h1的标题和一个div元素,div元素中包含一个image元素以及一段文本。如果没有合适的文本内容,可以用Ipsum生成一些。页面的源码如下所示:

接下来,就需要创建相关的媒介查询了。在下面所述的列表中,会对每一条设置进行一些简短的说明:

当Web页面处于打印状态时,就会启用该媒介查询。可以通过选择菜单File|Print然后查看打印预览进行验证。该媒介查询对于那些需要打印出来的Web页面是非常有用的。当然也可以修改或删除一些样式,确保打印版本的页面尽可能简洁。

这条配置信息作用于所有的竖屏显示设备。可以使得移动设备在横竖屏切换的时候呈现出不同的显示效果。有一点需要注意,该设置对于桌面设备同样适用,除非你限定该媒介查询只在较小的屏幕或设备上起作用。媒介查询的另一个方向值就是横屏。

基于height及width的媒介查询允许设置针对特定大小屏幕的样式。

上面的媒介查询会给所有页面施加同样的样式,无论浏览器窗口大小是多少,也就是说,以指定的大小在设备上渲染页面。

此处的媒介查询用于对16/9比率的设备窗口(非print类型)进行样式设置。

该设定选项适用于采用电视作为视频输出的设备。

在媒介查询中,min-width和max-width是最为有用的两个。基于该媒介查询能为任何窗口大小的设备设置响应式样式,这其中也包括那些屏幕很小的移动设备。首先设置最小(即移动)设备的相关样式,接下来设置那些最常见大小屏幕的相关样式,最后通过min-width来适配最大尺寸的屏幕。
创建了与项目显示设备相关的媒介查询后,通过给媒介查询设定不同的属性值进行样式的配置:



页面的最终版本呈现在下面的截图中。

工作原理

经过这些不同的设置后,就能够发现在不同的设备中,页面呈现出了不同的样式效果。当然,在你的站点中也可以通过组合不同的配置来实现更加多样化的响应式特效。

目录
相关文章
|
6月前
|
编解码 前端开发 UED
CSS进阶 - 响应式设计与媒体查询
【6月更文挑战第17天】响应式设计通过媒体查询适应不同设备,确保网页在桌面、平板、手机上提供优化体验。媒体查询是CSS核心技术,允许根据设备特性应用样式。常见问题包括忽视视口设置、硬编码断点和过度依赖查询。解决办法涉及设置正确的视口元标签、基于内容的断点和模块化设计。通过移动优先策略和灵活的断点管理,可创建高效、易维护的响应式网站。
47 1
|
5月前
|
前端开发 UED
使用HTML和CSS创建响应式表格
在网页设计中,表格是一种组织和展示数据的有效方式。本文档将指导你如何使用HTML和CSS来创建一个既美观又响应式的表格,以便在不同设备和屏幕尺寸上都能良好显示。我们将涵盖基础的HTML表格结构,样式美化以及如何实现响应式布局,使得表格内容在小屏设备上也能清晰阅读
181 0
|
4月前
|
编解码 前端开发 开发者
【前端设计达人必备】揭秘CSS尺寸单位的魔力:从基础到实战,打造灵动响应式网页!
【8月更文挑战第26天】本文深入探讨了CSS中常用的尺寸单位,包括像素(px)、百分比(%)、视窗单位(vw/vh/vmin/vmax)、可伸缩相对单位(em/rem)以及Flexbox和Grid中的fr单位。通过具体案例展示了每种单位的特点及其适用场景。像素适用于固定尺寸元素;百分比和em/rem利于构建响应式布局;视窗单位适合全屏设计;fr单位则能有效管理复杂网格布局的空间分配。掌握这些单位有助于开发者设计出更加灵活、高质量的网页布局。
61 4
|
4月前
|
前端开发 JavaScript
HTML+CSS新技能:快速打造响应式步骤条,秒变网页设计达人!
HTML+CSS新技能:快速打造响应式步骤条,秒变网页设计达人!
|
5月前
|
编解码 前端开发 容器
CSS Flex布局实战案例:构建响应式卡片组件
【7月更文挑战第17天】通过上述步骤,我们成功地使用CSS Flex布局构建了一个响应式的卡片组件。Flexbox不仅简化了布局代码,还让我们能够轻松实现复杂的布局效果,如响应式设计。在实战中,掌握Flexbox将大大提高前端开发的效率和网页布局的质量。希望这个案例能够帮助你更好地理解和应用Flexbox布局。
|
4月前
|
编解码 前端开发 容器
CSS弹性布局:打造响应式与灵活的网页设计
CSS弹性布局:打造响应式与灵活的网页设计
99 0
|
5月前
|
Web App开发 前端开发 JavaScript
CSS 媒体查询 @media【详解】
CSS 媒体查询 @media【详解】
153 0
|
7月前
|
小程序 前端开发 JavaScript
使用CSS的媒体查询功能在小程序中实现自适应布局
使用CSS的媒体查询功能在小程序中实现自适应布局
|
开发者
用CSS3设计响应式导航菜单 - WEB开发者
来源:http://www.admin10000.com/document/1463.html#jtss-hi
770 0