一、视口
- 1.1、视口的概念
视口 是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px或者1024px,目的是为了显示下整个为PC端设计的网页,这样带来的后果是移动端会出现横向滚动条,为了避免这种情况,移动端会将视口缩放到移动端窗口的大小。这样会让网页不容易观看,可以用 meta 标签,name=“viewport ” 来设置视口的大小,将视口的大小设置为和移动设备可视区一样的大小。 - 1.2、视口设置方法如下( 快捷方式:
meta:vp + tab
):
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <!-- 视口的设置:meta:vp + Tab 键 产生下面的代码 ,如果网页想在移动端显示要加上这句话,网页端会自动略过这句话,只针对移动端 viewport:视口的意思 width=device-width:让视口的宽度等于设备的宽度 user-scalable=no:不允许用户自动缩放 initial-scale=1.0:初始放缩等于 1.0 maximum-scale=1.0:最大放缩也等于 1.0 minimum-scale=1.0 最小放缩也等于 1.0 三个缩放都要写的原因是兼容不同的浏览器 --> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <title>视口-屏幕适配</title> <style type="text/css"> .box{ width: 300px; height: 300px; background-color: gold; } </style> </head> <body> <div class="box"></div> </body> </html>
提示:视口的设置:
meta:vp + Tab 键
产生下面的代码 ,如果网页想在移动端显示要加上这句话,网页端会自动略过这句话,只针对移动端
- 1.3、pc端与移动端渲染网页过程:
二、视网膜屏幕(retina屏幕)清晰度解决方案
- 2.1、视网膜屏幕指的是屏幕的物理像素密度更高的屏幕,物理像素可以理解为屏幕上的一个发光点,无数发光的点组成的屏幕,视网膜屏幕比一般屏幕的物理像素点更小,常见有2倍的视网膜屏幕和3倍的视网膜屏幕,2倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/4,3倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/9。图像在视网膜屏幕上显示的大小和在一般屏幕上显示的大小一样,但是由于视网膜屏幕的物理像素点比一般的屏幕小,图像在上面好像是被放大了,图像会变得模糊,为了解决这个问题,可以使用比原来大一倍的图像,然后用css样式强制把图像的尺寸设为原来图像尺寸的大小,就可以解决模糊的问题。
- 2.2、清晰度解决过程示意图
上图是采用 CSS样式强制改变 图片的尺寸
三、background 新属性 (background-size:
)
- 3.1、background-size:的值
- length:用长度值指定背景图像大小。不允许负值。
- percentage:用百分比指定背景图像大小。不允许负值。
- auto:背景图像的真实大小。
- cover:将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。
- contain:将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。
- 3.2、举例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>background 新属性</title> <style type="text/css"> .box{ width: 200px; height: 200px; border: 2px solid #000; margin: 50px auto 0; background: url("images/apple.png") no-repeat; background-size: 200px 200px; } </style> </head> <body> <div class="box"></div> </body> </html>
提示:上面的:
background-size: 200px 200px;
可以换为background-size: 100% 100%
、background-size: auto;
、background-size: cover;
、background-size: contain;
四、适配布局类型
- 4.1、适配布局类型介绍:设备屏幕有多种不同的分辨率,页面适配方案有如下几种:
- 1、全适配:响应式布局+流体布局
- 2、移动端适配:
- 流体布局+少量响应式
- 基于rem的布局
- 4.2、流体布局:就是使用百分比来设置元素的宽度,元素的高度按实际高度写固定值,流体布局中,元素的边线无法用百分比,可以使用样式中的计算函数
calc()
来设置宽度,或者使用box-sizing
属性将盒子设置为从边线计算盒子尺寸。
calc()
:可以通过计算的方式给元素加尺寸,比如:width:calc(25% - 4px);
- box-sizing
- 1、content-box 默认的盒子尺寸计算方式
- 2、border-box 置盒子的尺寸计算方式为从边框开始,盒子的尺寸,边框和内填充算在盒子尺寸内
- 4.3、响应式布局:响应式布局就是使用媒体查询的方式,通过查询浏览器宽度,不同的宽度应用不同的样式块,每个样式块对应的是该宽度下的布局方式,从而实现响应式布局。响应式布局的页面可以适配多种终端屏幕(pc、平板、手机)。相应布局的伪代码如下:写在样式里面
@media (max-width:960px){ .left_con{width:58%;} .right_con{width:38%;} } @media (max-width:768px){ .left_con{width:100%;} .right_con{width:100%;} }
五、基于 rem 的布局
- 5.1、em单位与rem单位的介绍
em
单位是参照元素自身的文字大小来设置尺寸,rem指的是参照根节点的文字大小,根节点指的是html标签
,设置html标签的文字大小,其他的元素相关尺寸设置用rem
,这样,所有元素都有了统一的参照标准,改变html文字的大小,就会改变所有元素用rem设置的尺寸大小。如下例子:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>em单位</title> <style type="text/css"> .box1{ font-size: 12px; width: 20em; height: 10em; background-color: gold; } .box2{ font-size: 20px; width: 20em; height: 10em; background-color: green; } p{ font-size: 20px; text-indent: 2em; } </style> </head> <body> <div class="box1"> </div> <br> <br> <div class="box2"> </div> <p>首先了解em单位,em单位是参照元素自身的文字大小来设置尺寸,rem指的是参照根节点的文字大小,根 节点指的是html标签,设置html标签的文字大小,其他的元素相关尺寸设置用rem, 这样,所有元素都有了统一的参照标准,改变html文字的大小,就会改变所有元素用rem设置的尺寸大小。</p> </body> </html>
提示:em是根据 font-size 变化的,例如:如果:
font-size: 20px;
,那么1em
就是20px
rem
使用的一个例子,如下
<!DOCTYPE html> <html lang="en" style="font-size: 20px"> <head> <meta charset="UTF-8"> <title>rem单位</title> <style type="text/css"> .box1{ font-size: 12px; width: 20rem; height: 10rem; background-color: gold; } .box2{ font-size: 20px; width: 20rem; height: 10rem; background-color: green; } </style> </head> <body> <div class="box1">我是12px大小</div> <br> <br> <div class="box2">我是20px大小</div> </body> </html>
提示:
<html lang="en" style="font-size: 20px">
中的font-size
大小发生改变,其他一rem为单位的尺寸都会发生改变 ,1rem=font-size:
的大小
- cssrem 插件的安装:可以动态地将px尺寸换算成rem尺寸,进入packages目录:Sublime Text -> Preferences -> Browse Packages... 复制下载的cssrem目录到刚才的packges目录里。 重启Sublime Text。配置参数 参数配置文件:Sublime Text -> Preferences -> Package Settings -> cssrem px_to_rem - px转rem的单位比例,默认为40。 max_rem_fraction_length - px转rem的小数部分的最大长度。默认为6。 available_file_types - 启用此插件的文件类型。默认为:
[".css", ".less", ".sass"]
。