让前端飞

初识响应式设计

2017-07-29  本文已影响0人  倀空
学习响应式.png

响应式设计是一种方法,使网站可以在任何尺寸的屏幕上轻松浏览和使用

起初,我还以为响应式就是采用百分比设置宽高,让页面能适应于各种尺寸的屏幕,而如今才知道,采用百分百只是自适应设计而已,响应式可没这么简单

什么是响应式设计

所谓响应式设计,就是网页内容会随着访问它的视口及设备的不同而呈现不同的样式,
最终的结果既为:每个设备都得到了正确的设计

媒体查询 @media

CSS的@media规则允许我们根据设备的特性而设计不同的CSS样式,
但如果想利用好这个规则,我们还必须先让网页拥有良好的灵活性
简单的说,就是不再用像素px做为布局单位,改用百分比

内容策略

响应式网站之HTML

创建一个响应式网站,我们要用到HTML和CSS,偶尔也会用一点JavaScript

一般来说,对于响应式站点,应设置视口如下:
<meta name="viewport" content="width=device-width ,initial-scale=1">

响应式网站之CSS

再次回到媒体查询

创建媒体查询@media规则

/*** 当访问设备是有屏幕的设备,且视口宽度不小于800px ***/
@media only screen and (max-width:800px){
    body { background-color: green;  }
}

到此,响应式设计的初始部分就介绍完毕了,涉及的内容很少,所以还需继续往后学习


响应式图片

一、srcset(分辨率切换)

srcset属性被添加在<img>元素上的。srcset的值是一个用逗号分隔的列表。列表中的每个项包含一张图片的路径和一个‘w’宽度描述符提供多张分辨率的图片。

<img src="clock-demo-thumb-200.png" 
  alt="Clock" 
  srcset="clock-demo-thumb-200.png 200w, clock-demo-thumb-400.png 400w"
  sizes="(min-width: 600px) 200px, 50vw">

sizes属性包含一个逗号分隔的列表,这个逗号分隔列表描述了根据视口而变化的图片尺寸。

二、picture(艺术指导切换)

<picture>元素包含一系列<source>子元素后跟着需要的<img>元素。source元素原理和video元素的子源类似。

<picture>
  <source media="(min-width: 900px)" srcset="cat-vertical.jpg">
  <source media="(min-width: 750px)" srcset="cat-horizontal.jpg">
  ![](cat.jpg)
</picture>

每个源必须有一个 srcset属性,可选属性包括 media,sizes和 type。<source>元素上的 sizes和 srcset的使用和<img>上完全一样

media属性

三、srcset+picture

如果既要基于视口宽度的媒体查询,又要使用具有不同分辨率版本的图像,可以结合使用<picture>元素和srcset属性

<picture>
<source srcset="homepage-person@desktop.png, homepage-person@desktop-2x.png 2x"       
      media="(min-width: 990px)">
<source srcset="homepage-person@tablet.png, homepage-person@tablet-2x.png 2x" 
      media="(min-width: 750px)">
<img srcset="homepage-person@mobile.png, homepage-person@mobile-2x.png 2x" 
   alt="Shopify Merchant, Corrine Anestopoulos">
</picture>  
PS:尽管看了不少理论和一些案列,但仍然说不上完全理解了...

待续...

上一篇 下一篇

猜你喜欢

热点阅读