Responsive响应式设计

在IE6-8中完全是不支持CSS3 Media Queries的。那么为了让IE6-8支持,我们就很有必要的在IE9以下的浏览器中加上media-queries.js或者respond.js脚本:

<!--[if lt IE 9]>
<script src="html5shiv.min.js"></script>
<script src="respond.min.js"></script>
<![endif]-->

@media screen and (max-width:980px){
      #pagewrap {
        width: 94%;
      }
      #content {
        width: 65%;
      }
      #sidebar {
        width: 30%;
      }
    }  

通常我们进行列布局,都需要在第一列添加一个类名“first”,在最后一列添加一个类名“last”,主要用来清除他们之间的margin,(有关这方面的介绍可以详细阅读为之写的《CSS解决方案》中的《项目列表解决方安》,这里详细介绍了类似于列布局的相关方法,或者点击这里了解如何避免重复列末尾的Margin。)而且还通过添加类名“clearfix”来清除浮动。这些都是比较古老的解决方案了,今天我们一起来看一个新方案,就是使用CSS3的伪元素选择器“nth-of-type”来实现一个简单的Responsive列布局效果。Nick La使用这种方法制作了一些WordPress主题模板。制作这些模板中,他没有使用“first”和“last”类名就实现了多列在不同设备下都能自适应,换句话说,他就是能实现四列、三列、两列等等之间的切换。

使用nth-of-type

既然添加类名的方法做不到,我们就需要去思考别的方案,所幸的是,CSS3提供了一个先进的选择器“nth-of-type”,我们可以使用":nth-of-type(An+B)"表达来代替“first”和“last”类名清除相对应的margin值。例如:

  1. .grid4.col:nth-of-type(4n+1)=四列布局中的第一个(相当于first类名),也就是说等于在“1,5,9”列上添加类名“first”
  2. .grid3.col:nth-of-type(3n+1)=三列布局中的第一个(相当于first类名),也就是说等于“1,4,7”列上添加类名“first”
  3. .grid2.col:nth-of-type(2n+1)=两列布局中的第一个(相当于first类名),也就是说等于“1,3,5”列上添加类名“first”
.grid4 .col:nth-of-type(4n+1),
.grid3 .col:nth-of-type(3n+1),
.grid2 .col:nth-of-type(2n+1) {
  margin-left: 0;
  clear: left;
}

IE的兼容性

Media Queries和“nth-of-type”都不支持IE8以及其以下版本。你可以使用selectivizr.js脚本来提供nth-of-type在IE下的兼容问题和使用respond.js来做Media Queries在IE下的兼容。不过遗憾的是这两个脚本不能很好的在一起运行(比如说,nth-of-type无法在Media Queries内运行)。也就是说在IE底下无法实现Responsive列布局的四列向三列或两列转换。
时间: 2024-11-05 23:30:23

Responsive响应式设计的相关文章

Responsive Design ------响应式设计

什么是响应式设计呢?维基百科是这样对响应式作的描述:“Responsive设计简单的称为RWD,是精心提供 各种设备都能浏览网页的一种设计方法,RWD能让你的网页在不同的设备中展现不同的设计风格.”从这一点描述来说,RWD不是流体布局,也不是网格布局, 而是一种独特的网页设计方法. 响应式设计要考虑元素布局的秩序,而且还需要做到“有求必应”,那就需要满足以下三个条件:网站必须建立灵活的网格基础:引用到网站的图片必须是可伸缩的:不同的显示风格,需要在Media Queries上写不同的样式. 要想

Responsive设计 (响应式设计)

一.什么是响应式设计 维基百科是这样对响应式作的描述:“Responsive设计简单的称为RWD,是精心提供各种设备都能浏览网页的一种设计方法,RWD能让你的网页在不同的设备中展现不同的设计风格.” 响应式布局设计要考虑到元素布局的秩序,需要满足三个条件: 网站必须建立在灵活的流体网格基础上 流体网格,这种网格设计将每个格子使用百分比单位来控制网格大小,这样做让网格大小随时根据屏幕尺寸大小做出相对应的比例缩放 引用到网站的图片必须是可伸缩的 弹性图片指的是 不给图片设置固定尺寸,而是根据流体网格

学习响应式设计(Learning Responsive Web Design)完整版PDF

想要为平板.手机.笔记本.大屏幕设备,甚至可穿戴设备提供最优的用户体验?那就学习响应式设计吧.这是一本内容特别全面.讲解非常透彻的入门书.特别地,通过这本书不仅能迅速掌握响应式Web设计的基本原理,还能够从头到尾了解响应式设计的工作流程:从项目启动开始,到项目最终上线为止. 只要你的工作与创建.改造或者升级网站有关系,都应该看看这本书.换句话说,不仅是前端开发人员,设计师.产品经理.项目经理,甚至后端开发人员也可以通过本书掌握响应式设计的精髓所在.这本书基于响应式设计的前沿技术和社区经验写成,汇

响应式设计(一)

一.响应式设计(一)响应式设计初识,一个小小的demo,用来理解什么是响应式 今天的一个小小的demo,让我重新的认识了什么是响应式网页设计.我之前一直以为主要一个网页在不同的设备上浏览,网页可以自适应设备的屏幕大小,而不发生结构变形. 其实我觉得更准确去说是:根据不同的用户设备环境,页面可以做出不同的响应动作, 例如:在pc端浏览一行图片,看到的个数是4个,用手机看到的是2个图片,不同用户的设备环境,做出了不同的响应动作. 二.百度百科给出的概念: 响应式Web设计(Responsive We

响应式设计与自适应设计

响应式设计与自适应设计 相信从事前端页面设计的人都知道,页面呈现的效果及用户体验是非常重要的.当今社会移动设备的使用已超过了pc端,面对不同分辨率的设备,怎样做到页面体验的效果一样呢?这就成了最头疼的事情. 下面我们来看看响应式设计与自适应设计两者用法: 响应式Web设计(Responsive Web Design) :主要利用CSS3的媒介查询(Media Query)和Viewport来解决问题.通过媒介查询的设置,根据屏幕宽度.屏幕方向等各个属性来加载不同场景下不同的CSS文件来渲染页面的

自适应设计与响应式设计

目前非常流行自适应设计与响应式设计,而且经常让人混淆,自适应设计不应与自适应布局混为一谈,它们是完全不一样的概念. 在这先说明下这两者的异同: 自从移动终端飞速发展以来,各种各样的机型突飞猛进,很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone/iPad版本.这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站有多个portal(入口),会大大增加架构设计的复杂度. 于是,很早就有人设想,能不能"一次设计,普遍适用"

响应式设计的现状与趋势

从2012年开始到2014年,各大家对Web设计的趋势预测中,都提到响应式设计:2015年网页设计趋势预测中,响应式仍在继续.这个经历了几年依然大热的响应式,在过去的几年里,快速巩固了自己的地位,并掀起了一股网页设计新标准的浪潮.这里本人基于一些资料文献及自己的陋见,谈谈响应式设计的一些现状和趋势. 源起 2010年5月,伊桑.马科特(Ethan Marcotte)在"A List Apart"写了一篇开创性的文章(题为"Responsive Web Design"

#Responsive# 响应式图片//www.w3cplus.com/blog/tags/509.html 整个系列完结。

第一篇://www.w3cplus.com/responsive/responsive-images-101-definitions.html 第二篇://www.w3cplus.com/responsive/responsive-images-101-part-2-img-required.html 第三篇://www.w3cplus.com/responsive/responsive-images-101-part-3-srcset-display-density.html 第四篇://ww

关于响应式设计与服务端性能

服务器端层 智能响应策略的最后一个选择是服务器. 服务器端功能检测和决策不是 移动网络的新鲜玩意.类似 WURFL 和Device Atlas的库在市场上有好多年,响应式设计和服务器组件的混合也众所周知.有时被称为是响应式设计和服务器端组件(RESS),有时又叫自适应设计,这 提高了响应式设计的速度和可用性,同时每一个服务器端都保持一个代码库. 很遗憾的是.这些技术这几年并没有什么突破性的发展.只能在博客和 杂志里看到一些开发者对"RESS"."响应式"."