移动端响应式布局--你不知道的CSS3.0媒体查询,解决rem部分情况下无法适配的场景
媒体查询作为响应式布局的方法之一,实际项目中用途也很广。但是你真的知道怎么用吗?
例如,下面匹配 iphone6/7/8 屏幕
@media screen and (max-width: 375px){
/* CSS 代码 */
}
一般这么写,指的是webview的宽度,同样的,根据clientWidth 设置根节点是fontsize 也是参考的webview的宽度。
如果放在pc上或者是手机默认全屏H5里面,这么写是没有问题的。
但是混合开发,将H5页面嵌套在app的webview里面,这么做响应式布局就有有问题。
具体使用场景如下:
App即使聊天软件里面的富文本消息类型来自H5。也就是说
这个消息类型的webview(浏览器)宽度 并不等于设备屏幕宽度。因此,这个H5页面的响应式布局无法根据js 设置根节点然后用rem来布局。
移动端响应式布局永远都是参考硬件设备宽度!移动端响应式布局永远都是参考硬件设备宽度!移动端响应式布局永远都是参考硬件设备宽度!
因此,这里只能用媒体查询来设置根节点的字体大小。还是回到了媒体查询。
@media screen and (min-device-width: 320px) and(max-device-width:359px){html{font-size:.65px;}} @media screen and (min-device-width: 360px) and(max-device-width:374px){html{font-size:.36px;}} @media screen and (min-device-width: 375px) and(max-device-width:399px){html{font-size:16px;}}
根最开始的有什么区别?没错就是
device-width 跟 width 的区别。 通常,移动设备使用device-width;面向“PC设备”用户使用max-width。 所以,弄懂这个,你算是真正会使用了媒体查询。
移动端响应式布局--你不知道的CSS3.0媒体查询,解决rem部分情况下无法适配的场景的更多相关文章
- 【CSS-移动端响应式布局详解】
背景 移动端响应式布局开发主要方案有: 基于rem开发 基于媒体查询 基于弹性盒 基础概念 在讨论响应式布局知识前,先了解下移动端常用基础概念. 逻辑像素(CSS pixels) 浏览器使用的抽象单位 ...
- 探讨兼容IE低版本的PC端响应式布局
http://www.jiangweishan.com/article/lowIeResposive.html 响应式布局,oh my god!!有点醉了,感觉是老生常谈的话题了.虽然已经谈过很多了, ...
- 响应式布局(CSS3弹性盒flex布局模型)
传统的布局方式都是基于盒模型的 利用display.position.float来布局有一定局限性 比如说实现自适应垂直居中 随着响应式布局的流行,CSS3引入了更加灵活的弹性布局模型 flex弹性布 ...
- css3响应式布局教程—css3响应式
响应式布局 一个网站能够兼容多个终端,并且在各个终端都可以很好展示体验. 媒体类型 在何种设备或者软件上将页面打开 123456789 all:所有媒体braille:盲文触觉设备embossed:盲 ...
- PC 端响应式布局
前言:PC端 电脑显示器的尺寸种类还是很多的,台式电脑和笔记本电脑尺寸相差就更明显,所以响应式布局还是很重要的,甚至是必须要考虑的. 响应式的页面好不好,在后管平台上很明显.因为后管平台,一般是全屏显 ...
- 响应式布局rem、rem方法封装、移动端响应式布局
相信大家在做移动端的时候都会做各个手机的适配这种适配就是响应式布局在之前做网站的响应式从pc到手机用的是媒体查询 @media screen and (max-width: 300px){} 最大宽度 ...
- CSS响应式布局学习笔记(多种方法解决响应式问题)
在做web开发的工作中,会遇到需要我给页面根据设计的要求,进行响应式布局,这里跟大家分享下我对于响应式布局的解决方法: 我主要利用的是CSS3 媒体查询,即media queries,可以针对不同的媒 ...
- 移动端响应式布局+rem+calc()
1.媒体查询:@media only screen and (max-width: ) {},在最初做pc端时,使用各种媒体查询,因为pc的屏幕分辨率总共就几种,不嫌麻烦的重复使用类名.有很大的缺陷就 ...
- 移动端“响应式布局”’--rem
使用目的:为了让移动设计稿在大部分的移动设备上看起来有一致的展示效果,我们使用rem的像素单位. 方法一: 1.在页面引入js,获取屏幕大小,更新rem基准. (function () { var c ...
随机推荐
- AllocateHWnd SetTimer API
unit Unit2; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- 前端学习之jquery(二)
操作元素(属性,css,文档处理) 1.1 属性操作 --------------------------属性 $("").attr(); $("").remo ...
- php使用insert语句动态添加用户
<html> <head> <title>Adding User</title> </head> <body> <h2&g ...
- 【Leetcode】无重复字符的最长子串
暴力解法,枚举所有子字符串组合 输入:长度[0,n]的字符串 耗时过长--- class Solution { public: int lengthOfLongestSubstring(string ...
- 关于__cmp__的使用
__cmp__是python的类中所使用的特殊函数,一般用于对类对象列表的排序. 举个例子,假设需要对Student类的对象列表按照其成绩grade属性进行排序,那么可以这么设计: class Stu ...
- spark2.1源码分析3:spark-rpc如何实现将netty的Channel隐藏在inbox中
class TransportServer bootstrap.childHandler(new ChannelInitializer<SocketChannel>() { @Overri ...
- golang初识 - install go on ubuntu
WSL: Ubuntu 18.04 1. install go (1) unzip sudo mkdir -p /usr/local/go sudo tar zxvf go1.12.4.linux-a ...
- 逆向工程vgenerator(二)
前言 接上篇,这一篇主要的工具类和工厂类,包括数据库方法.通用方法,三个工厂. 常量 /** *author vvxtoys *默认xml开头 *文档分隔 *默认方法名 */ package cc.v ...
- this 指向详细解析(箭头函数)
前言 this 指向问题是入坑前端必须了解知识点,现在迎来了ES6时代,因为箭头函数的出现,所以感觉有必要对 this 问题梳理一下,遂有此文 在非箭头函数下, this 指向调用其所在函数的对象,而 ...
- Python简单语音识别并响应
起因是一个工作中喜欢说口头禅的同事,昨天老说"你看看你看看 操不操心".说了几次之后我就在他说完"你看看"后面续上,"操不操心".往复多次后 ...