zoukankan      html  css  js  c++  java
  • 前端【响应式】开发详细解析

    一、响应式设计需要解决的问题是什么?

    针对目前大家常见的固定布局、自适应布局都是一种反应迟钝的web设计,当Web页面需要在各种显示屏显示时,他们就显得力不从心了。因此,我们就需要相应设计。

    优势:

    一个页面适应各种显示屏;

    具有良好的SEO;

    较大缩短开发周期;

    给用户更多的选择,更好的用户体验;

    二、响应式包含哪些部分?

    在学习响应式设计时,我们需要知道以下几个常见的术语。

    1、流体网格

    一个简单的网格系统,将每个格子使用百分比单位来控制网格大小,其优势是网格随着屏幕大小作出对于的比例缩放。

    2、弹性图片

    弹性图片是指不给图片设置固定尺寸,而更具流体网格进行缩放来适应不同的尺寸。实现方法如下代码:

    img{

    max-100%;

    }

    注:IE8中会使图片不显示,所以需在IE8中增加对于hack样式。

    3、CSS3 Media Queries

    它是响应式设计最关键的一个应用,它可以根据浏览器窗口的大小、方向、屏幕规格选择对于的样式文件。

    4、屏幕分辨率

    所谓屏幕分辨率是指:分辨率是1920设备像素*1080设备像素,在纵向上排列了1080个显像用的小点,在横向上排列了1920个显像用的小点,同一尺寸的屏幕下,分辨率越高(横向、纵向上的显像点越多越小)屏幕越清晰。

    问题:在高清屏和普通屏下,css的100px展示会不会有差异?

    答案是:不会有差异!

    在普通的屏幕下1px占用一个设备像素,而在高清屏幕下(如苹果的视网膜屏)1px占用2个设备像素。以iphone6来说物理像素是750 * 1334,因为是高清屏幕,所以用px来度量的话就是 375px * 667px。这个可以在chrome浏览器的调试模式下查看。

    5、主要断点

    断点是为min-width和max-width服务的。@media (min-320px){}

    三、One More Thing?

    1、自适应布局盒响应式布局区别

    自适应布局:就是我们常见的百分比布局,它可以让你的布局在不同分辨率下适应其大小,但这种布局需要一个最小宽度来辅助实现,不然在一定尺寸下,整个布局会乱掉,只不过这种不固定值是%而不是px。

    响应式布局:是一个多列流体布局,其利用的是媒体查询来实现web页面在不同分辨率下的完美呈现,和自适应布局还是有本质上的差别。

    2、em在响应式设计中的运用

    em和font-size优很大关系,它也是css的一个度量单位,不过它比px更适合响应式设计,他能让你的断点根据字号大小来调整其值。

    20em = 20 * 16 = 320px

    30em = 30 * 16 = 480px

    @media only screen and (min-width : 20em) {}

    @media only screen and (min-width : 30em) {}

    3、常用css单位

    常用有三种:px em %

    px:浏览器的度量单位,相对于物理像素,1px在高清屏幕下可能占用2个物理像素、甚至3个物理像素。

    em:相对于父元素的font-size,如父元素font-size设置为16px,子元素font-size设置为0.75em,那么转换为px就是0.75 * 16px = 12px;

    %:相对于父元素的长度高度,position:fixed 、absolute 除外(fixed将相对于窗口、absolute相对于递归父元素知道 第一个设置了position的元素)

    rem:相对于根节点(一般为html节点)的font-size,如果html节点设置font-size = 100px,那么文档中的元素设置为0.3rem,则计算为:0.3 * 100px = 30px

    vh/vw:相对于设备的可视范围,在移动端中经常会用到,比如:设计师经常要求,banner占满首屏高度既:100vh。如iphone6 (375px * 677px)= (100vw * 100vh) ,而iphone6 plus (414px * 736px) = (100vw * 100vh) 两种屏幕下的vw、vh是不一样的。

    clac:css3中的长度计算语法,支持+、-、*、/的计算。

    四、响应式设计关键三步

    第一步、设置meta标签

    使用设备的宽度为视图的宽度,禁止默认的自适应页面的效果,禁止缩放效果。如下:

    由于IE6-IE8不支持响应式设计,所以需增加相应插件来支持respond.js或者media-queries.js,如下:

    <!--[if lt IE9]>

    <script src='http://xxx/response.js'></script>

    <![end]-->

    第二步、HTML MarkUp

    基础一般会包括:头部、导航、内容、页脚。

    第三步、媒体查询

    1、一般用min-width和max-width来检查各种设备的分辨率大小

    @media screen and (min-width : 768px) {}

    @media screen and (max-width : 1024px) {}

    @media screen and (min-width : 768px)  and (max-width : 1024px) {}

    2、设备宽度device-width主要用在苹果产品上

    @media screen and (min-device-width : 768px)  and (max-device-width : 1024px) {}

    3、调用独立样式表

    常用模板:

    1024px显示屏:@media screen and (max-width : 1024px) {}

    ipad横屏:@media screen and (max-device-width : 1024px) and (orientation:landscape) {}

    ipad竖屏:@media screen and (max-device-width : 768px) and (orientation:portrait) {}

    iphone和smartPhone:@media screen and (min-width : 320px)  and (max-width : 480px) {}

    大屏幕、中屏幕、小屏幕的划分:

    小屏幕:<769px;@media only screen and (min-width : 769px) {}

    中屏幕:769~1366px或者769~1440px;@media only screen and (min-width : 769px) and (max-1366px){}

    大屏幕:1366~1920px;@media only screen and (min-width : 1367px) {}


    更多视频教程请关注微信公众号!!!!!!!

  • 相关阅读:
    webservice测试工具
    Spring+CXF整合来管理webservice(服务器启动发布webservice)
    BAT常用命令
    【shell入门】Shell用法
    【shell】Shell命令合集(0)
    挨踢江湖之十二
    shell一些笔记
    在优化SQL语句中使用虚拟索引
    Jenkins Maven打包出错异常的解决方法
    [置顶] ios 360度旋转效果demo
  • 原文地址:https://www.cnblogs.com/bobo-show/p/7772271.html
Copyright © 2011-2022 走看看