前端自适应图片留白解决

大家都知道我们在前端学习的时候都接触过img标签,这个是前端开发常用标签,我们在前端培训班学习的时候经常会遇到加背景图片出现显示不全或者是留白的问题,接下来我们就简单分析一下前端培训学习中常遇到的图片问题。

项目中图片引入标签是img,但是想要图片显示在完整的设置好的div盒子容器中,前面我们用背景图可以设置background-size设置,那么img是如何设置的。

一:background-size: contain 与cover的区别:

作用: 都是将图片以相同宽高比缩放以适应整个容器的宽高。

不同之处在于:

在no-repeat情况下,如果容器宽高比与图片宽高比不同,

cover:图片宽高比不变、铺满整个容器的宽高,而图片多出的部分则会被隐藏。;

contain:图片自身的宽高比不变,缩放至图片自身能完全显示出来,所以容器会有留白区域;

其实,从英文的意思来说:cover意味着“遮罩、遮盖”—此处理解为“填满”较恰当,contain意为“包含”–也就是:我图片虽然缩放了,但是整个图是被“包含”在你里面的,显示是必须完整的、不能有一点隐藏。

在repeat属性的情况下:cover:与上述一样图片填满容器;contain:容器盒子内至少会有一张完整的图片,其他留白的区域则平铺背景图。

二:如果是img便签

object-fit: contain; // contain与cover与background-size一样的用法

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端自适应(Responsive Web Design)是指网站能够根据用户设备的屏幕大小和分辨率等特性,自动调整页面布局和内容展示方式,以提供更好的用户体验。下面是一些实现前端自适应的代码技巧: 1. 使用响应式布局:使用 CSS3 Media Queries,设置不同屏幕大小和分辨率下的布局样式。例如: ```css /* 当屏幕宽度小于等于 768 像素时应用此样式 */ @media (max-width: 768px) { .container { width: 100%; padding: 0; } } /* 当屏幕宽度大于 768 像素时应用此样式 */ @media (min-width: 769px) { .container { width: 768px; padding: 20px; } } ``` 2. 使用弹性布局:使用 CSS Flexbox 或 Grid 等弹性布局技术,让页面中的元素能够自适应屏幕大小和分辨率的变化。例如: ```css .container { display: flex; flex-wrap: wrap; justify-content: space-between; } .item { flex-basis: calc(33.33% - 20px); margin-bottom: 20px; } ``` 3. 使用相对单位:使用相对单位(如百分比、em 等)代替绝对单位(如像素),以便让页面中的元素能够根据屏幕大小和分辨率自适应。例如: ```css .container { width: 100%; max-width: 1200px; } .item { width: 33.33%; padding: 1em; } ``` 4. 使用图片自适应技术:使用响应式图片图片缩放技术,让图片能够根据屏幕大小和分辨率自适应。例如: ```html <img src="example.jpg" srcset="example-large.jpg 1200w, example-medium.jpg 800w, example-small.jpg 400w" alt="example"> ``` 5. 使用 JavaScript:使用 JavaScript 编写自适应的脚本,根据设备屏幕大小和分辨率等参数动态改变页面布局和内容。例如: ```javascript function adjustLayout() { const screenWidth = window.innerWidth; const screenHeight = window.innerHeight; // 根据屏幕大小动态调整页面布局和内容 } window.addEventListener('resize', adjustLayout); ``` 综上所述,前端自适应需要综合运用多种技术,以实现页面布局和内容的动态适应。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值