让你的网站变成响应式的3个简单步骤
如今,一个网站只在桌面屏幕上好看是远远不够的,同时也要在平板电脑和智能手机中能够良好呈现。响应式的网站是指它能够适应客户端的屏幕尺寸,自动响应客户端尺寸变化。在这篇文章中,我将向您展示如何通过3个简单的步骤轻松地使网站变成响应式(Responsive)。
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">
- /* 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; }
- }
2 、媒体
一个响应式的布局是实现响应网站的第一步。现在,让我们把注意力集中在另外一个现代化网站非常重要的方面:媒体,如视频或图像。 下面的 CSS 代码将确保您的图像将永远不会大于他们的父容器,代码非常简单,适用于大多数网站。请注意,IE6 等旧的浏览器不支持 max-width 指令。
- img { max-width: 100%; }
- <img src="image.jpg" data-src-600px="image-600px.jpg" data-src-800px="image-800px.jpg" >
正如你可以看到,我们使用 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);
- }
- }
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%;
- }
3 – 字体
本教程的最后一步绝对非常重要,但往往被网站开发人员忽视——字体。到现在为止,大多数开发人员(包括我自己)使用像素来定义字体的大小。虽然像素在普通网站使用是OK的,但是对于响应式网站来说应该有响应式的字体。事实上,一个响应式的字体大小应关联它的父容器的宽度,这样它才可以适应客户端的屏幕。
- html { font-size:100%; }
- @media (min-width: 640px) { body {font-size:1rem;} }
- @media (min-width:960px) { body {font-size:1.2rem;} }
- @media (min-width:1100px) { body {font-size:1.5rem;} }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。