当时方位:主页 > 新闻中心 > 建站计划
怎样进行呼应式网站规划责任编辑 :李飞    文章来历 :188bet.com(www.dingjiangslt5.com)    发布时刻 :2014-08-07    阅览次数:1428

为什么要运用呼应式规划?

咱们想让咱们的网站经过呼应用户的行为、设备的屏幕巨细和屏幕方向,然后在一切设备上都能用。

一个碎片化的国际

截止2013年,有不计其数种不同的设备在阅读网页,所以咱们不可能规划出习惯一切屏幕巨细的网页。相反,咱们必须得选用一种愈加流通的方法去规划。

移动优先

最近一个比较火的词叫移动优先。它的意思是,先为移动端规划款式,然后再依据需求去优化更大屏幕的款式。换句话说,假设你把移动端款式当成网站的默许款式,且今后不用去优化它,一步到位。那就更省劲了!

“假定默许运用一个灵敏但简略的布局,你确实能够适配各种阅读器,但这还不算是彻底做到了呼应式布局。所以当咱们议论「移动优先」,实际上是在说「渐进增强」。” —Ethan Marcotte

用 Min-width 进行媒体查询( Media Queries )

现在来介绍一种特别的布局方法。 经过 min-width 来界定不同屏幕该怎样布局。它能就近检测出不同设备的屏幕巨细(即 media queries,可直译为媒体查询),比在款式表结尾或一个独自文件中处理更简略。

/* Small screens (default) */ html { font-size: 100%; }  /* Medium screens (640px) */ @media (min-width: 40rem) {   html { font-size: 112%; } }  /* Large screens (1024px) */ @media (min-width: 64rem) {   html { font-size: 120%; } }

过程

1. 不是一切阅读器生而平等

同一份 CSS,不同阅读器烘托出来的作用不一样。为了防止呈现这种状况,你能够运用相似 Normalize.css 这种更好的 CSS 来协助你完成跨阅读器显现。当然,你要把这份CSS放在你款式表最前面。

<link rel="stylesheet" href="/css/normalize.css"> <link rel="stylesheet" href="/css/grid.css">

2. 在 Viewport 里加 Meta 标签

在你 HTML 的 head 代码里增加 Meta 标签。它能够使 media queries 在不同设备上起作用

<meta name="viewport" content="width=device-width, initial-scale=1">

3. CSS 盒模型

在 CSS 文件最顶端设置 box-sizing。运用 * 通用挑选器使其应用到页面的每个元素上。

*, *:before, *:after {   -moz-box-sizing: border-box;   -webkit-box-sizing: border-box;   box-sizing: border-box; }

4. 创立容器

一个容器将包括页面一切标签,并操控页面最大宽度. 运用容器,让咱们的呼应式规划更进了一步!

.container {   margin: 0 auto;   max-width: 48rem;   width: 90%; }
<div class="container">   <!-- Your Content --> </div>

5. 创立列

在移动优先里,列默许均是 block 等级的(能够占满整行的宽度)。不需求额定的款式!

<div class="container">   <div class="column">     <!-- Your Content -->   </div> </div>

6. 创立列宽

在大屏中,用 float: left 将列水平摆放。然后运用 padding 设置相邻两列之间的空隙,遗忘传统的margin吧。

<div class="container">   <div class="row">     <div class="column half">       <!-- Your Content -->     </div>     <div class="column half">       <!-- Your Content -->     </div>   </div> </div>
@media (min-width: 40rem) {   .column {     float: left;     padding-left: 1rem;     padding-right: 1rem;   }    .column.full { width: 100%; }   .column.two-thirds { width: 66.7%; }   .column.half { width: 50%; }   .column.third { width: 33.3%; }   .column.fourth { width: 24.95%; }   .column.flow-opposite { float: right; } }

7. 创立行

列应该包裹在行内,以防止其他元素堆积在其周围形成布局紊乱。不然就会呈现广为人知的 clearing 问题。呈现之后能够运用由 Nicolas Gallagher 创造的 clearfix处理。

<div class="container">   <div class="row clearfix">     <div class="column half">       <!-- Your Content -->     </div>     <div class="column half">       <!-- Your Content -->     </div>   </div>    <div class="row clearfix">     <div class="column half">       <!-- Your Content -->     </div>     <div class="column half">       <!-- Your Content -->     </div>   </div> </div>
.clearfix:before, .clearfix:after {   content: " ";   display: table; }  .clearfix:after {   clear: both; }  .clearfix {   *zoom: 1; }

相对流( Flow Opposite )

给你想让它在移动端优先显现,而在大屏幕中右侧显现的列,增加 .flow-opposite类。

<div class="container">   <div class="row clearfix">     <div class="column half flow-opposite">       <!-- Your Content -->     </div>     <div class="column half">       <!-- Your Content -->     </div>   </div> </div>
@media (min-width: 40rem) {   .column.flow-opposite { float: right; } }

文章转载请保存网址:http://www.dingjiangslt5.com/news/solutions/1001.html