可以暂时或永久隐藏任何东西吗 display:none?在动态站点中,页面的许多组件来自不同的插件等,很多时候,如果客户不想要页面上的任何内容,那么我会使用 dispaly:none 从 page 中隐藏内容。我不会从实际源中删除该东西,因为客户可以回来要求再次启用该东西。

那么让东西隐藏起来有什么优点和缺点:如果我使用任何元素隐藏,则没有 Display:none 永远?

在搜索引擎优化、屏幕阅读器、辅助功能等方面有什么缺点吗?

有帮助吗?

解决方案

优点:很容易做

缺点:

  • 您仍在服务器端加载组件,客户端将下载它们。浏览器根本不会“显示”它们。
  • 任何使用“查看源代码”的人都可以看到“隐藏”的值。所以永远不要用它来隐藏敏感信息。

您可以简单地在服务器端“注释”这些部分,以节省服务器上的大量处理、带宽等。

其他提示

如果客户想要删除它,然后创建页面的备份,并发布页面,实际上已经移除。不要为的实际的移除项目替代CSS。如果他们决定他们希望在未来,然后去和交换你的备份你的活动副本。如果您正在使用动态输出处理(在PHP或类似技术的情况下),你可以停止与评论特定输出,使他们永远包含在响应中。

这可能也是这里值得一提的是,一些搜索引擎(谷歌做示例)采取的隐藏内容股票。

使用隐藏文本display:none;大量的是的东西很多搜索引擎拿起滥用关键字之一。

:)

这是有道理的隐藏/显示用的东西“显示:无”当你做客户端Ajax。这样,您就可以切换视图/标签没有做服务器往返。

这是需要真正从页面标记删除的东西时,有安全隐患。如果用户没有看到一些敏感信息的权利,它不应该在那里当他们点击“显示源”。

display: none好隐瞒的东西,你要看到,当人们打开这并不CSS关闭或使用的浏览器支持CSS。

至于无障碍进入,有一个很大的机会的东西隐藏的“显示:无;”将不通过屏幕阅读器读取。如果打算为它是这样,这可能是可以接受的。

一个可能替代躲藏屏幕阅读器的内容/ CSS-报价仅是使用这个类:

.offscreen {
    position: absolute;
    left: -9000px;
    width: 0;
    overflow: hidden;
}

和下面的HTML:

<h3 class="offscreen">Site Navigation</h3>

有关隐藏技术的完整信息: http://www.access-matters.com / 2005/04/23 /屏幕阅读器试验结果/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top