前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一次解决你的图像尺寸和定位问题。

一次解决你的图像尺寸和定位问题。

作者头像
前端小智@大迁世界
发布2020-09-18 10:03:40
9340
发布2020-09-18 10:03:40
举报
文章被收录于专栏:终身学习者终身学习者

作者:Taylor Coon 译者:前端小智 来源:medium

假如有一天,你老板给你一些帅气照片,他希望发布在公司自己网站上面,且希望能兼容其它端。 但2个月后,他在手机上打开网站,看到他的帅气图像被压成一个小盒子,或者图像被不成比例地压扁,他略微生气跟你(前端)说,给你半天的时间,立马解决。如果解决不了,那在给你半天的时间。

对于刚入门的不久的前端小伙伴可能给他一个礼拜也解决不了,因为要兼容所有的端,这时候他要怎么办呢?这里有一种方案,可以解决所有屏幕大小、所有卡片大小或任何其他用例上的问题,我们来看看这个万能的方法。

默认行为

clipboard.png
clipboard.png

将图像导入到我们的组件中,然后将其放在页面上,下面是正常默认的情况:

图片描述
图片描述

在不同的视口上,图片随着屏幕的变化而变化。在不同的消费设备上有超过10,000种不同的屏幕尺寸。有小到360px宽的手机。有5k台imac,也有 4k电视,这么多尺寸,我们要怎么去适配图片呢?

把外围容器的大小写死怎么样?

我们可以将图片的包裹元素的大小写死,如:

代码语言:javascript
复制
.img-container {
  width: 700px;
  height: 450px;
}

.image{
  width: 100%;
  height: 100%
}
图片描述
图片描述

这会比刚开始的好的多了,图像不再随视口的大小进行缩放,视口变大的时候,图片也只显示外围容器设置的大小。 但是,如果视口太小,则会切除图像的底部。

另外,如果用户使用的是大屏幕,则该图像不会自动按比例放大或缩小,因此生成的设计中的图像可能太大或太小。

CSS有一些内置的特性来帮助我们

我们来试试另一种方法。不需要将图像导入到组件中,直接在CSS文件中引用它:

clipboard.png
clipboard.png
图片描述
图片描述

background-image默认情况下不会将图像缩小以适应div大小,因此我们只能看到图像的左上角。

CSS 更多的内置特性

在CSS中, 还有一些 background-image 相关的选项:

clipboard.png
clipboard.png
代码语言:javascript
复制
background-position: center

告诉浏览器将图像居中放置在div上。

代码语言:javascript
复制
background-size: cover

这告诉浏览器自动将图像缩小以适合div的大小。

图片描述
图片描述

假设图片是从后台过来的,那又要怎么做?

如果图片是从远程请求过来的,那我们可以使用内联样式:

clipboard.png
clipboard.png

这样也能完美用 css 的方法来解决图片定位,大小的问题。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 默认行为
  • 把外围容器的大小写死怎么样?
  • CSS有一些内置的特性来帮助我们
  • CSS 更多的内置特性
  • 假设图片是从后台过来的,那又要怎么做?
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档