美文网首页
响应式布局

响应式布局

作者: 木中木 | 来源:发表于2019-09-30 08:37 被阅读0次

现在是移动端时代盛行,所以移动网页也显得举足轻重。由于PC和移动屏幕宽度不一样,造成过往PC的网页在移动端上面呈现出效果不是很友好。最早苹果手机,乔帮主想出一个方案,定了一个980px的宽度用于显示PC网页内容,但是这种仅仅把PC网页缩放,网页呈现出来的内容因为缩放变得非常小。移动开发人员在css3出来之前,则是使用了流式布局,css3之后则是使用响应式布局来完成(媒体查询、rem)

1.流式布局

流式布局也成为百分比布局,可以设置width/height/padding/margin为百分比,那这里的百分比指的容器父级宽度/高度/宽度/高度多少。 边框和字体用px来设置,图片自适应则是使用max-width属性设置,看个例子

`

/* 流式布局 css*/

.container{

    width: 100px;

    height: 100px;

    background: #ddd;

    margin: 10px;

}

.test {

    width: 50%;

    height: 50%;

    background: red;

}

/* 流式布局 html*/

<div class="container">

        <div class="test"></div>

    </div>

`

最终显示结果如:1-1所示

1-1

那这里我们可能会提出来,父级容器不好设置大小,因为我们不知道屏幕视口大小,这里我们就涉及到视口大小的设置,我们可以通过meta属性来设置视口大小

`

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">

width=device-width 视口为设备宽度

initial-scale=1.0    初始化的视口大小是1.0倍

maximum-scale=1.0    最大的倍数是1.0倍

user-scalable=0      不允许缩放视口

`

2.响应式布局

①通过媒体查询来完成

`

/* 响应式布局 */

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

    body {

        background: pink;

    }

}

@media screen and (min-width: 700px) and (max-width: 1200px) {

    body {

        background: red;

    }

}

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

    body {

        background: #ddd;

    }

}

`

②通过rem来完成

rem是相对于网页根元素也就是HTML的font-size大小来设置的,网页根元素的font-size则可以根据设计图和屏幕实际宽度设定出来,比如设计图是640px,屏幕视口宽度是980px,然后我们一般设置1rem = 100px,则html的fontsize = 640/908 *100;也可以配合媒体查询来设置font-size大小,实现响应式。容器高度都可以通过rem来写;

`

/*

* @Author: linjian

* @Date: 2019-09-18 08:58:34

* @LastEditors: linjian

* @Description: file content

* @email: linjian@szkingdom.com

*/

function adjust(){

    const desw = 640;

    const clientWidth = document.documentElement.clientWidth;

    const ratio = desw/clientWidth;

    const html = document.html;

    if (clientWidth > desw) {

        html.style.width = desw + 'px';

        html.style.margin = '0 auto';

    }

    html.style['font-size'] = ratio * 100 +'px';

}

`

③横竖屏切换可以通过设置ajust-text-size来完成字体的自适应

`

.ajust-font-size{

    -webkit-text-size-adjust : 100% ;     

    -moz-text-size-adjust : 100% ;    

    -ms-text-size-adjust : 100% ;  

    text-size-adjust : 100%;

}

`

④rpx,小程序使用相对单位,能够进行屏幕自适应,规定屏幕宽度为750rpx,比如iPhone6,屏幕375px,屏幕实际物理像素750,则1rpx = 0.5px =  1物理像素,用法和rem类似,如果设计稿也是750设计,则设计稿上1像素就是等于1rpx。

看下其他几个单位,rem我们介绍过了,是相对于根元素HTML来相对运算,vw是将视口宽度等分为100份,比如视口980px,则1vw就是9.8px

我们可以通过`document.body.clientWidth`来获取宽度,然后算出1vw,进行响应式编写代码

相关文章

  • 响应式布局目录

    └─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/xbuhuctx.html