html----rem结合vw布局

html-css07

html----rem结合vw布局,第1张

1.rem

rem是相对于 根元素 的字体大小的单位

rem能等比例适配所有的屏幕,根据html的字体的大小来控制rem的大小

2.dpr设备像素比

dpr = 物理像素 / 逻辑像素

物理像素:设计图量出的px(设备显示的px)

逻辑像素:css中设置的px

如果设计图的宽度是640px 或者 750px    dpr = 2

如果设计图的宽度是1080px              dpr = 3

3.vw

视窗宽度

1vw 等于视窗宽度的1%

100vw 等于视窗宽度的100%

4.vw 与 px 之间的换算

如果设计图的宽度是640px  则 dpr = 2

所以:逻辑像素 = 640px /2 = 320px

所以:320px = 100vw

所以:1vw = 3.2px

所以:31.25vw = 100px = 1rem

如果设计图的宽度是750px  则 dpr =2所以:逻辑像素 = 750px /2= 375px

所以:375px = 100vw

所以:1vw =3.75px

所以:26.67vw = 100px = 1rem

如果设计图的宽度是1080px  则 dpr = 3所以:逻辑像素 = 1080px / 3 = 360px

所以:360px = 100vw

所以:1vw =3.6px

所以:27.78vw = 100px

5.根元素字体大小的限制

如果设计图宽度为640px

则:根元素设置为

html{font-size:31.25vw}

如果设计图宽度为750px

则:根元素字体大小设置为

htmt:{font-size:26.67vw}

如果设计图宽度为1080px

则根元素字体大小设置为

html:{font-size:27.78vw}

6.计算方法:

为了方便计算:1rem = 100px,,所以,要除以100

已知 dpr = 2

如果量取设计图的某部分 宽度  300px

物理像素-------逻辑像素-------rem

则:300/2/100 = 1.5rem

7. rem是相对于根元素的字体大小的单位,能等比例适配所有的屏幕,根据html的字体的大小来控制rem的大小

如果设计图为 640px

根元素font-size=31.25vw 相当于100px,相当于 1rem

如果设计图为750px

根元素font-size=26.67vw 相当于100px,相当于 1rem

一般,我们要在公共样式中根据设计图的大小,设置根元素字体的大小,单位为vm,

如果设计图为640px,html{font-size:31.25vw}

如果设计图为750px,html{font-size:26.67vw}

然后,我们量取得px/2/100即:物理像素/2/100

方法一:

可以使用vw或vh这样的“相对”字体大小单位。vw代表文字相对于viewport的宽度,vh则代表相应的高度。在vw的体系中,默认将整个viewport的宽度设置为100vw,以此相对换算文字的大小。

如图:

除vw、vh外,还有vmin和vmax两种相对字号单位,其作用是自动选择相对于viewport宽高而言最小或最大的值,以此作为字体的大小。

方法二:

face 字体名称列表 定义font元素中文本的字体。 字体名称列表中的字体不存在就显示默认字体。

示例:

<font face="幼园">font元素中文本</font>

<font face="宋体">font元素中文本</font>

<font face="黑体">font元素中文本</font>

px: 绝对字体大小

em: 基于一个基数来计算出相对字体大小。(移动端用的少)

rem: 基于根节点(html)的字体大小来计算。

vw: 可视区宽度单位。1vw等于可视区宽度的百分之一。

跟字体大小有关

l浏览器默认字体是16px,这里父级字体大小是20px,所以#box里的1em = 20px即#box是一个长宽均为400px的正方形

vw单位和百分比很相似,不同的是vw的值对所有的元素都一样, 与他们父元素或父元素的宽度无关

以414宽度的屏幕为例

做一个200 * 200的盒子

rem 的字体大小直接与html的字体大小有关。默认是16px = 1rem

我们可以给html设置10px的字体大小

大多数浏览器(不包括ie8以下)都支持rem单位,如果想都支持,可以

可是这样在实际开发中,换算起来非常麻烦,所以,我们对此进行了修改,根据手机屏幕的大小,做了自适应。

首先,我们在html的head里边设置html的font-size.

然后根据设计图的尺寸和手机屏幕的尺寸进行换算。