CSS隐藏/显示选择器仍在代码中显示文本吗?

时间:2019-05-14 23:13:37

标签: css

我认为:

X-Amz-Expires

哪个是非常简单的CSS类,应该完全隐藏文本?

我将以上内容应用于段落类:

.eventfuture
 {
  display: none !important;
 }

发生的是,“文本在这里ABC”被100%隐藏在浏览器的客户端(良好),但仍存在于源代码中(错误)。

这是正常行为吗?我确定不是。

我不希望搜索引擎为“此处的文本ABC”编制索引,因此为什么我希望它完全隐藏。

有什么想法可能是我做错了吗?

谢谢

3 个答案:

答案 0 :(得分:1)

css无法实现您要问的问题。 display: none;visibility: hidden;都将显示在源代码中。

但是,如果您希望源代码的那一部分不被Google索引,则可以使用:

<!--googleoff: index-->
<div>Something here</div>
<!--googleon: index>

但是仍然有一些文章说这行得通,有的说它行不通。

我一直在寻找100%解决方案。有人说使用jquery .show().hide()也会有所帮助。

重要提示:如果您需要SEO,则隐藏文本不是一个好习惯。 Google机器人不喜欢display: none;之类的隐藏文本,因为它们认为您正在隐藏关键字内容。

答案 1 :(得分:0)

我认为任何CSS都无法达到您的描述。

display: none  

只需视觉上即可隐藏其样式的元素。

如果要从文档中删除内容,则应使用javascript并从此处修改text / innerhtml。一个例子是:

document.getElementByClass("eventfuture")[0].innerHTML = "";

答案 2 :(得分:0)

display: none;的作用是不从DOM中隐藏元素。它只是向用户隐藏了它,搜索引擎仍然可以为其编制索引。可能您应该将其从服务器隐藏起来。 编辑 要从DOM中完全删除元素,这可能是一个解决方法:

var elem = document.querySelector('#some-element');
elem.parentNode.removeChild(elem);


Real code snippet
Check w3schools tutorial on display none