0
点赞
收藏
分享

微信扫一扫

移动端与PC端页面布局区别、background-size 背景图片的缩放


仅供学习,转载请注明出处





移动端与PC端页面布局区别、background-size 背景图片的缩放_缩放


HTML页面在手机端显示的存在问题

HTML页面在电脑的浏览器显示跟在手机端的浏览器显示效果是不一样的,下面写个div来示例看看。

首先编写一个div




移动端与PC端页面布局区别、background-size 背景图片的缩放_缩放_02


那么下面来切换手机显示看看。

切换手机显示




移动端与PC端页面布局区别、background-size 背景图片的缩放_缩放_03


可以看到,切换了手机显示之后,div变得很小,并且里面的文字都看不清楚了。

那么该怎么办呢?下面来介绍视口的概念。

视口

视口是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px或者1024px,目的是为了显示下整个为PC端设计的网页,这样带来的后果是移动端会出现横向滚动条,为了避免这种情况,移动端会将视口缩放到移动端窗口的大小。这样会让网页不容易观看,可以用 meta 标签,name=“viewport ” 来设置视口的大小,将视口的大小设置为和移动设备可视区一样的大小。

设置方法如下( 快捷方式:meta:vp + tab ):

<head>
......
<meta name="viewport" content="width=device-width, user-scalable=no,
initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
......
</head>

pc端与移动端渲染网页过程:




移动端与PC端页面布局区别、background-size 背景图片的缩放_背景图_04


使用视口解决上面的div显示太小的问题




移动端与PC端页面布局区别、background-size 背景图片的缩放_缩放_05




移动端与PC端页面布局区别、background-size 背景图片的缩放_像素点_06


设置了视口之后,div显示比较正常了。

视网膜屏幕(retina屏幕)清晰度解决方案

视网膜屏幕指的是屏幕的物理像素密度更高的屏幕,物理像素可以理解为屏幕上的一个发光点,无数发光的点组成的屏幕,视网膜屏幕比一般屏幕的物理像素点更小,常见有2倍的视网膜屏幕和3倍的视网膜屏幕,2倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/4,3倍的视网膜屏幕,它的物理像素点大小是一般屏幕的1/9。

图像在视网膜屏幕上显示的大小和在一般屏幕上显示的大小一样,但是由于视网膜屏幕的物理像素点比一般的屏幕小,图像在上面好像是被放大了,图像会变得模糊,为了解决这个问题,可以使用比原来大一倍的图像,然后用css样式强制把图像的尺寸设为原来图像尺寸的大小,就可以解决模糊的问题。

清晰度解决过程示意图:




移动端与PC端页面布局区别、background-size 背景图片的缩放_缩放_07


背景图强制改变大小,可以使用background新属性

background新属性

background-size:

  • length:用长度值指定背景图像大小。不允许负值。
  • percentage:用百分比指定背景图像大小。不允许负值。
  • auto:背景图像的真实大小。
  • cover:将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。
  • contain:将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。

下面来使用这张图片作为背景缩放一下看看。




移动端与PC端页面布局区别、background-size 背景图片的缩放_像素点_08


background-size: length:用长度值指定背景图像大小。不允许负值。

首先写一个div放置这张背景图片。




移动端与PC端页面布局区别、background-size 背景图片的缩放_像素点_09


下面设置一下背景图片的大小,如下:




移动端与PC端页面布局区别、background-size 背景图片的缩放_像素点_10


使用这种方法是最频繁的,但是还有用百分比的方式。

background-size: percentage:用百分比指定背景图像大小。不允许负值。

这里的百分比其实就是div的宽高百分比,示例如下:




移动端与PC端页面布局区别、background-size 背景图片的缩放_像素点_11




移动端与PC端页面布局区别、background-size 背景图片的缩放_背景图_12


background-size: auto:背景图像的真实大小。




移动端与PC端页面布局区别、background-size 背景图片的缩放_缩放_13


cover:将背景图像等比缩放到完全覆盖容器,背景图像有可能超出容器。




移动端与PC端页面布局区别、background-size 背景图片的缩放_缩放_14


这个可能看得不是很清楚,其实​​cover​​参数就是等比例缩放至恰好覆盖div大小即可,如果图片等比例缩放的一半就可以覆盖div,那么div只会显示一半的图片。




移动端与PC端页面布局区别、background-size 背景图片的缩放_像素点_15


contain:将背景图像等比缩放到宽度或高度与容器的宽度或高度相等,背景图像始终被包含在容器内。




移动端与PC端页面布局区别、background-size 背景图片的缩放_缩放_16


微信公众号

移动端与PC端页面布局区别、background-size 背景图片的缩放_像素点_17

移动端与PC端页面布局区别、background-size 背景图片的缩放_像素点_18


举报

相关推荐

0 条评论