美文网首页
响应式布局

响应式布局

作者: 林ze宏 | 来源:发表于2018-02-04 22:08 被阅读0次

简要:就是根据不同设备访问同一个站点时,内容响应式的变化。css3处理, @media。
如:

css写法:
// 屏幕最小宽度为1000px时(包括1000px)
@media srceen and (min-width: 1000px) {
  h2{
    font-size: 24px;
  }
}
// 屏幕宽度 640px~999px 时
@media srceen and (min-width: 640px) and (max-width: 999px) {
  h2{
    font-size: 18px;
  }
}

// 屏幕小于宽度 639px
@media srceen and (min-width: 639px) {
  h2{
    font-size: 12px;
  }
}

sass写法:
.wrap{
     @media screen and (min-width: 1900px) {
           font-size: 90px;
       }
      @media screen and (min-width: 1200px) and (max-width: 1899px){
           font-size: 180px;
       }
}

除了在同一个css文件中处理不同设备的样式外,我们还可以通过link,根据不同的设备,找到相应的样式文件:

 <link rel="stylesheet" type="text/css" media="screen and (min-width: 100px)" href="pc.css"/>

 <link rel="stylesheet" type="text/css" media="srceen and (min-width: 640px) and (max-width: 999px)" href="pc.css"/>

 <link rel="stylesheet" type="text/css" media=" srceen and (min-width: 639px) " href="pc.css"/>

图片处理:

1:一般背景图片处理,使用media,可以使用不同图片,或者使用background-size 调整其大小或者百分比,使其自适应。
2:img 图片的处理,使用 js判断不同设备,从而展示对应大小图片,或者使用 picture 标签

图片分为背景图片和通过img标签引入的图片,背景图片可以通过media query自动的切换不同分辨率的版本,但是在不支持background image size的浏览器中背景图片无法无级的调整大小(也就是在media query切换css的点上可以换一张不同分辨率的图,但是没法儿获得两张分辨率中间大小的版本),而且在很多情况下(比如cms中)并不适合用背景图片。

如果是img标签引入的图片,可以使用延迟加载的方式来加载,在实际加载图片之前先用js检查窗口宽度,然后加载不同分辨率的图片,比如宽度<=480,就加载80px宽度的图片,480 < 宽度 <= 768,加载120px的图片, 宽度> 768则加载160px的图片,如果宽度是600px怎么办呢,通过百分比来缩放120px的图片达到合适的结果。

img 使用picture

<picture alt="image description">
  <source src="/path/to/medium-image.png" media="(min-width: 600px)">
  <source src="/path/to/large-image.png" media="(min-width: 800px)">
  <img src="/path/to/mobile-image.png" alt="image description">
</picture>

其中的img元素是默认情况下显示的图片源,在其上面的两个source元素则是在特定媒体查询(media queries)条件下显示的图片——这也是开发者所喜欢的一种解决方案。

参考:https://www.zhihu.com/question/23346183/answer/24374133
参考:http://caibaojian.com/3-solutions-for-responsive-image.html

文字大小

文字大小单位有 px、百分比、em、rem,推荐使用em,或者rem

em:
弹性设计有一个关键地方Web页面中所有元素都使用“em”单位值。“em”是一个相对的大小,我们可以这样来设置1em,0.5em,1.5em等,而且“em”还可以指定到小数点后三位,比如“1.365em”。而其中“相对”的意思是:

  • 相对的计算必然会一个参考物,那么这里相对所指的是相对于元素父元素的font-size。比如说:如果在一个<div>设置字体大小为“16px”,此时这个<div>的后代元素教程了是将继承他的字体大小,除非重新在其后代元素中进行过显示的设置。此时,如果你将其子元素的字体大小设置为“0.75em”,那么其字体大小计算出来后就相当于“0.75 X 16px = 12px”;

参考: https://www.w3cplus.com/css/px-to-em © w3cplus.com

rem:
相对长度单位。相对于根元素(即html元素)font-size计算值的倍数

注意:
在移动设备中声明原始大小显示和是否缩放的声明:

<meta name="viewport" content="width=device-width; initial-scale=1.0"/>

meta标签的viewport属性是在移动设备上设置原始大小显示和是否缩放的声明。
可以使用的参数设置如下:
width:viewport的宽度
height:viewport的高度
initial-scale:初始的缩放比例
minimun-scale:允许用户缩放到的最小比例
maximun-scale:允许用户缩放到的最大比例
user-scalable:用户是否可以手动缩放

相关文章

  • 响应式布局目录

    └─Web响应式布局├─1 响应式布局介绍├─2 响应式布局实例(Media Queries模块) 上├─3 响应...

  • 九、HTML5响应式布局

    @(HTML5)[相应式布局] [TOC] 九、HTML5响应式布局 什么是响应式网页设计(布局) 响应式网页设计...

  • 响应式网页开发

    响应式布局 什么是响应式布局?可以让一个网站兼容不同分辨率设备的布局 为什么要使用响应式布局?给用户更好的视觉使用...

  • 响应式开发

    响应式布局 什么是响应式布局?可以让一个网站兼容不同分辨率设备的布局 为什么要使用响应式布局?给用户更好的视觉使用...

  • js基础(6)

    27、移动端响应式布局开发 响应式布局开发 1、什么是响应式布局开发?把我们开发完成的产品,能够让其适配不同的设备...

  • flex布局及常用属性

    flex 布局 demo 圣杯响应式布局

  • VUE响应式原理

    VUE响应式原理 这里的响应式(Reactive)不同于CSS布局的响应式(Responsive), 这里的响应式...

  • 响应式布局与自适应布局

    前言 这几天工作的时候被提出需要响应式布局的需求,但是响应式布局和自适应布局有嗲傻傻分不清楚。所以响应式布局和自适...

  • bootstrap系列之响应式布局及相关的visible-sm、

    响应式布局:响应式工具不能用于table元素,而且 本身就不支持 响应式布局需要在处添加如下语句: 在...

  • 响应式布局

    什么叫做响应式布局? 也即是响应式Web设计。响应式布局是Ethan Marcotte在2010年5月份提出的一个...

网友评论

      本文标题:响应式布局

      本文链接:https://www.haomeiwen.com/subject/kzsvzxtx.html