让你的网站变成响应式的3个简单步骤
让你的网站变成响应式的3个简单步骤
如今,一个网站只在桌面屏幕上好看是远远不够的,同时也要在平板电脑和智能手机中能够良好呈现。响应式的网站是指它能够适应客户端的屏幕尺寸,自动响应客户端尺寸变化。在这篇文章中,我将向您展示如何通过3个简单的步骤轻松地使网站变成响应式(Responsive)。
您可能感兴趣的相关文章
2012年排名前20位的 CSS 网站作品 25佳优秀的流体和响应式布局网页设计 2012年最佳 Web 前端开发工具和框架 25个国外优秀的电子商务网站设计案例 85个很优秀的响应式网页设计作品范例
1 – 布局
当创建一个响应式网站,或让现有的网站变成响应式的,首先要关注的元素的布局。我在建立响应式的网站,总是先创建一个非响应的布局,页面宽度固定大小。如果非响应版本完成得非常不错,我再添加媒体查询( Media Queries )和响应式代码。这种操作方式更容易实现响应式特性,在同一时间专注于一个任务。
当你已经完成了无响应的网站,做的第一件事是在你的 HTML 页面,粘贴下面的代码到<head>和</head>标签之间。这将设置屏幕按1:1的尺寸显示,在 iPhone 和其他智能手机的浏览器提供网站全视图浏览,并禁止用户缩放页面。
< meta name = "viewport" content = "width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" >
< meta http-equiv = "X-UA-Compatible" content = "IE=edge,chrome=1" >
< meta name = "HandheldFriendly" content = "true" >
现在是时候添加一些媒体查询了。根据 W3C 网站,媒体查询由媒体类型和零个或多个媒体查询的条件表达式组成。通过使用媒体查询,外观呈现可以针对特定范围内的输出设备,而不需要改变内容本身。换句话说,媒体查询让您的网站在各种各种显示器上看起来都很好,从小的智能手机到大的电脑屏幕等等。
媒体查询取决于你的网站布局,所以对我来说为您提供一个现成可以使用的代码片段有点困难。但是,下面的代码对于大多数网站都是一个很好的起点。在这个例子中,#primary 是主要内容区域,#secondary 是侧栏。
从代码中你可以看到,我定义了两种规格:首先有一个最大宽度为1060px,为平板电脑优化的横向显示。#primary 占在其父容器宽度的67%,#senondary 占30%,再加上3%的左外边距。 第二个规格是用于平板电脑和更小的屏幕尺寸。
由于智能手机的屏幕尺寸小,我决定给 #primary 设置100%的宽度,#secondary 也设置100%的宽度,他将在 #primary 下面。 正如我已经说过的,你可能必须要对这段代码位进行修改才能适应您的网站的具体需求。
/* Tablet Landscape */
@media screen and ( max-width : 1060px ) {
#primary { width : 67% ; }
#secondary { width : 30% ; margin-left : 3% ;}
}
/* Tabled Portrait */
@media screen and ( max-width : 768px ) {
#primary { width : 100% ; }
#secondary { width : 100% ; margin : 0 ; border : none ; }
}
完成以后,让我们看看你的布局是如何响应的。要做到这一点,我用这 Matt Kersley 创建的一款非常的 响应式测试工具 。
2 – 媒体
一个响应式的布局是实现响应网站的第一步。现在,让我们把注意力集中在另外一个现代化网站非常重要的方面:媒体,如视频或图像。 下面的 CSS 代码将确保您的图像将永远不会大于他们的父容器,代码非常简单,适用于大多数网站。请注意,IE6 等旧的浏览器不支持 max-width 指令。
img { max-width : 100% ; }
虽然上述技术是有效的,有时你可能需要有更多的图像控制权,例如根据客户端的显示大小,显示不同的图像。
这是由 Nicolas Gallagher 发明的好方法。让我们看看 HTML:
< img src = "image.jpg" data-src-600px = "image-600px.jpg" data-src-800px = "image-800px.jpg" alt = "" >
正如你可以看到,我们使用 data-* 属性来存储替换图像的 URL。现在,让我们使用强大的 CSS3 来为匹配 min-device-width 条件的媒体指定替换图像:
@media (min-device- width : 600px ) {
img[data-src -600px ] {
content : attr (data-src -600px , url );
}
}
@media (min-device- width : 800px ) {
img[data-src -800px ] {
content : attr (data-src -800px , url );
}
}
令人印象深刻,是不是?现在,让我们来看看另一个在今天的网站中非常重要的媒体——视频。由于大多数网站使用的视频来自第三方网站,我决定把重点放在 Nick La 的弹性视频技术,这种技术可让您嵌入的响应式的视频。
HTML:
< div class = "video-container" >
< iframe src = " http://player.vimeo.com/video/6284199?title=0&byline=0&portrait=0 " width = "800" height = "450" frameborder = "0" ></ iframe >
</ div >
CSS:
.video-container {
position : relative ;
padding-bottom : 56.25% ;
padding-top : 30px ;
height : 0 ;
overflow : hidden ;
}
.video-container iframe,
.video-container object,
.video-container embed {
position : absolute ;
top : 0 ;
left : 0 ;
width : 100% ;
height : 100% ;
}
在你的网站上应用了这些代码后,嵌入的视频也是响应式(Responsive)的了。
3 – 字体
本教程的最后一步绝对非常重要,但往往被网站开发人员忽视——字体。到现在为止,大多数开发人员(包括我自己)使用像素来定义字体的大小。虽然像素在普通网站使用是OK的,但是对于响应式网站来说应该有响应式的字体。事实上,一个响应式的字体大小应关联它的父容器的宽度,这样它才可以适应客户端的屏幕。
CSS3 规范引入了一个新的单位叫 rem,和 em 类相似,但相对于 HTML 元素来说, rem 更易于使用。
rem 是相对于 HTML 元素的,不要忘了重置 HTML 的字体大小:
html { font-size : 100% ; }
完成后,您可以定义响应式的字体大小,如下所示:
@media ( min-width : 640px ) { body { font-size : 1 rem;} }
@media ( min-width : 960px ) { body { font-size : 1.2 rem;} }
@media ( min-width : 1100px ) { body { font-size : 1.5 rem;} }
请注意,旧浏览器不支持 rem 单元,所以不要忘了实现一个替代。
这就是今天的所有内容了,希望你会喜欢这个教程!记得推荐和分享啊!
您可能感兴趣的相关文章 带给你灵感的20个漂亮的单页网站作品 20个非常经典的国外单页网站作品示例 分享35个非常漂亮的单页网站设计案例 25个优秀的国外单页网站设计作品欣赏 分享 最新 30个漂亮的单页网站设计案例
原文链接: Making a website responsive in 3 easy steps
编译来源: 梦想天空 ◆ 关注前端开发技术 ◆ 分享网页设计资源
推荐阅读 ◆ 最受欢迎的文章 Web 前端工程师和设计师必读精华文章推荐 2013年最值得大家关注的网页设计流行趋势 分享10套精美的免费网站后台管理系统模板 太有才了!史上最有创意的404页面设计集锦 8个非常惊艳的 HTML5 和 JavaScript 特效 35款特别精致的 HTML5 和 CSS3 网页模板 经典网页设计:超炫的动画效果单页网站设计 60款值得珍藏的 jQuery 幻灯片演示和下载
分享到: 新浪微博 QQ空间 腾讯微博 人人网 开心网 豆瓣 3
作者: 山边小溪
出处: jizhula.com 记住啦:)
欢迎任何形式的转载,但请务必注明出处。
分类: CSS3 , 网页设计 , 原创翻译
标签: 网页设计 , 响应式设计 , Responsive Design
作者: Leo_wl
出处: http://www.cnblogs.com/Leo_wl/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
版权信息查看更多关于让你的网站变成响应式的3个简单步骤的详细内容...