gpt4 book ai didi

css - 使用此自包含示例解析图像 + radio 的 `vertical-align: middle`

转载 作者:行者123 更新时间:2023-11-28 03:35:33 28 4
gpt4 key购买 nike

这个问题有人问过many times before .

常见的答案是使用 vertical-align: middle 来设置样式就足够了。

也许问题在于,这些问题中没有一个是通过独立的完整示例提出的。 SVG 是使示例独立的好方法,但该问题适用于任何类型的图像。

在这么长的前奏之后,为什么应用 vertical-align: middle 到单选组和 SVG 图像没有将它们垂直对齐到中间?

<!DOCTYPE HTML>
<head>
<meta charset="UTF-8">
<style>
.myRadio .myradioG { vertical-align: middle; }
svg { stroke:black; stroke-width:5; opacity:0.5; }
</style>
</head>
<body>
<label class="myLabel">
<input type="radio" name="radioGroup" class="myradioG">
<svg width="100" height="100" viewBox="0 0 100 100">
<circle cx="50" cy="50" r="30"
style="fill:blue;" />
</svg>
</label>
<label class="inline-radio">
<input type="radio" name="radioGroup" class="myradioG">
<svg width="100" height="100" viewBox="0 0 100 100">
<rect x="20" y="20" rx="15" ry="15" width="60" height="60"
style="fill:red;" />
</svg>
</label>
</body>

考虑到成千上万的赞成票,这 Q & A同样建议用这个替换上面的样式:

<style>
svg { stroke:black; stroke-width:5; opacity:0.5; vertical-align:middle; }
</style>

应该工作。它没有。为什么?

更新

我从迈克尔的回答中看到了一个潜在的混淆来源。我省略了指定我试图垂直对齐的内容(因为我的直觉是使用还不是很统一的图像图标的样式很差——相同的高度、相同的分辨率、相同的线条粗细——正如你在这里从相同的 svg 中看到的那样宽度/高度/ View 框)。

我想将单选按钮与图像垂直对齐。

更新 2

如果有人可以添加一个简短的评论来阐明为什么当前的解决方案有效,那就太好了。讨论说“将 vertical-align: middle 设置为您要垂直对齐的任何元素”。在这里,我们试图将单选按钮与图像垂直对齐,而不是相反,但正确的解决方案是将“vertical-align: middle”应用于图像,而不是单选按钮。为什么?

最佳答案

您将 vertical-align 分配给两者中较高的一个(SVG),或者如果您不确定哪个更高,则可以将它应用于两者。

<!DOCTYPE HTML>
<head>
<meta charset="UTF-8">
<style>
svg { stroke:black; stroke-width:5; opacity:0.5; vertical-align: middle; }
</style>
</head>
<body>
<label class="myLabel">
<input type="radio" name="radioGroup" class="myradioG">
<svg width="100" height="100" viewBox="0 0 100 100">
<circle cx="50" cy="50" r="30"
style="fill:blue;" />
</svg>
</label>
<label class="inline-radio">
<input type="radio" name="radioGroup" class="myradioG">
<svg width="100" height="100" viewBox="0 0 100 100">
<rect x="20" y="20" rx="15" ry="15" width="60" height="60"
style="fill:red;" />
</svg>
</label>
</body>

关于css - 使用此自包含示例解析图像 + radio 的 `vertical-align: middle`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44503267/

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