前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >移动端与PC端页面布局区别、background-size 背景图片的缩放

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

作者头像
Devops海洋的渔夫
发布2019-05-31 16:28:32
2.9K0
发布2019-05-31 16:28:32
举报
文章被收录于专栏:Devops专栏Devops专栏

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

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

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

首先编写一个div

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

切换手机显示

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

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

视口

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

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

代码语言:javascript
复制
<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端与移动端渲染网页过程:

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

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

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

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

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

清晰度解决过程示意图:

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

background新属性

background-size:

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

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

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

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

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

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

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

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

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.03.05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTML页面在手机端显示的存在问题
  • 视口
  • 视网膜屏幕(retina屏幕)清晰度解决方案
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档