html移动端——基础知识

1. 开发尺寸

iphone6 7 8:1倍图尺寸,宽375像素,高667像素。

开发:2倍图尺寸,750×1334。

iphonex及以上:目前市场主流 1倍图尺寸,宽375像素,高812像素。

开发:2倍图尺寸,750×1624。

2. 物理像素和逻辑像素

2.1 物理像素

设计的尺寸:pc端设计显示的尺寸和开发的尺寸是一样的。

2.2 逻辑像素

开发的尺寸:,由于屏幕越来越大,分辨率越来越高,导致设计的尺寸于现实的尺寸不符。

2.3 例子

不同的手机,分辨率相差很大:

iphone3:480*320
iphone4:960*640
iphone5:1136*640
iphone10:2436*1125
三星S20:3200*1440

把图片宽度设置成 320px:

iphone3 占满屏幕
iphone4 占 1/2
S20 占不到 1/4

2.4 问题由来

移动端网页刚刚兴起时,前端把某个 div 设置成了 300px,大约占屏幕一整行。后来屏幕越来越大,分辨率越来越高。

当一款手机,屏幕更优秀,而显示效果反而更难看(原来占一整行的东西,现在只缩在屏幕左边一半)。这是很令人困扰。

于是,生产商为了使显示效果好一点,决定把 300px 的宽度,用 2*300 个像素点来显示。这样,1px 在某些设备上是指一个像素,而有些,却是两个像素点。

结果就是乱套了,便有人造出了新的名字。用“物理像素”来代表原来像素的本意,用“逻辑像素”来代表后者。这样的优点是,不论手机屏幕多大、分辨率多少,在开发者看来,都是 300px~400px 左右。

后来衍生出了两倍屏、三倍屏这样的概念。两倍屏上,300px 就是 600 个像素那么宽;三倍屏上,300px 就是 900 个像素那么宽。于是,当你设置 border: 1px solid #000时,那个边框粗得使人抓狂。

3. 移动端单位

移动端开发的尺寸和手机显示的物理像素是不一样的

pc端:像素单位——px

移动端:弹性单位 ——%、vw、em

移动端开发:用em、rem单位

弹缩单位 ——em、rem

em是倍数:倍数是根据父级标签大小、改变尺寸

注:em最小值为12px,即父级标签设置尺寸小于12px,依旧安12px计算倍数。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			p{
				/* font-size: 2em; */
                font-size: 1em;
			}
			div{
				/* font-size:12px; */
                /* em依旧安12px计算尺寸 */
                font-size:10px;
			}
		</style>
	</head>
	<body>
		<div>
			<p>看文字大小</p>
		</div>
	</body>
</html>

rem也是倍数:

根据根标签尺寸大小,改变尺寸大小。 r->root根,根的倍数。根标签一般是html。

注:rem最小值为6px,即父级标签设置尺寸小于6px,依旧安6px计算倍数。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<style>
			p{
				/* font-size: 1rem; */
				font-size: 2rem;
			}	
			html{
                /* font-size:12px; */
                /* rem依旧安6px计算尺寸 */
				font-size:1px;
			}
		</style>
	</head>
	<body>
		<div>
			<p>看文字大小</p>
		</div>
	</body>
</html>