-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
移动端适配 #17
Comments
REMAlloy Team 移动web适配利器-rem
哪些适合采用
|
VH,VW一、语法MDN css length 二、lib-flexible为啥不维护了?
大漠在再聊移动端页面的适配也说到:
v2.0的改变
// detect 0.5px supports
if (dpr >= 2) {
var fakeBody = document.createElement('body')
var testElement = document.createElement('div')
testElement.style.border = '.5px solid transparent'
fakeBody.appendChild(testElement)
docEl.appendChild(fakeBody)
if (testElement.offsetHeight === 1) {
docEl.classList.add('hairlines')
}
docEl.removeChild(fakeBody)
}
三、布局方式1. 直接使用
|
CSS实现长宽比的几种方案思路就是高度的计算要基于宽度。
需要恶补1. %单位计算方式.2. CSS 函数,变量
参考 |
CSS类型一、<length>长度类型用来衡量距离的
二、<percentage>百分比类型元素百分比不是长度的类型,而是单独的一种CSS数据类型,属于数字类型。
2.1 %的参考值
2.2 包含块(Contain Block)2.1中提到的
注意:
2.3 小结
参考 |
基本概念
一、三种视口(viewport)
1.1 可见视口
移动设备屏幕大小,能看见内容的区域。
1.2 布局视口
移动页面是从PC过渡过来的,移动端可见视口相对于PC可见视口是比较小的。PC页面放到移动端展示就会挤在一起了(如375px宽的屏幕肯定无法正常显示980px宽的PC页面),为了避免这种情况移动设备会用一个比较大的视图(一般980px)进行页面布局。这样布局视口的内容就不能完全展示了,要么进行左右滑动查看,要么缩小页面完全展示。浏览器选择了后者,即缩小布局视口展示在可见视口里(毕竟用户可以手动放大页面)。
在基于REM布局中html的font-size计算就是按照布局尺寸算的。
1.3 理想视口
就是可见视口。讲布局视口的宽度和可见视口宽度一致。本质上采用可见视口的宽度进行布局。
茴字的四种写法—移动适配方案的进化
二、像素
一直以为最小只能显示1px,但其实并不是这样的。
2.1 物理像素(设备像素,device pixel)
2.2 独立像素(设备独立像素,device independent pixels,简写dips)
CSS布局像素,即PX。CSS里的1px并不是物理像素的1像素,那还得看
独立像素比
。这里的
1像素
指的就是1 CSS px
,CSS里px
也是相对单位(相对于物理像素)。2.3 独立像素比(window.devicePixelRatio)dpr
CSS像素、物理像素、逻辑像素、设备像素比、PPI、Viewport
2.4 视网膜屏幕
一般指ddr > 1的屏幕
三、
0.5px
问题1px
是CSS最小的单位,并且各个屏幕看起开擦不多。但是理论上在dpr >1
的屏幕中可以展示更细的线条,也是大家经常说到的0.5px
线条或则Retina屏幕1px
问题。总体方式是:如果设备支持(限iOS 8及以上设备)更好,不支持再hack
hack实现
判断设备是否支持0.5px
目前只能利用JS,可以参考flexible 2.0
hack实现方式
viewport meta
+rem
有坑,flexible都放不用这个了。
伪类 + transform 的实现
只考虑了
drp=2
都case,严谨点可以利用媒体查询处理多种drp
都场景(当然了代码量不小)详细参考[前端]移动端Retina视网膜屏1px解决方案(H5))
参考
The text was updated successfully, but these errors were encountered: