最优适配布局

移动端的响应式布局需要通过设置 media queries 配置多个断点,在响应断点切换的瞬间带来断层式的切换变化,用户体验不佳。

而采用 rem 单位的弹性布局,又需要脚本依赖(头部内嵌:监听分辨率变换,根元素字体随之变换的脚本),耦合不佳。

解决方法:利用 视口单位vw + rem 实现适配(已主流)。

了解:1vw 等于视口宽度的 1%,移动端,PC 端都是视口宽度 100vw,高度 100vh。

总结与示例:

1.给根元素大小设置随着视口变化的 vw 单位,这样就可以实现动态改变其大小。

2.限制根元素字体大小的最大最小值,配合 body 加上最大宽度和最小宽度。

 1 // rem 单位换算:定为 75px 只是方便运算,750px-75px、640-64px、1080px-108px,如此类推
 2 $vw_fontsize: 75; // iPhone 6尺寸的根元素大小基准值
 3 @function rem($px) {
 4      @return ($px / $vw_fontsize ) * 1rem;
 5 }
 6 // 根元素大小使用 vw 单位
 7 $vw_design: 750;
 8 html {
 9     font-size: ($vw_fontsize / ($vw_design / 2)) * 100vw;
10     // 同时,通过Media Queries 限制根元素最大最小值
11     @media screen and (max-width: 320px) {
12         font-size: 64px;
13     }
14     @media screen and (min-width: 540px) {
15         font-size: 108px;
16     }
17 }
18 // body 也增加最大最小宽度限制,避免默认100%宽度的 block 元素跟随 body 而过大过小
19 body {
20     max-width: 540px;
21     min-width: 320px;
22 }

原文地址:https://www.cnblogs.com/yuqlblog/p/8616814.html

时间: 2024-11-27 22:02:56

最优适配布局的相关文章

自定义控件(视图)28期笔记02:自定义控件之使用系统控件(优酷布局案例)

1.首先我们看看效果图: 这是优酷布局效果图: 2. 下面是我们最终编写的程序的效果图:

利用视口单位实现适配布局

利用视口单位实现适配布局 by Tingglelaoo on 2017-04-28 响应式布局的实现依靠媒体查询( Media Queries )来实现,选取主流设备宽度尺寸作为断点针对性写额外的样式进行适配,但这样做会比较麻烦,只能在选取的几个主流设备尺寸下呈现完美适配.即使是通过 rem 单位来实现适配,也是需要内嵌一段脚本去动态计算根元素大小. 近年来,随着移动端对视口单位的支持越来越成熟.广泛,使得我们可以尝试一种新的办法去真正地适配所有设备尺寸. 认识视口单位( Viewport un

rem - 移动前端自适应适配布局解决方案和比较(转载)

原文链接:http://caibaojian.com/mobile-responsive-example.html 互联网上的自适应方案到底有几种呢?就我个人实践所知,有这么几种方案:· 固定一个某些宽度,使用一个模式,加上少许的媒体查询方案使用flexbox解决方案使用百分比加媒体查询使用rem淘宝最近开源的一个框架和网易的框架有同工之异.都是采用rem实现一稿解决所有设置自适应.在没出来这种方案之前,第一种做法的人数也不少.类似以下说到的拉钩网.看一下流云诸葛的文章. 1. 简单问题简单解决

移动前端自适应适配布局解决方案和比较

互联网上的自适应方案到底有几种呢?就我个人实践所知,有这么几种方案: 固定一个某些宽度,使用一个模式,加上少许的媒体查询方案 使用flexbox解决方案 使用百分比加媒体查询 使用rem 1. 简单问题简单解决 我觉得有些web app并一定很复杂,比如拉勾网,你看看它的页面在iphone4,iphone6,ipad下的样子就知道了: 它的页面有一个特点,就是: 顶部与底部的bar不管分辨率怎么变,它的高度和位置都不变 中间每条招聘信息不管分辨率怎么变,招聘公司的图标等信息都位于条目的左边,薪资

移动端web自适应适配布局解决方案

100%还原设计图,要注意: 看布局,分析结构. 感觉难点在于: 1.测量精度(ps测量数据): 2.文字的行高. 前段时间写个移动端适配的页面(刚接触这方面),查了一些资料,用以下方法能实现: 1.设置理想视口: 自动适应屏幕宽度 :网页的宽度默认等于屏幕的宽度 <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.

适配布局类型

PC及移动端页面适配方法 设备屏幕有多种不同的分辨率,页面适配方案有如下几种: 1.全适配:响应式布局+流体布局2.移动端适配: 流体布局+少量响应式 基于rem的布局 流体布局 流体布局,就是使用百分比来设置元素的宽度,元素的高度按实际高度写固定值,流体布局中,元素的边线无法用百分比,可以使用样式中的计算函数 calc() 来设置宽度,或者使用 box-sizing 属性将盒子设置为从边线计算盒子尺寸. calc() 可以通过计算的方式给元素加尺寸,比如: width:calc(25% - 4

Android怎么找到最优适配资源

当我们将一些提供了不同的资源文件可供Android系统选择的时候,Android会在运行时会根据一套适配的规则选择最符合当前配置的资源.为了说明Android怎么选择资源,假设我们有以下可选的资源文件目录,每一个目录都包含同一张图片的不同版本. drawable/ drawable-en/ drawable-fr-rCA/ drawable-en-port/ drawable-en-notouch-12key/ drawable-port-ldpi/ drawable-port-notouch-

rem 适配布局 + LESS + 媒体查询

1. rem 基础 rem 是一个相对单位,类似于 em ,em 是父元素字体大小. em 是相对于父元素  的字体大小来说的 rem 是相对于 html 元素 字体大小来说的 rem 优点 就是可以通过修改 html 里面的文字大小来改变页面中元素的大小可以整体控制 比如:根元素(html )设置的 font-size=12px:非根元素设置 width:2rem:则换成px 表示 24px(12px*2rem) 2. 媒体查询(@media) @media 可以针对不同的屏幕尺寸设置不同的样

rem适配布局---1. 基础

1. em 在介绍rem之前,先介绍单位em.em是相对于父元素的字体大小来说的,使用的时候要有父元素,且父元素要有字体大小. <body> <div> <p></p> </div> </body> <style> div { font-size: 12px; } /* 1. em是相对于父元素的字体大小来说的 */ p { /* 10em就是10*12=120px */ width: 10em; height: 10em