首页 > 教程 > 关键词  > 移动Web最新资讯  > 正文

CSS3 Media Query:移动Web的完美开端

2010-07-23 10:39 · 稿源:锐商企业CMS,http://www.comsharp.com

移动时代,是任何 Web 设计与开发者都不能忽视的一个时代,总有一天,你设计的东西将被显示在两种屏幕上,桌面大屏幕和移动小屏幕,如何让同一个网站同时适应完全不同的两种尺寸的屏幕,这是一个很久以来都没有完美解决方案的问题,直到有了 CSS3。

CSS3 的 Media Queries

在 CSS2 时代,如果你曾经为你的网站设计过打印版 CSS,就会明白 CSS3 Media Queries 的作用,不过,CSS3 的 Media Queries 比 CSS2 的 Media Type 更实用,事实上,CSS2 的 Media Type 并不曾被多少设备所支持过。CSS3 的 Media Queries 可以帮你获取以下数据:

浏览器窗口的宽和高

设备的宽和高

设备的手持方向,横向还是竖向

分辨率

如果用户有一个支持 Media Queries 的设备,我们就可以为该设备编写专门的 CSS,让网站适应这个设备的小屏幕,英国的 Web 技术大会 dConstruct 便基于该技术推出他们的 2010 年大会网站,手机也可以轻松访问,以下是该网站的桌面版和手机版截图:

这个网站在不同尺寸的设备上按不同的布局显示,并且,手机版在 iPhone,Opera Mini, Android 等设备上有完全一致的表现。

使用 Media Queries 为手机创建单独的 CSS

我们举一个简单的两栏式结构的例子。

为了让这个布局更好地在手机上显示,我们为手机版设计一个一栏式布局,且缩小 header 部分的图片大小。

使用 Media Queries 最直接的方法是,在你的 CSS 代码中,加一段独立代码分支,如下:

接着,在这个分支中,为小屏幕编写独立的 CSS 定义,这些定义可以覆盖桌面版 CSS 中的相应定义(只要将这段分支代码放在后面),以下针对小屏幕的 CSS 将布局变成一栏式,且使用了小尺寸的 Header 图片:

最终,我们在小屏幕设备上得到了如下显示效果:

使用 Media Queries 链接单独的 CSS 文件

对于小型的改动,直接在 CSS 代码中插入移动设备代码分支是很方便的,但对于大型站点,可以使用 Media Queries 链接独立的式样表文件,以便在独立的式样表文件中完全自由地为小设备编写 CSS 代码,方法如下:

测试 Media Queries

要在不同设备上测试 Media Queries 并非易事,你要有各种设备,还要将代码上传到某个主机进行访问测试。这里有一个在线服务,ProtoFluid,该服务允许你提供你要测试的网站的 URL,或者你本机上的 URL,然后,模拟 iPhone 等移动设备显示你的设计,下图是上文中提到的 dConstruct 网站在 ProtoFluid 的 iPhone 模拟中显示的样子。你也可以填写你自己的窗口尺寸,来模拟特定的设备。

在 ProtoFluid 使用 Media Queries,你需要同时加上 max-width 和 max-device-width 属性,这意味着,Media Queires 不仅可以针对不同的移动设备,还可以针对桌面系统中某些人为的小窗口情形。

使用上面的代码,在桌面浏览器上,当你改变窗口尺寸到达 480 像素的时候,就会看到布局的改变。需要注意的是,上面的 max-width 部分仅仅为了测试,如果你不希望用户在桌面浏览器中因为改变了窗口大小而导致你的布局改变,可以去掉 max-width 部分,而只针对那些移动设备。

对现有网站的整改

上面的例子为了说明问题起见都很简单,现实中的站点不可能这样,下面的例子,作者将使用他自己的公司网站,说明如何使用 Media Queries 对现有网站进行移动化整改。

桌面布局

作者自己的网站是几年前设计的,那是还没有考虑 Media Queries 问题,这是一个三栏式布局。

举报

  • 相关推荐
  • DialMe:一个自动化面试平台

    DialMe是一个旨在改善面试流程的革命性平台。DialMe的目标是摆脱传统的文字填写表格方式是通过人工智能引导真实对话,为您提供深入的见解。这些见解可以用于产品改进、市场研究以及用户体验的提升。

  • 欧盟征询新的技术规则是否适用于微软 Bing 和苹果 iMessage

    欧盟反垄断监管机构正在征询微软的用户和竞争对手的意见,询问Bing是否应该遵守新的严格技术规则,以及是否应该适用于苹果的iMessage,知情人士周一表示。欧洲委员会于9月份展开了调查,以评估微软的Bing、Edge和微软Advertising以及苹果的iMessage是否应该受到数字市场法的约束。欧盟委员会希望在五个月内完成调查。

  • AI视野:OpenAI计划自研AI芯片;Canva发布AI设计工具Magic Studio;DocsGPT登顶GitHub热榜;哩布哩布AI重新上线

    来自CAIS、CMU、斯坦福、康奈尔、马里兰、宾大等机构的学者最近发现,大语言模型不再是黑匣子,其内部具有可解释的表征,甚至可以被测谎仪检测出撒谎行为。他们使用一种名为LAT的扫描技术观察LLM参与真理概念或撒谎时的大脑活动,并发现LLM内部具有一致的内部信念。Yasa-1具备多模态能力,支持编程任务,计划扩大功能范围。

  • 姜子牙大模型开源代码大模型Ziya-Coding-34B-v1.0

    IDEA研究院封神榜团队最近开源了最新的代码大模型Ziya-Coding-34B-v1.0,该模型在HumanEvalPass@1的评测上取得了75.5的好成绩,超过了GPT-4的得分。此次开源的Ziya-Coding-34B-v1.0,基于CodeLLaMA34B的预训练模型,经过了两个阶段的有监督精调,支持多种与代码相关的任务,包括代码生成、代码解释、代码纠错以及单元测试的生成等。

  • 谷歌研究发布MediaPipe FaceStylizer 轻松生成各种风格头像

    随着增强现实技术的崛起,研究人员和消费者对结合AR的智能手机应用表现出了日益增长的兴趣。这种技术允许用户实时生成和修改面部特征,用于短视频、虚拟现实和游戏等应用。这一技术的发布标志着在设备内部生成模型方面的重要进展,为未来的应用和探索提供了更多可能性。

  • 长安CS35 PLUS 1.4T自动超享版上市

    长安CS35 PLUS蓝鲸NE1.4T自动超享版在日前正式上市,售价为7.99万元。新款车的起售价进一步下调,提高了整体的性价比。 长安CS35 PLUS的最低售价为5.99万元,最高降价可达1.00万元。新款车的车身尺寸为4330/1825/1660毫米,轴距为2600毫米。在内饰方面,新车没有发生变化,仍然使用了9英寸液晶仪表以及10.25英寸中控屏,营造出一定的科技氛围。此外,新车还具备丰富的的人机交互功能。 在动力方面,新款车搭载了蓝鲸1.4T涡轮增压发动机,最大功率为160马力(118千瓦),最大扭矩为260牛·米,匹配了7速湿式双离合变速箱。这些改动使得新款车的性能更加出

  • 开启Web3.0新纪元 第三届元宇宙共享大会成功举办

    “趋势与未来”第三届元宇宙共享大会暨Web3.0链改——绿色积分资产化实践项目签约发布会,及汇来购全生态3.0启动盛典于2023年9月26日在广东金海湾成功举办。该活动由中国移动通信联合会元宇宙产业工作委员会,中国通信工业协会区块链专业委员会联合主办;亚洲区块链综合管理机构,汇来购经济服务平台共同承办。为推动社会走向数字文明新时代,共建元宇宙技术创新生态体系,推动元宇宙可持续健康发展。

  • 开源论文查询工具DocsGPT登顶GitHub热榜 支持多种文档类型

    DocsGPT是一款开源文档助手,旨在改变项目文档查找信息的方式。无需耗费时间进行手动搜索,DocsGPT可以帮助您快速找到所需的信息。开发环境支持:DocsGPT提供了开发环境设置,以便开发人员可以轻松进行本地开发和测试。

  • ProGrade全球首款4.0标准CFexpress Type-B存储卡开卖:1.3TB售价1万9 写速3GB/s

    ProGrade近日发布了全球首款CFexpress4.0Type-B规格的存储卡,现已上架开售。这款CFexpress4.0Type-B规格容量为1.3TB,单卡为18999元,并有读卡器套装售卖,价格为19599元。与前代标准所使用的PCIe3.0相比,理论上新版存储卡可以实现两倍的吞吐量,单条PCIe4.0通道的CFE-A卡传输速度可达2GB/s,双条PCIe4.0通道的CFE-B卡传输速度可达4GB/s,四条PCIe4.0通道的CFE-C卡传输速度可达8GB/s。

  • V社:我们做了一个非常艰难的决定 年底结束对《CS:GO》的支持

    在今年3月份的时候,V社官宣《CS2》正在内测。今年5月份,在法国巴黎举行的《CS:GO》的最后一场Major赛事正式落幕。目前老版本的《CS:GO》仍然可以游玩,只不过没有官方匹配功能,2024年1月1日之后也不再维护,后续出现问题也不会再解决。