【发布时间】:2020-12-26 00:42:42
【问题描述】:
CSS Writing Modes Level 3 规范建立了诸如“块尺寸”之类的逻辑术语,对于水平书写模式(就像我现在写的那样),它是垂直的。因此,西方文字中的“块大小”将对应于物理尺寸“高度”。我理解那部分很好。
规范还将“块流向”定义为“块级盒子堆叠的方向和行盒子在块容器内堆叠的方向”,并表示writing-mode属性决定了块流方向。因此,如果日语使用vertical-rl 书写模式,则块流向将是水平的(从右到左)。在其他地方讨论抽象维度时,规范将“块轴”定义为相当于西方右模式中的垂直轴(在我正在写作的这个页面上,块垂直流动),以及垂直写作模式中的水平轴。
这就是我不清楚书写模式逻辑轴和整个页面流之间的区别(如果有的话)的地方。 (CSS盒模型的)整体页面流布局是否等同于由书写方式决定的块流?
这里有一个例子来说明我的怀疑。如果有使用vertical-rl书写模式垂直书写的日文页面,则“块轴”为横轴。那么这是否意味着页面水平流动?用户是否会向左滚动以查看页面的其余部分,而不是向下滚动?考虑一个典型的着陆页,在屏幕顶部有一个“英雄”,然后是它下面的各个部分,底部有一个页脚。在vertical-rl写作模式下,用户是否会向左滚动以查看英雄下方的部分?
我想问题归结为:整体页面流向是否真的等同于块流向,或者最终页面总是流动并向下滚动而不考虑写作模式?
由于有些人不理解我所说的“整体页面流”,请看CSS 2.1 § 9.4.1 Normal flow > Block formatting contexts:
在块格式化上下文中,框从包含块的顶部开始,一个接一个地垂直排列。
所以问题可以重述:如果有一个页面使用vertical-rl 的writing-mode 编写,如上所示导致水平“块流向”,这是否真的导致“正常流向” CSS 2.1 § 9.4 更改为“一个接一个地横向布局”而不是“一个接一个地纵向布局”?页面是否水平滚动而不是垂直滚动?
【问题讨论】:
-
页面将双向流动(无论书写模式如何,都会自然向下)。我认为 MDN 上的示例恰好表明 developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flow_Layout/…
-
这可能取决于您所说的“整体页面流”。你能指出这个概念的官方定义吗?但是 CSS 2.2 定义了块和内联流的工作方式。溢出有义务遵守这一点。必须应用滚动以允许访问位于两个轴的正坐标处的溢出内容。
-
“整体页面流程”我指的是 CSS 2.1 § 9.4 的“正常流程”,用于块格式化上下文;查看我更新的问题。
-
当然这是可以简单测试的。将
vertical-rl的书写模式设置为根元素,并提供超过一页的文本。如果这样做,您将看到页面将水平增长,并且当它溢出视口时,您将获得一个水平滚动条。我错过了什么?
标签: css internationalization page-flow