如何使通栏Banner图片等比例完整显示且不裁剪?

保持宽高比显示全景横幅图片,避免裁剪或留白,是网页设计中常见的挑战。本文将介绍两种方法,确保16:3比例的横幅图片完整显示,且不失真。

使用Object-fit: contain;会造成两侧留白,而object-fit: cover;则会裁剪图片,如下图所示:

如何使通栏Banner图片等比例完整显示且不裁剪?

如何使通栏Banner图片等比例完整显示且不裁剪?

原始图片:

如何使通栏Banner图片等比例完整显示且不裁剪?

以下提供两种解决方案:

方法一:利用img标签和css

此方法通过设置容器的宽高比,并使用object-fit: cover;来确保图片填充容器,但不会被裁剪。

html代码:

<div class="image-container">   @@##@@ </div>

CSS代码:

.image-container {   width: 100%;   padding-top: calc(100% / (16 / 3)); /* 16:3比例 */   position: relative;   overflow: hidden; }  .image-container img {   position: absolute;   top: 0;   left: 0;   width: 100%;   height: 100%;   object-fit: cover; }

方法二:使用背景图片

此方法将图片设置为容器的背景,利用background-size: cover;实现填充,并用background-position: center;和background-repeat: no-repeat;确保图片居中且不重复。

HTML代码:

<div class="image-container"></div>

CSS代码:

.image-container {   width: 100%;   padding-top: calc(100% / (16 / 3)); /* 16:3比例 */   background-image: url('your-image.jpg');   background-size: cover;   background-position: center;   background-repeat: no-repeat; }

两种方法都能有效解决问题,选择哪种方法取决于你的项目需求和偏好。 记住替换your-image.jpg为你的图片路径。

如何使通栏Banner图片等比例完整显示且不裁剪?

© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享