CSS填充百分比

CSS填充百分比,css,padding,percentage,Css,Padding,Percentage,我刚注意到一件很奇怪的事,看看这个。有两个高度不同的容器。两个容器的元素都设置为10%的垂直填充,这在逻辑上意味着较短容器的元素应该彼此更接近。令人惊讶的是,事实并非如此。有人能给我解释一下这种行为吗?我想知道是否可以安全地说,无论父母的身高如何,填充百分比都是常量(px) HTML: 填充基于宽度的百分比,因为您的宽度相同,所以它们将相同。尝试添加与高度相等的宽度,如下所示: .foo, .bar { display:inline-block; border:solid black 1px;

我刚注意到一件很奇怪的事,看看这个。有两个高度不同的容器。两个容器的元素都设置为10%的垂直填充,这在逻辑上意味着较短容器的元素应该彼此更接近。令人惊讶的是,事实并非如此。有人能给我解释一下这种行为吗?我想知道是否可以安全地说,无论父母的身高如何,填充百分比都是常量(px)

HTML:
填充基于宽度的百分比,因为您的宽度相同,所以它们将相同。尝试添加与高度相等的宽度,如下所示:

.foo, .bar { display:inline-block; border:solid black 1px; }

.foo { height: 200px; width: 200px; }
.foo div { padding-top: 10%; }

.bar { height:300px; width: 300px; }
.bar div { padding-top: 10%; }
看看小提琴:


希望这能有所帮助。

基于宽度的百分比填充,因为您的宽度是相同的,所以它们将是相同的。尝试添加与高度相等的宽度,如下所示:

.foo, .bar { display:inline-block; border:solid black 1px; }

.foo { height: 200px; width: 200px; }
.foo div { padding-top: 10%; }

.bar { height:300px; width: 300px; }
.bar div { padding-top: 10%; }
看看小提琴:


希望这能有所帮助。

基于宽度的百分比填充,因为您的宽度是相同的,所以它们将是相同的。尝试添加与高度相等的宽度,如下所示:

.foo, .bar { display:inline-block; border:solid black 1px; }

.foo { height: 200px; width: 200px; }
.foo div { padding-top: 10%; }

.bar { height:300px; width: 300px; }
.bar div { padding-top: 10%; }
看看小提琴:


希望这能有所帮助。

基于宽度的百分比填充,因为您的宽度是相同的,所以它们将是相同的。尝试添加与高度相等的宽度,如下所示:

.foo, .bar { display:inline-block; border:solid black 1px; }

.foo { height: 200px; width: 200px; }
.foo div { padding-top: 10%; }

.bar { height:300px; width: 300px; }
.bar div { padding-top: 10%; }
看看小提琴:



希望这有帮助。

10%与文本的
div
大小有关,而不是与父容器
div
有关。由于两个
div
s之间的文本相同,因此它们将具有相同的填充量。

10%与文本
div
的大小有关,而不是与父容器
div
有关。由于两个
div
s之间的文本相同,因此它们将具有相同的填充量。

10%与文本
div
的大小有关,而不是与父容器
div
有关。由于两个
div
s之间的文本相同,因此它们将具有相同的填充量。

10%与文本
div
的大小有关,而不是与父容器
div
有关。由于两个
div
s之间的文本相同,它们将具有相同的填充量。

“这是一些代码,因为这样不允许我发布问题…”为什么不将小提琴中的相关代码发布到问题中?代码要求是有原因的。@MikeK我同意,但无论如何,10%与文本的
div
大小有关,而不是与父容器
div
有关。既然两个
div
s之间的文本是相同的,它们将具有相同的填充量。@MikeK为什么要将答案作为注释发布?根据你的问题,听起来你想让一个div的文本更接近。然而,我对这一部分没有答案。此外,我个人认为我提供的评论质量不足以作为答案发布。“这是一些代码,因为这样我就不允许发布问题…”为什么不将小提琴中的相关代码发布到问题中?代码要求是有原因的。@MikeK我同意,但无论如何,10%与文本的
div
大小有关,而不是与父容器
div
有关。既然两个
div
s之间的文本是相同的,它们将具有相同的填充量。@MikeK为什么要将答案作为注释发布?根据你的问题,听起来你想让一个div的文本更接近。然而,我对这一部分没有答案。此外,我个人认为我提供的评论质量不足以作为答案发布。“这是一些代码,因为这样我就不允许发布问题…”为什么不将小提琴中的相关代码发布到问题中?代码要求是有原因的。@MikeK我同意,但无论如何,10%与文本的
div
大小有关,而不是与父容器
div
有关。既然两个
div
s之间的文本是相同的,它们将具有相同的填充量。@MikeK为什么要将答案作为注释发布?根据你的问题,听起来你想让一个div的文本更接近。然而,我对这一部分没有答案。此外,我个人认为我提供的评论质量不足以作为答案发布。“这是一些代码,因为这样我就不允许发布问题…”为什么不将小提琴中的相关代码发布到问题中?代码要求是有原因的。@MikeK我同意,但无论如何,10%与文本的
div
大小有关,而不是与父容器
div
有关。既然两个
div
s之间的文本是相同的,它们将具有相同的填充量。@MikeK为什么要将答案作为注释发布?根据你的问题,听起来你想让一个div的文本更接近。然而,我对这一部分没有答案。此外,我个人不相信我提供的评论有足够的质量作为一个答案张贴。