CSS之Responsive设计和CSS3 Media Queries的结合

随着高科技的发展,现在我们浏览网页不在局限于PC机上了,用户可使用上网的设备是越来越多的品种:手机、小笔记本、iPad、Playbook,以及PC机,而且PC机的显展大小各不一致。这样一来不同的屏幕分辨率范围就产生了:320px至2560px不等。换句话说,以前我们那种固定布局的设计所受的局限性就越来越大了。为了能让我们制作出来的Web页面能适应这些设置,就需要一个适应性的设计,需要能自动调整,以适应所有显示分辨率和设备的布局

目标效果

在开始之前,我们先来看一个DEMO效果,大家慢慢缩小你的显屏,你将会看到不同的布局效果来适应你的显屏大小

这里写图片描述

概述

对于显屏大于1024px宽度来说,我们常常是将页面的容器设置为980px。其实我们可以使用CSS3的Media Queries来检查浏览器可视窗口的大小。当显屏的可视窗口小于980px时,我们布局不在采用固定宽度而将采用流体宽度布局来替代;如果显屏可视窗口的宽度小于650px时,我们主内容宽度和边栏宽度都将变成全屏,并一列显示出来

这里写图片描述

1. html

这里写图片描述

2. css

接下来我们主要来看一下布局上的主要样式,细节大家回头看文件慢慢品味。在这里我们在页面的容器“div#pagetwrap”设置了一个固定宽度“980px”,并且让他居中显示;在“div#header”为页头设置了一个固定高度“160px”,并且将主内容“div#content”给了一个“600px”的宽度左浮动,边栏“div#sidebar”宽度设置为“280px”,并且将其设置为一个右浮动。主要代码如下所示

这里写图片描述

这样的DEMO效果是:不管怎么样缩放浏览器,宽度都是定死的980px,因为到这里我们还没有使用到css3 Media query

这里写图片描述

这里写图片描述

3. 下面我们开始导入css3 media query:

3.1 导入Media Queries的JavaScript脚本

Media Queries是CSS3的一个属性,那么他在IE6-8下,我不说大家都懂的,为了解决能在IE6-8下运行,就需要导入一个css3-mediaqueries.js的javaScript的脚本文件

这里写图片描述

3.2 导入Media Queries CSS样式文件

3.3 显屏可视化窗口小于980px(流体布局)

前面也说过当显屏可视化窗口小于980px时,我们将使用流体布局来替代固定布局。那么将在流体布局中使用下面几个规则

- div#pagewrap”重设宽度为95%

- div#content”重设宽度为60%

- div#sidebar”重设宽度为30%

这里写图片描述

请注意此时仅仅是将固定布局中的固定宽度替换成了百分比宽度,而原来固定宽度中的左右浮动仍然是存在的

3.4 显屏窗口小于650px使用一列布局

上面我们实现了两种效果,接下来我们来看显屏可视化窗口小于650px时,将页面的布局改成一列布局

- 页头:将页面头部的固定高度设置为自动(取消了原来的定高)

- searchform重新改变定位位置

- 主菜单的position重为static

- logo和网站口号也将position改回static

- 主内容的宽度设置为auto,并取消浮动

- sidebar的宽度设置为100%,并取消浮动

这里写图片描述

3.5 显屏可视化窗口小于480px(智能手机布局)

- HTML:禁用文字大小调整。默认情况之下,iPhone的文字大小是可以缩放的,我们可以在html加上一个“-webkit-text-size-adjust: none;”来禁止其缩放

- 主菜单的字体大小重置为90%

这里写图片描述

3.6 灵活的缩放图片

这里涉及到一个图片缩放的问题,也就是说图片也要能跟随你的显屏大小,成比例的缩放。那么实现这样的效果方法还是很简单的,你只要在你的img标签中加入

这里写图片描述

由于max-width在IE的某些版本中无法识别,为了兼容这些浏览器,可以考虑这样使用

这里写图片描述

3.7 灵活的嵌入式视频

为了使嵌入式的视频灵活,我们也可以根据上面的方法来使用,但对于embed元素在safari下的不支持max-width属性,那么我们可以改用下面的方法来替代

这里写图片描述

注意:

可适应图片

为了让你的图片也能随着显屏大小改变其显示比例,不至于破坏你的布局,你需要给图片应用上可缩放的代码

这里写图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407123.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

服务器性能测试典型工具介绍

服务器性能测试典型工具介绍 众所周知,服务器是整个网络系统和计算平台的核心,许多重要的数据都保存在服务器上,很多网络服务都在服务器上运行,因此服务器性能的好坏决定了整个应用系统的性能。现在市面上不同品牌、不同种类的服务…

select count(*) into 也会报 NO_DATA_FOUND 异常?!

From: http://www.cnblogs.com/howelei/archive/2006/12/21/599268.html 我们知道NO_DATA_FOUND异常情况仅仅被SELECT..INTO语句触发,当该WHERE子句没有找到任何行的时候就会触发它。 解决的方法通常有两种: 一种是我们将查询语句写成游标,这…

CSS之Responsive设计的关键三步

下面我们就通过这篇教程,帮助大家从三个步骤来了解和学习“Responsive”设计 第一步:Meta标签 大家都知道,现在智能手机上浏览web页面会让页面适应屏幕的大小,显示在屏幕上。不过我们可以通过“meta”标签对他进行重置&#xff…

三招快速重新打开被关闭的Chrome标签页

在 Chrome 这样的多标签页浏览器中,不小心关闭一个标签页实在是太常见的事情了。当这种情况发生时,我们有三个办法可以重新打开这个刚刚关闭的页面。 1,打开一个新的标签页,在新标签页页面最下方会有一行 Recently closed 最近关闭…

JS获取当前对象大小以及屏幕分辨率等

这些天用JS调界面,就在网络上搜索了一些关于获取当前窗口对象大小的写法.记录一下~ JS获取大小各参数<script>function getInfo(){var s ""; s " 网页可见区域宽&#xff1a;" document.body.clientWidth; s " 网页可见区域高&#xf…

有了JSON.stringify(),处理json将变得更简单!!

之前处理json 需要拼接json字符串&#xff0c;但是&#xff0c;如果用上JSON.stringify()的话&#xff0c;忘了json语法以没关系了.....1 {2 ViewBag.Title "GetStr";3 }4 5 <html>6 <head>7 <title> </title>8 &l…

CSS之七个高度有效的媒体查询技巧

我们都知道&#xff0c;Media Queries是实现响应式设计的秘密武器。在这篇文章中&#xff0c;将向大家介绍制定高质量的Media Queries需要注意的一些事项 1. 让内容确定断点 很多时候&#xff0c;在响应式设计中&#xff0c;你经常看到的断点值是&#xff1a;320px、480px、7…

vue项目使用.env文件配置全局环境变量

关于文件名&#xff1a;必须以如下方式命名&#xff0c;不要乱起名&#xff0c;也无需专门手动控制加载哪个文件 .env 全局默认配置文件&#xff0c;不论什么环境都会加载合并 .env.development 开发环境下的配置文件 .env.production 生产环境下的配置文件 关于文件内容&a…

在HTML网页中使用ActiveX控件

From: http://blog.163.com/haizai219126/blog/static/4441255520097264447968/ 1. 摘要&#xff1a; 在企业应用中&#xff0c;为了实现一些特殊的功能&#xff0c;如播放自有协议的视频&#xff0c;我们需要在传统的HTML网页中插入ActiveX控件&#xff0c;由ActiveX控件来满足…

CSS之深入理解 flex 布局以及计算

起因&#xff1a;对于Flex布局&#xff0c;阅读了大漠老师和其他老师写的文章后&#xff0c;我还是不太理解Flexbox是如何弹性的计算子级项目的大小以及一些其他细节。在大漠老师的帮助下&#xff0c;我去查阅Flexbox 的 W3C 规范文档 1. 对于flex盒模型的设计期望&#xff1a…

IBM副总裁自述的数据中心简化经验

2008年11月19日&#xff0c;IBM在北京隆重举行了以“开启企业基础架构创新之旅&#xff0c;体验全新企业级数据中心”为主题的IBM 2008企业基础架构创新峰会。51CTO.com记者程鸿应邀参加了此次峰会。在此次峰会上&#xff0c;IBM全新企业级数据中心副总裁Elaine Lennox女士、IB…

vue中有关.env;.env.development,.env.production的相关介绍

1&#xff0c;关于文件名&#xff1a;必须以如下方式命名&#xff0c;不要乱起名&#xff0c;也无需专门手动控制加载哪个文件 .env 全局默认配置文件&#xff0c;不论什么环境都会加载合并 .env.development 开发环境下的配置文件 .env.production 生产环境下的配置文件 2…

CSS之中间固定两边自适应宽度

第一种&#xff1a;浮动布局实现 HTML&#xff1a; 这种方法我利用的就是浮动原理&#xff0c;左右定宽度分别进行左浮动和右浮动&#xff0c;此时主内容列&#xff08;中间列没有定度&#xff09;主会自动插入到左右两列的中间&#xff0c;最要注意的一点是&#xff0c;中间列…

将ocx和DLL文件打包成cab文件,inf的编写

From: http://icrwen.iteye.com/blog/1118766 http://blog.csdn.net/yimiyangguang1314/article/details/6563540 将ocx和DLL文件打包成cab文件&#xff0c;实现IE浏览器在线安装 分类&#xff1a; Windows应用2010-03-25 18:36 2722人阅读 评论(14) 收藏 举报我们打开淘宝等网…

用ADOQuery创建SQL Server数据库,并创建表结构、存储过程和视图

昨天做系统的安装&#xff0c;搞这个搞到头大&#xff0c;现在把总结写下巴。 PS&#xff1a;贴上来代码的缩进就乱掉了 用SQL Server企业管理器导出的SQL文件是不能直接在ADOQuery里用的&#xff0c;因为ADOQuery不支持GO&#xff0c;不支持注释&#xff0c;视图和存储过程的创…

CSS之左定宽度右自适应宽度并且等高布局

一、两列布局&#xff1a;左边固定宽度&#xff0c;右边自适应宽度 方法1&#xff1a;浮动布局 采用的是左边浮动&#xff0c;右边加上一个margin-left值&#xff0c;让他实现左边固定&#xff0c;右边自适应的布局效果 HTML: CSS: 上面这种实现方法最关键之处就是自适应宽度…

Linux scp 免密码 传输文件

SCP的使用 背景介绍 最近项目是集群化部署&#xff08;由 node1&#xff0c;node2&#xff0c;node3 三台 CentOS 7.4 的虚拟机构成&#xff09;。 但是&#xff0c;涉及到跨机器同步文件的问题&#xff0c;想通过写shell文件实现&#xff0c;用 crontab 设置定时任务&#…