浏览器常见状态下,会在右侧预留滚动条位置。

所以,在常用文字书写模式下(例如英文),当文字长度长于视窗时,正常情况下会出现滚动条。如果设定了一定的宽度,并且允许自动回行,那么滚动条应当出现在竖向方向。

那么,当网页使用了 vertical 书写模式时,滚动条应该出现在哪里呢?

在竖写模式下,行文文字从上到下写,当写满浏览器窗口高度时,就回行。当行数宽度超出浏览器宽度时,就应该在浏览器下面出现滚动条。

接下来的问题是:如果鼠标有滚轮,通常情况下,滚轮向上推动,页面向下滚动,更上面的内容出现;滚轮向下滚动,则页面向上滚动,更下方的内容出现。如果出现横向滚动条,滚轮应该如何控制横向的内容呢?

因为竖写模式下还有两种换行方向,从左到右和从右到左。所以,我想理想状态应该是:滚轮向上推动,页面向页尾滚动,页首方向内容更多出现;滚轮向下滚动,页面向页首方向滚动,页尾方向内容更多出现。

这些操作已经不是鼠标的默认行为,所以需要通过编程方法来实现。例如使用 Javascript 等。下面就是一段可以基本实现的代码:

const element = document.querySelector("html");

element.addEventListener('wheel', (event) => {
  event.preventDefault();

  element.scrollBy({
    left: event.deltaY < 0 ? -30 : 30,
    
  });
});