窗口缩小 怎么让定位的盒子不动_一次解决你的图像尺寸和定位问题

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

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

默认行为

bb8a0d9a19983c6d17276bf627481ba2.png

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

8fe40f995489c8b01fc2ed79d0b89501.gif

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

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

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

.img-container {  width: 700px;  height: 450px;}.image{  width: 100%;  height: 100%}
c7e9c0418561ece44e6ff63ad409a2db.gif

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

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

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

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

6df1038b38e6a2691f294b7e7c990aa6.png
6729d915da0f1a7802a236ed86271b27.gif

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

广告

CSS选择器世界(异步图书出品)

作者:张鑫旭

京东

CSS 更多的内置特性

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

681f422b5428e0db985a74a1b2ad3591.png
background-position: center

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

background-size: cover

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

9a97dfc1a9766988aeb6e8a85b0dc863.gif

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

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

244ed81e07fbaf4caf212d9e924386b7.png

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


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

原文:https://medium.com/dev-genius/solve-your-image-sizing-and-positioning-problems-forever-7859e24118ce

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值