首页 > 其他分享 >如何让大小不同的图片等比缩放不变形显示在固定大小的div里?写个例子

如何让大小不同的图片等比缩放不变形显示在固定大小的div里?写个例子

时间:2024-11-24 18:12:29浏览次数:4  
标签:fit 缩放 object 大小 div 宽高比 图片

要让大小不同的图片等比缩放不变形显示在固定大小的 div 里,关键在于设置 object-fit CSS 属性。以下是一个例子,并解释了不同的 object-fit 值的效果:

<!DOCTYPE html>
<html>
<head>
<title>Image Scaling</title>
<style>
.container {
  width: 200px;
  height: 200px;
  border: 1px solid black;
  margin-bottom: 10px; /* Add some spacing between divs */
}

.container img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* Change this value to see different effects */
}

.fill img {
  object-fit: fill;
}

.cover img {
  object-fit: cover;
}

.none img {
  object-fit: none;
}

.scale-down img {
  object-fit: scale-down;
}


</style>
</head>
<body>

<h1>Contain (Default)</h1>
<div class="container">
  <img src="https://via.placeholder.com/150x250">
</div>

<h1>Fill</h1>
<div class="container fill">
  <img src="https://via.placeholder.com/150x250">
</div>

<h1>Cover</h1>
<div class="container cover">
  <img src="https://via.placeholder.com/150x250">
</div>

<h1>None</h1>
<div class="container none">
  <img src="https://via.placeholder.com/150x250">
</div>

<h1>Scale-down</h1>
<div class="container scale-down">
  <img src="https://via.placeholder.com/150x250">
</div>



</body>
</html>

解释:

  • object-fit: contain;: 这是默认行为。图片会完全包含在 div 内,保持宽高比不变。如果图片的宽高比与 div 的宽高比不同,图片周围会出现空白。

  • object-fit: fill;: 图片会拉伸以填满整个 div,可能会导致图片变形。

  • object-fit: cover;: 图片会缩放以覆盖整个 div,保持宽高比不变。图片的某些部分可能会被裁剪掉。

  • object-fit: none;: 图片不会缩放。图片的原始大小会被保留,可能会超出 div 的边界。

  • object-fit: scale-down;: 图片会缩小以适应 div,保持宽高比不变。如果图片的原始大小小于 div,则不会缩放。 类似于 containnone 中较小的那个效果。

如何选择合适的 object-fit 值:

  • 如果你希望图片完整显示且不变形,即使周围有空白,选择 contain
  • 如果你希望图片填满整个 div,即使变形,选择 fill
  • 如果你希望图片覆盖整个 div,即使裁剪,选择 cover。 这通常用于背景图片。
  • 如果你不希望图片缩放,选择 none
  • 如果你希望图片缩小以适应 div,但不大于原始大小,选择 scale-down

通过修改 object-fit 的值,并使用不同大小的图片进行测试,你可以找到最适合你需求的显示方式。 这个例子使用了占位图,你可以替换成你自己的图片地址。

标签:fit,缩放,object,大小,div,宽高比,图片
From: https://www.cnblogs.com/ai888/p/18566114

相关文章

  • 如何更改placeholder的字体颜色和大小?
    要更改placeholder的字体颜色和大小,您可以使用CSS伪元素::placeholder。以下是如何操作的:方法一:直接在CSS中设置样式这是最常见和推荐的方法。您可以在样式表或<style>标签内添加以下CSS代码:input::placeholder{color:gray;/*设置颜色*/font-size:14px;......
  • 写出div在不固定高度的情况下水平垂直居中的方法?
    在div高度不固定的情况下,实现水平垂直居中的方法有很多,以下是几种常见且有效的方法:1.Flexbox布局(推荐):这是现代CSS中最简洁和灵活的解决方案。.container{display:flex;justify-content:center;/*水平居中*/align-items:center;/*垂直居中*/min......
  • 外层有一个自适应高度的div,里面有两个div,一个高度固定300px,另一个怎么填满剩余的高度?
    YoucanachievethisusingacombinationofCSSFlexboxorGrid.Herearetwosolutions:1.FlexboxSolution:<divclass="outer"><divclass="fixed-height">FixedHeight(300px)</div><divclass="fill-remai......
  • FastHTML 组件:学习使用 Div、P、A、Form 等常用组件
    FastHTML提供了一系列内置组件,用于构建HTML页面。这些组件可以像Python对象一样使用,并可以嵌套使用来创建复杂的页面结构。以下是一些常用的FastHTML组件:Div:创建一个div元素,可以包含其他HTML元素。P:创建一个段落元素,可以包含文本或其他HTML元素。A:创建......
  • HTML学生个人网站作业设计:动漫网站设计——樱桃小丸子(6页) HTML+CSS+JavaScript 简单
    一、......
  • 【CodeForces训练记录】CodeTON Round 9 (Div. 1 + Div. 2, Rated, Prizes!)
    训练情况赛后反思发现自己越来越能猜结论了,连续两题结论猜对了,一把rating上青了。A题构造一个数组使得模数互不相同,考虑构造一个模数为\([0,1,2,3,4,5]\)的数列,所以一个全是奇数的数列\([1,3,5,7,9]\)符合条件,直接输出\(1\simn\)的奇数即可。#include<bits/stdc++.......
  • CSS文本属性:字体、加粗、斜体、对齐方式、下划线、首行缩进、字母大小写、字间距,词间
    1.非常常用!!!字体大小:16px、18pxfont-size:大小;字体颜色:red、green、#ff0000、#f00(两个相同的可以省略一个)coror:颜色;2.字体设置字体:Arial,Verdana,Thoma,sans-serif,simsun.....font-family:字体;3.加粗font-weight:xx;xx:下面的单词或整百数值(100-900)。    nor......
  • matlab中mrdivide和mldivide记录
    解方程中常常见到Ax=B的形式,虽然可以用A^{-1}Ax=A^{-1}B的形式,也就是把A的逆矩阵求解出来的方式处理,但是A不是方阵时是没有办法用求逆的方法处理的,matlab中提供了mldivide和mrdivide的方式,具体如下:1.Ax=BA在x的左侧,调用mldivide(A,B),此处的l与A对应,表明左边的A在变量的左侧2.x......
  • 实现Qtextedit控件大小改变时候希望不重新绘制
    实现Qtextedit控件大小改变时候希望不重新绘制4.备选方案5.完整示例6.总结要在QTextEdit控件大小改变时防止其重新绘制,可以通过创建一个自定义的QTextEdit子类,并重载相关事件来控制绘制行为。以下是实现这一目标的详细步骤和示例代码:创建自定义的QTextEdit......
  • WebGl 缩放矩阵
    缩放矩阵是线性代数中的一种矩阵,用于描述图形在空间中沿着各个坐标轴进行均匀缩放的变换。在3D图形编程中,缩放矩阵通常用于调整物体的大小,而不改变其形状。|x000||0y00||00z0||0001|其中,(x,y,z)是缩放向量,表示沿着x、y、z轴的缩放比......