Re: 答复: target 滚动目标(与行为?)的 CSS 属性(或 JS 方法?)

2015-01-23 18:39 GMT+11:00 Kang-Hao(Kenny)Lu(平寿) <
kanghao.lkh@alibaba-inc.com>:

> (1/22/15, 11:21), Xidorn Quan wrote:
> > 关于你在昨天的会上提出来的
> >
> > scroll-position: under-fixed | above-fixed | auto | <length>
> >
> > 我觉得 under-fixed 和 above-fixed 可能不太好,因为 fixed 这个用得很广
> > 泛,包括在有 sticky 之前的自动固定,还有 Fullscreen 元素和 dialog 一般都
> > 是 fixed 的。所以这里以 fixed 作为依据可能带来预期之外的结果。我觉得就一
> > 个 <length> 就好了。
>
> 'under-fixed' 这种东西主要是解决 Spark 文档那种固定 banner 的情形吧,这
> 种情形还是比代码导航的 GitHub 情形多一点,要我说的话其实这才最该是 #id
> 滚动本身的默认行为,只不过现在有这些 hack 了,浏览器应该有兼容性考量不太
> 愿意改这种地方?
>
> 所以对 Web 开发来说,可以考虑把 :target { scroll-position: under-fixed;
> } 放在 CSS Reset 里,剩下的再在有特例的页面微调。
>
> 至于预期以外的结果我觉得是 Web 开发自己负责了,一个页面里面最多有一个
> fixed 或是 sticky 才是常态吧。
>

我一点都不觉得是常态。倒不如说我怀疑只有一个 fixed 的是极少数。大多数页面或者没有 fixed,要有就有不止一个。你可以打开几个网页试试看。

我估计现在不少广告都用 fixed 了,更重要的是很多其他交互元件比如侧栏导航、弹框之类的,也会用 fixed。顶栏导航如果 fixed
的话,它的菜单估计很多时候也是独立的 fixed 元素。

所以我不觉得 under-fixed 这种值能够有很大的实际意义。


>  > 你给个 auto 让 UA 决定的话,我也不觉得 UA 有什么好的方法能够决定要用什么值……
>
> 这是是这样的,其实 HTML 规范到现在还是没有说浏览到 #id [1] 一定要用
> CSSOM View 的 scrollIntoView。我想之前贺老也是觉得 'under-fixed' (或是
> 适当的策略)应该要是默认行为吧,又或其实本来 #id 的滚动就可以考虑多留个
> 1em 左右的空间,不要直接跟边框边对齐……
>
> 不过我也承认浏览器不太可能在这种地方竞争、创新,所以默认值 0 合理点。
>
> 另外一种状况是 'under-fixed' 的算法可能也不会有全部人都同意的算法,特别
> 是 fixed/sticky 没占整个屏幕宽或是其他我没想到的情形,其实 'auto' 的意思
> 是 “我懒得想完整的意思”…… ;)
>
> [1]
>
> https://html.spec.whatwg.org/multipage/browsers.html#scroll-to-the-fragment-identifier

>
> > 不过这个东西看过去还是蛮有意义的。
>
> 之后有空给我们出个 Try Build 试试么 :p?以前讨论 CSS /* */ 注释的时候,
> 我还有给一个 www-styler Try Build 玩过……
>

有时间的话也许…… 不过好像还有点麻烦的样子……

Received on Friday, 23 January 2015 10:40:21 UTC