用CSS3的Media Queries进行相应式网页设计(Responsive Web Design)

0

CSS3

所谓的相应式网页设计主要是透过CSS设置,让网页版面的宽度,依照设计者的设置,以百分比的形式来呈现,所以页面宽度的显示是根据使用者的浏览设备解析度作输出,因此可避免浏览器的横向卷轴出现。(又称为Adaptive Design)

液态排版 vs 固定宽度排版

液态排版的对比设计方式就叫「固定宽度(fixed-width)排版」,传统上来说,比起液态方式,固定方式通常较受平面及视觉设计师欢迎,因为他们较习惯先决定整体版面输出的范围,而液态方式则需要费多一点心力去考量很多不同解析度的情况,虽然比较费工,但却是互动介面不可或缺的重要设计。

应用Media Queries技巧

本篇要介绍的技巧,算是利用CSS3来简化及强化Liquid Layout的设计活动,因为是针对解析度进行的排版设计,国外也有称之为dynamic resolution dependent layout,不过更多是干脆以达成此效果的功能名称–CSS3 media queries来介绍这种技巧。

可以先欣赏一下使用Media Queries制作responsive design的网站:
Hicks Design
Colly.com
A List Apart
Gallery!

注:开启上述网站后,试着调整一下浏览器的宽度,然后注意观察上面元素的变化。

CSS3 Media Queries语法介绍

Max Width

若浏览区域的宽度小于600像素,则下方的CSS描述就会立即被使用:

@media screen and (max-width: 600px)
{
  .class
  {
    background: #ccc;
  }
}

也可以把要使用的描述独立成外部文件:

<link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />

Min Width

若浏览区域的宽度大于900像素,则下方的CSS描述就会立即被使用:

@media screen and (min-width: 900px)
{
  .class
  {
    background: #666;
  }
}

Device Width

若浏览设备的可视范围最大为480px,则下方的CSS描述就会立即被使用:(注:智能手机目前常见最大宽度为 480px,如iPhone or Android Phone)

@media screen and (max-device-width: 480px)
{
  .class
  {
    background: #000;
  }
}

针对iPhone4提供专用的css设置:

<link rel="stylesheet" media="only screen and (-webkit-min-device-pixel-ratio: 2)" type="text/css" href="iphone4.css" />

针对iPad的Portrait Mode(竖屏)与Landscape Mode(横屏)两种浏览模式给予不同的css设置:

<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css"> 
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">

IE8之前的版本不支持怎么办?

有三种办法,请参考:
http://css-tricks.com/resolution-specific-stylesheets/
http://www.themaninblue.com/experiment/ResolutionLayout/

参考资料:mrmu.com.tw

发表评论

您的邮箱不会公开,当您的评论有新的回复时,会通过您填写的邮箱向您发送评论内容。 必填字段 *

为何看不到我发布的评论?

正在提交, 请稍候...