dje*_*lin 1 html css displayattribute
据我了解,根本不为元素渲染 HTML,或者添加 display:none,似乎具有完全相同的行为:两者都使元素消失而不与 HTML 交互。
我正在尝试禁用和隐藏复选框。所以HTML的总量很小;我无法想象性能会成为问题。
就编写服务器代码而言,编码工作大致相同。
鉴于这两种选择,一种做法比另一种更好吗?或者我使用哪个并不重要?
据我了解,根本不为元素渲染 HTML,或者添加 display:none,似乎具有完全相同的行为:两者都使元素消失而不与 HTML 交互。
不,这两个选项没有“完全相同的行为”。
如果你用 CSS ( display:none)隐藏一个元素,它仍然会被渲染
因此,如果您不需要它,请不要包含它。
如果出于某种原因,您必须包含该元素,但它与您的文档/用户无关(无论在哪个演示文稿中),则使用hidden属性. 通过使用此属性,您可以提供 HTML 级别的信息,因此不需要/不相关的 CSS 支持。
您可能想display:none另外使用(这是许多支持 CSS 的用户代理所做的,但它对于不支持该hidden属性的具有 CSS 功能的用户代理很有用)。
您还可以另外使用aria-hidden状态,这对于支持 WAI-ARIA 但不支持hidden属性的用户代理很有用。