`

响应式设计入门教程

 
阅读更多

现在响应式设计已经非常的流行了,有很多网站都实现了响应式设计。

但是我还是个新手,所以翻译了这篇响应式设计的文章,我理解的响应式设计是指网页的样式可以根据网页浏览器所在设备(电脑,pad,手机)的屏幕大小的不同,自动调节样式,以实现同一个网页在不同尺寸屏幕上都有好的阅读体验。

响应式设计要达到的目的无疑是非常有价值的,那么他是如何实现的呢?

其基本原理是利用css3的媒体查询(Media query)功能,可以根据设备尺寸来加载不同的css样式。下面我们看如何三步实现响应式设计。

第一步: 在页面的head标签内添加meta viewport标签

大多数移动设备的浏览器都可以通过当前屏幕的大小来自适应页面的大小。您可以使用viewport meta标签来重置屏幕的大小。下面的meta标签告诉移动浏览器使用设备的宽度来作为viewport的宽度,不要自动做缩放。

<metaname="viewport"content="width=device-width, initial-scale=1.0">

在ie8和一些老的浏览器中需要引用下面的js文件,来实现媒体查询

<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->

第二步:写html

在这个例子中,我写了一个常见的页面:有header,content,sidebar,footer;其中header的高度是固定的180px,content区域是600px,边栏是300px。

如下图所示:

responsive design page structure

第三步: 响应式设计的关键css3媒体查询

css3的媒体查询是响应式设计能实现的关键因素。你可以使用媒体查询的特性,来根据设备的宽度,让页面使用不同的css块。

如下的css规则会在屏幕宽度小于等于980时起作用:

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

你可以看到在上面的css文件中我将元素的宽度设置成了百分比,这样每块的宽度就都可以根据屏幕的宽度来自适应了。

下面的css样式定义适用于屏幕宽度小于等于700像素的设备,将#content和#sidebar元素的宽度设置成了auto,float设置成了none,这样就可以使内容区和边栏区都成了100%宽度,铺满屏幕了

/* for 700px or less */

@media screen and(max-width:700px){

#content {
        width:auto;float: none;}

#sidebar {
        width:auto;float: none;}

}

对于屏幕尺寸小于480像素的设备,使用下面的css定义:

/* for 480px or less */

@media screen and(max-width:480px){

#header {
        height:auto;}
    h1 {
        font-size:24px;}

#sidebar {
        display: none;}}

可以看出来在屏幕的宽度小于等于480像素的时候,header的高度会变为auto,而h1的字体被设置成了24像素,而边栏sidebar被隐藏掉了。

当然在实际应用中,你可以写出任意多的媒体查询。所有媒体查询css规则可以放在一个css文件中也可以分单独文件来放置。

这篇文章只是简单的介绍了一下响应式设计的原理和基础。希望对你有用。

完整的示例html代码如下:

<!doctype html><htmllang="en"><head><metacharset="utf-8">
<!-- viewport meta to reset iPhone inital scale -->
<meta name="viewport"content="width=device-width, initial-scale=1.0">

<title>Demo: Responsive Design in 3 Steps</title>

<!-- css3-mediaqueries.js for IE8 or older -->

<!--[if lt IE 9]>
    <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
<![endif]-->

<style type="text/css">

body {
    font:1em/150%Arial,Helvetica, sans-serif;}
a {
    color:#669;
    text-decoration: none;}
a:hover {
    text-decoration: underline;}
h1 {
    font: bold 36px/100%Arial,Helvetica, sans-serif;}

/************************************************************************************
STRUCTURE
*************************************************************************************/

#pagewrap {
    padding:5px;
    width:960px;
    margin:20pxauto;}#header {
    height:180px;}#content {
    width:600px;float: left;}#sidebar {
    width:300px;float: right;}#footer {
    clear: both;}

/************************************************************************************
MEDIA QUERIES
*************************************************************************************
//* for 980px or less */

@media screen and(max-width:980px){#pagewrap {
        width:94%;}#content {
        width:65%;}#sidebar {
        width:30%;}}/* for 700px or less */

@media screen and(max-width:700px){#content {
        width:auto;float: none;}#sidebar {
        width:auto;float: none;}}

/* for 480px or less */

@media screen and(max-width:480px){#header {
        height:auto;}
    h1 {
        font-size:24px;}

#sidebar {
        display: none;}}

/* border & guideline (you can ignore these) */

#content {
    background:#f8f8f8;}

#sidebar {
    background:#f0efef;}

#header, #content, #sidebar {
    margin-bottom:5px;}

#pagewrap, #header, #content, #sidebar, #footer {
    border: solid 1px#ccc;}
</style>

</head><body><divid="pagewrap"><divid="header"><h1>Header</h1><p>Tutorial by <ahref="http://webdesignerwall.com">Web Designer Wall</a> (read <ahref="http://webdesignerwall.com/tutorials/responsive-design-in-3-steps">related article</a>)</p></div><divid="content"><h2>Content</h2><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p><p>text</p></div><divid="sidebar"><h3>Sidebar</h3><p>text</p><p>text</p></div><divid="footer"><h4>Footer</h4></div></div></body></html>

本文是翻译文章,翻译自: http://webdesignerwall.com/tutorials/responsive-design-in-3-steps

分享到:
评论

相关推荐

    响应式布局入门教程

    本入门教程旨在帮助初学者快速理解并掌握响应式设计的基本原理和实践技巧。 响应式布局的核心理念源于2010年Ethan Marcotte提出的“Responsive Web Design”概念,它主要包含三个关键要素:弹性网格布局、媒体查询...

    响应式网页开发基础教程(jQuery+Bootstrap)-源代码.rar

    6. **响应式设计原理**:理解媒体查询@media,它是CSS3中用于根据设备特性应用不同样式的关键工具。通过媒体查询,我们可以为不同的屏幕尺寸定义不同的样式规则。 7. **jQuery与Bootstrap的整合**:学习如何利用...

    响应式网页编写经典入门教程(老外写的).zip

    1. **基础概念**:解释响应式设计的核心理念,包括“流动网格”(Flexible Grid)、“弹性图片”(Flexible Images)和“媒体查询”(Media Queries)三大基石。 2. **流动网格**:介绍如何创建基于百分比的布局,...

    响应式Web开发项目教程 第一章

    2. **流体布局**:流体布局是响应式设计的基础,它使用百分比而不是固定像素来定义元素的宽度,使得页面可以随浏览器窗口大小的变化而自动调整。 3. **媒体查询**:CSS3中的媒体查询是实现响应式设计的关键工具。...

    《响应式Web开发项目教程(HTML5+CSS3+Bootstrap)》-教学PPT.rar

    1. 响应式设计基础:解释响应式设计的概念,展示不同设备的屏幕尺寸和分辨率,以及如何通过流体布局和媒体查询实现响应式。 2. HTML5新特性:深入讲解HTML5的新标签、API和多媒体元素的用法,以及如何提升网页性能和...

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)

    CSS3还引入了媒体查询(Media Queries),这是响应式设计的核心,允许开发者根据设备视口大小应用不同的样式。除此之外,CSS3还支持动画和过渡效果,以及多种新的背景和边框属性,如渐变、阴影和圆角。 Bootstrap是...

    响应式网站模板

    然而,许多在线教程和资源可以帮助初学者理解并掌握响应式设计的基本概念和技巧。 总之,响应式网站模板结合了HTML5、CSS3和JavaScript的技术,以适应多设备浏览,提供统一的用户体验。通过灵活的布局和适应性设计...

    响应式Web开发项目教程(HTML5+CSS3+Bootstrap)第2版 第1章 HTML5+CSS3初体验 课后练习

    响应式 Web 开发项目教程(HTML5+CSS3+Bootstrap)第 2 版第 1 章 HTML5+CSS3 初体验课后练习 本资源涉及到的知识点包括 HTML5、CSS3、Bootstrap 等响应式 Web 开发技术。下面是对每个知识点的详细解释: 一、 ...

    响应式Web开发项目教程 第二章

    JavaScript也是响应式设计中的关键组件,特别是在交互性和动态内容方面。例如,通过监听窗口的`resize`事件,我们可以实时调整元素的样式,以适应屏幕尺寸的变化。另外,框架和库如jQuery、React、Vue等提供了丰富的...

    (完整版)《HTML5+CSS3网站设计基础教程》_教学大纲.pdf

    HTML5+CSS3 网站设计基础教程知识点总结 《HTML5+CSS3 网站设计基础教程》是面向计算机相关专业的一门专业基础课,涉及网页基础、HTML标记、CSS样式、网页布局、变形与动画等内容。本课程旨在让学生了解网页开发...

    响应式静态html

    在响应式设计中,HTML(超文本标记语言)是构建网页的基础,它与CSS(层叠样式表)和JavaScript一起工作,创建出适应不同设备的页面。HTML5是目前广泛使用的版本,提供了更多语义化的元素,有助于提高网页的可读性...

    响应式装修装饰设计公司网站源码pbootcms模板{内附安装教程}

    4、附带测试数据、安装教程、入门教程、安全及备份教程。5、后台直接修改联系方式、传真、邮箱、地址等,修改更加方便。 配置需求:语言程序:PHP + SQLite;前端规范:html+css+jQuery;设备支持:PC端+手机端。 ...

    响应式布局入门共4页.pdf.zip

    总的来说,这个压缩包文件提供的内容虽然简短,但涵盖了响应式布局的基础知识,对于想要了解或开始学习响应式设计的人来说是一个很好的起点。通过理解并应用这些概念和技术,开发者可以创建出更适应多设备环境的现代...

    html5简洁响应式办公软件教程文章资讯博客网站模板

    响应式设计(Responsive Web Design)是一种网页设计方法,它使网站能够在不同的设备上,包括桌面电脑、平板电脑和智能手机,提供良好的用户体验。HTML5中的媒体查询(Media Queries)和弹性网格布局(Flexible Grid...

    HTML5响应式网页设计-题库.pdf

    - W3Schools:内容丰富,涵盖了HTML5和CSS3响应式设计的基础知识和高级技巧。教程通俗易懂,有许多代码示例,方便初学者上手。 - MDN(Mozilla Developer Network):这是由Mozilla维护的开发者网络,对于HTML5响应...

    HTML5+CSS3网站设计基础教程_动手实践源代码

    5. **CSS3布局**:Flexbox(弹性盒模型)和Grid(网格布局)为复杂网页布局提供了强大的解决方案,使得元素对齐、间距调整和响应式设计变得简单。 6. **CSS3过渡与动画**:通过transition和animation属性可以实现...

    前端进阶:响应式开发与常用框架视频

    1. 响应式设计基础:介绍响应式设计的概念,讲解媒体查询、Flexbox和Grid布局的使用方法。 2. 前端框架概述:阐述React、Vue和Angular的特点,以及它们在实际项目中的应用场景。 3. 框架实现响应式:演示如何在React...

    响应式单位商会协会网站源码 勘察设计院蓝色网站pbootcms模板548

    (自适应手机端)响应式单位商会协会网站源码 勘察设计院蓝色网站pbootcms模板 安装教程:www.diyiyuanma.cn/100.html 快速收录推送工具:www.diyiyuanma.cn/122.html 效果演示:diyiyuanma.lxsjfx.cn/a/004/548 ...

    HTML5+CSS3网站设计基础教程(第2版)_源代码.zip

    3. 响应式设计:了解如何利用媒体查询(`@media query`)进行跨设备的网页适配。 4. Flexbox和Grid布局:探索这两种强大的布局系统,创建复杂的响应式网页布局。 5. 动画和过渡效果:学习如何通过CSS3的`transition`...

    响应式web设计HTML5和css3实战(第二版)code

    这不仅有助于初学者入门,也为有经验的开发者提供了宝贵的参考资料,推动他们在响应式设计领域不断进步。 总之,响应式Web设计HTML5和CSS3实战(第二版)code提供了丰富的实践材料,是学习和掌握现代Web开发技术的...

Global site tag (gtag.js) - Google Analytics