媒体查询实现响应式布局

参考链接:http://www.cnblogs.com/sunflower627/p/4873184.html
 
3、语法结构及用法
@media 设备名 only (选取条件) not (选取条件) and(设备选取条件),设备二{sRules}
示例一:在link中使用@media:
<link rel=“stylesheet” type=“text/css” media=“only screen and (max-width: 480px),only screen and (max-device-width: 480px)” href=“link.css”/>
上面使用中only可省略,限定于计算机显示器,第一个条件max-width是指渲染界面最大宽度,第二个条件max-device-width是指设备最大宽度。
示例二:在样式表中内嵌@media:
@media (min-device-width:1024px) and (max-width:989px),screen and (max-device-width:480px),(max-device-width:480px) and (orientation:landscape),(min-device-width:480px) and (max-device-width:1024px) and (orientation:portrait) {srules}
在示例二中,设置了电脑显示器分辨率(宽度)大于或等于1024px(并且最大可见宽度为989px);屏宽在480px及其以下手持设备;屏宽在480px以及横向(即480尺寸平行于地面)放置的手持设备;屏宽大于或等于480px小于1024px以及垂直放置设备的css样式。
从上面的例子可以看出,字符间以空格相连,选取条件包含在小括号内,srules为兼容设置的样式表,包含在中括号里面。only(限定某种设备,可省略),and(逻辑与),not(排除某种设备)为逻辑关键字,多种设备用逗号分隔,这一点继承了css基本语法
 
响应式字体:
一个响应式的字体应关联它的父容器的宽度,这样才能适应客户端屏幕。

css3引入了新的单位叫做rem,和em类似但对于Html元素,rem更方便使用。

rem是相对于根元素的,不要忘记重置根元素字体大小:

 

图片处理:

参考链接:http://www.cnblogs.com/dreamsboy/p/5656009.html

在html页面中的图片,比如文章里插入的图片我们都可以通过css样式max-width来进行控制图片的最大宽度,如:

    #wrap img{
        max-width:100%;
        height:auto;
    }

参考链接:http://www.mahaixiang.cn/wzsj/278.html

<picture>是一个图形element,内容由多个源图组成,并由CSS Media Queries来适配出合理图形,代码规范如下:

<picture width="500" height="500">
    <source media="(min-width: 640px)" srcset="large-1.jpg 1x, large-2.jpg 2x">
    <source media="(min-width: 320px)" srcset="med-1.jpg 1x, med-2.jpg 2x">
    <source srcset="small-1.jpg 1x, small-2.jpg 2x">
    <img src="small-1.jpg" alt="">
    <p>Accessible text</p>
    <!-- Fallback content-->
    <noscript>
    <img src="external/imgs/small.jpg" alt="Team photo">
    </noscript>
  </picture>

注:source: 一个图片源;
  media: 媒体查询,用于适配屏幕尺寸;
  srcset: 图片链接,1x适应普通屏,2x适应高清屏;
  <noscript/>: 当浏览器不支持脚本时的一个替代方案;
  <img/>: 初始图片;另外还有一个无障碍文本,类似<img/>的alt属性。

虽然<picture>目前还不支持,但它的原理我们是可借鉴的,所以就诞生了一个用于图片响应式处理的类库Picturefill

 

bootstrap实现响应式布局:

参考链接:http://www.jb51.net/article/84894.htm

使用boostrap必须要了解的就是boostrap的栅格系统。正是由于这栅格系统才使得更好的兼容不同分辨率终端设备。 

posted @ 2017-01-16 18:14  土豆zhang  阅读(618)  评论(0编辑  收藏  举报