Document the discrepancies of :visible/:hidden on select options between Firefox & the rest
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 48/100
- Issue 类型
- 文档
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- jquery
调研方向
首先,查看 jQuery API 中关于 :visible 和 :hidden 的文档,以及 src/css/hiddenVisibleSelectors.js 和链接的浏览器测试用例。记录 Firefox、IE 和其他浏览器中报告的差异,解释 CSSOM 中的灰色地带,并建议在使用这些选择器时保持谨慎;相关的 Firefox bug 也已链接以供参考。
由索引模型根据 Issue 内容生成。
描述
From https://github.com/jquery/jquery/issues/4463#issuecomment-527180911 by me:
:visible & :hidden which are jQuery selector extensions defined in src/css/hiddenVisibleSelectors.js. :hidden is defined as a negation of :visible so we can focus on the latter. And browsers differ here:
- Chrome 76, Safari 12.1 & Edge 18 match 0 elements for
:visible - Firefox 68 matches 2 elements. Its results for those two:
offsetWidth: 39 offsetHeight: 14 getClientRects().length: 1 - IE 11 matches 3 elements for
:visible. The results are not affected bydisplay: none:
The rect returned byoffsetWidth: 0 offsetHeight: 0 getClientRects().length: 1getClientRects()has all properties set to0.
The test case for the results I provided above: https://output.jsbin.com/bawosuv
From https://github.com/jquery/jquery/issues/4463#issuecomment-527182735 by me:
From a quick look at the CSSOM spec, all three properties (offsetWidth, offsetHeight & getClientRects) are expressed in terms of CSS layout box which has a note in the spec:
ISSUE 1 The terms CSS layout box and SVG layout box are not currently defined by CSS or SVG.
That indicates we're in a gray area here.
From https://github.com/jquery/jquery/issues/4463#issuecomment-529558196 by @gibson042:
It is an inconsistency, but I don't know that we should solve it. Lots of elements default to not having layout (<meta>, <style>, <template>, etc.), and in some cases that can be overridden. For example, <style> elements can have display: block, and—especially relevant here—<option>s in a <select multiple> really do take up space.
I think the right approach here is to push for a fix in Firefox, acknowledge that IE is just wrong, and add documentation recommending increased caution when using :hidden and :visible.
Issue reported in Firefox's bug tracker at https://bugzilla.mozilla.org/show_bug.cgi?id=1584752.
- 主要语言
- HTML
- 星标
- 324
- 派生
- 259
- 平均合并
- 1 天 30 分钟
- 30 天内合并 PR
- 1
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
jquery/api.jquery.com 的其他 Issue
-
Mention of ‘timestamp’ in documentation for ‘cache’ parameter of ‘ajax’ is misleading可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 1/5 1 小时以内 新手友好度 62/100
jquery/api.jquery.com#1241 · 2 条评论 ·
-
难度 1/5 1 小时以内 新手友好度 68/100
jquery/api.jquery.com#1176 ·
-
The documentation of CSS methods should be further classified可能重新可做 关联的 PR 已关闭且未合并。 未关闭
难度 2/5 1-3 小时 新手友好度 35/100
jquery/api.jquery.com#1281 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 35/100
jquery/api.jquery.com#1271 · 2 条评论 ·
-
难度 2/5 1-3 小时 新手友好度 45/100
jquery/api.jquery.com#1259 ·
查看 jquery/api.jquery.com 的全部 Issue
相似的 Issue
-
5-minutes algorithm all-levels any-language beginner-friendly community documentation easy first-timers-only good first issue hacktoberfest help wanted learning no-code-needed open-source python students
难度 2/5 1 小时以内 新手友好度 88/100
Huerte/algo-solutions-python#253 ·
维护者通常 1 天内回复
-
size/s
难度 1/5 1 小时以内 新手友好度 90/100
sipyourdrink-ltd/bernstein#7179 ·
维护者通常 1 天内回复
-
area/docs
难度 1/5 1 小时以内 新手友好度 86/100
meshery/meshery#23375 · 1 条评论 ·
维护者通常 1 天内回复
-
Synthetic
难度 1/5 1 小时以内 新手友好度 66/100
samtoth/agda-synthetic-categories#373 ·
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 62/100
tanaabased/big-test-bucket#19952 ·
维护者通常 1 天内回复