普通网页怎么改成响应式布局
来源:互联网 发布:新mac设置搜狗输入法 编辑:程序博客网 时间:2024/05/16 20:27
<span style="font-family: verdana, 'ms song', Arial, Helvetica, sans-serif;"></span><span style="background-color: rgb(250, 247, 239); font-family: verdana, 'ms song', Arial, Helvetica, sans-serif;">响应式的网站是指它能够适应客户端的屏幕尺寸,自动响应客户端尺寸变化。在这篇文章中,我将向您展示如何通过3个简单的步骤轻松地使网站变成响应式(Responsive)</span>
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
);
}
}
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的,但是对于响应式网站来说应该有响应式的字体。事实上,一个响应式的字体大小应关联它的父容器的宽度,这样它才可以适应客户端的屏幕。
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 单元,所以不要忘了实现一个替代。
这就是今天的所有内容了,希望你会喜欢这个教程!
- 普通网页怎么改成响应式布局
- 网页 布局响应式设计
- 自适应网页(响应式布局)+弹性布局
- bootstrap-sass 响应式网页布局
- 三步实现响应式网页布局
- 网页设计之响应式布局
- 响应式布局或自适应网页设计
- 原生css初级网页响应式布局
- 关于cc3200静态库怎么改成普通.c 文件
- 自适应网页设计 响应式布局 两篇文章
- HTML网页布局:静态、自适应、流式、响应式
- 网页布局之响应式设计简明指南
- 响应式网页设计--登陆窗口布局的实现
- Dreamweaver 怎么网页布局 div css布局
- [响应式布局]响应式布局技巧
- 响应式布局入门
- 响应式布局原理
- 响应式布局入门
- SOASTA如何借助UCloud在中国开展云测试
- LINUX程序设计 - 第一章 入门知识
- hdu 2204 Eddy's爱好 (数论,容斥原理)
- 并查集
- 《C Primer Plus(第五版)中文版》第6章第1至16题
- 普通网页怎么改成响应式布局
- C++primer 学习(二)变量和基本类型
- Android中Intent的各种常见作用
- a^b
- hdoj 2717 Catch That Cow
- PHP 官方CURL 详解
- 黑马程序员——JAVA学习笔记——反射机制(上)
- dovecot 2.0*listen错误
- jq deferred