如果我们有一个固有尺寸为300pxx300px的图像,则该图像的内容框也是300pxx300px.如果我们通过css将图像尺寸更改为,比方说,300pxx200px,图像将显示失真.

img {
  height: 300px;
  width: 200px;
}

我想知道,从技术上讲,这里发生了什么.Css的尺寸是content boxthe image,还是两者都有?

我将在这里冒险,并建议使用css设置内容框的样式,并且默认情况下,图像适合该框.我之所以这样假设,是因为fillobject-fit的默认设置.如果我们将图像设置为object-fit: cover,图像将不再失真(其中一些图像隐藏在内容框的边界之外),但300px x 200px的尺寸仍然适用于内容框.

我还没能在规格中找到这个问题的答案.有没有人能给我指个方向,或者给我个答案?如果有任何有缺陷的 idea 或术语,请随时纠正我!

推荐答案

你的 idea 是正确的.在这方面,图像并不是特别的.当应用box-sizing:content-box时,大小属性、高度、宽度、最小变量和最大变量及其与流相关的对应物都应用于内容框,而当应用box-sizing:border-box时,大小属性都应用于边界框.

然后,如您所述,图像将呈现在内容框中.

所以相关的规格是the box-sizing property

Html相关问答推荐

HTML::Element endtag为br和IMG生成结束标签>

角|将动态html属性添加到子组件

使用tauri构建的Next.js应用程序不显示我的404页面

每次在视口中运行动画

需要帮助实现悬停动画效果

Tumblr博客:如何修复提交页面和询问页面框列计数问题?

OnChange函数未在下拉列表中使用一个选项触发

Chatbox底部显示新消息,并向上推送旧消息

获取标准的Python脚本,以便使用FASK对网站进行Flask

禁用所有行,但在16角中单击编辑按钮的行除外

浮动Div在CSS中未按预期工作

使自定义图像滑块全宽

margin-top 未应用于无序列表的第一项

如何在 VS Code 中 Select 和删除 HTML 元素(其标签和内容)?

在 flexbox 中使用 spacer 是否有效

为什么
标签在 Edge 和 Firefox 中的编号会有两种不同的结果?

在 CSS 中的 div 中获取文本以环绕其他文本?

高度大于页面高度和页面大于覆盖的 CSS 覆盖

列宽等于最宽列宽度的无界容器

那里有一个类似于 ?