gpt4 book ai didi

html - figcaption 不算作图形内的空间吗?

转载 作者:太空宇宙 更新时间:2023-11-03 22:16:18 24 4
gpt4 key购买 nike

TL;DR:是的,我“遗漏了一些明显的东西”。对此感到抱歉。

将图像放在图形中效果很好,所有边框都很好地嵌套:

No figcaption

但是当我添加一个图形标题时,图像的大小保持不变并溢出图形:

With figcaption

这就像图像的“高度:100%”占据了图形的 100%,忽略图形标题

我在 Firefox 和 Chrome 中得到相同的行为。

忽略任何横向问题;我去掉了那个代码。

这真的是它应该的行为方式吗,还是我遗漏了一些明显的东西?

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Stack Exchange Logo</title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
* { box-sizing: border-box; border-style: solid; padding: .1em; }
figure { height: 30em; width: 45%; }
figure>img { width: auto; height: 100%; border-color: red; }
</style>
</head>

<body>
<figure>
<figcaption>Stack Exchange Logo</figcaption>
<img alt="SE logo" src="https://pbs.twimg.com/profile_images/1213884858/apple-touch-icon_400x400.png" />
</figure>
</body>
</html>

最佳答案

这是因为您的 CSS 单位。 em 等于当前字体大小。这是一个可扩展的单元,但不是你想要的。应该允许您的 parent 根据其中的内容尽可能多地缩放以提高响应能力。看这里

figure { height: 30em; width: 45%; }

你的图形标签有一个宽度,不管它是什么,你在这里做错的是你在密封标签。您允许 45% 宽度但限制高度。然后你就做错了。

figure>img { width: auto; height: 100%; border-color: red; }

使图像缩放到全高。这就是为什么由于您的父 div 和此图像的 height:100% 的有界性,您会看到图像正在消失或溢出图形。您应该允许父级独立缩放并为改变外观的子元素定义宽度。

综上所述,综合考虑,你明白了

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Stack Exchange Logo</title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style>
* { box-sizing: border-box; border-style: solid; padding: .1em; }
figure { height: auto; width: 45%; }
figure>img { width: 100%; height: 100%; border-color: red; }
</style>
</head>

<body>
<figure>
<figcaption>Stack Exchange Logo</figcaption>
<img alt="SE logo" src="https://pbs.twimg.com/profile_images/1213884858/apple-touch-icon_400x400.png" />
</figure>
</body>
</html>

关于html - figcaption 不算作图形内的空间吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56622035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com