现在肯定有那些WTF时刻之一。
我正在尝试实现一种设计,当您继续向上滚动时,主要元素会离开画布。当然是响应式的。
我想这很容易做到。
main{
padding-bottom: 100%;
}
其中,我认为会在元素下方创建等于其高度 100% 的空间。它没有。然后,在检查了一些元素并阅读了一些规范之后,我发现了这种恐怖:
“百分比是根据生成框的包含块的宽度计算的。请注意,'margin-top' 和 'margin-bottom' 也是如此。” - W3C
这让我大吃一惊。我发现这个问题在问为什么,虽然我对那里的答案不满意,但我不会重复这个问题。
我想知道的是我怎样才能解决这个奇怪的问题?
从对该问题的其他评论之一,我调查了尝试将相关元素的流动更改为垂直的。
“根据 dev.w3.org/csswg/css3-box/#the-margin-properties,它声明‘请注意,在水平流中,‘margin-top’和‘margin-bottom’的百分比是相对于包含块,而不是高度(在垂直流中,'margin-left' 和 'margin-right' 是相对于高度,而不是宽度)。所以它是双向的。” ——亚当·斯威尼
所以我尝试添加writing-mode: vertical-rl;
,但这似乎并没有改变任何东西。不太清楚为什么,因为我认为它至少可能会旋转我的文本或其他东西,但没有改变。
所以,是的,我开始认为这在 CSS 中可能根本不可能,但对我来说,这只是精神上的。
感谢您的任何建议。