📜  css - ocultar texto (1)

📅  最后修改于: 2023-12-03 15:00:04.373000             🧑  作者: Mango

CSS - 隐藏文本

在网页开发中,有时需要隐藏某些文本内容,比如对于搜索引擎不友好的关键词、提示信息等。CSS提供了很多方式可以实现文本的隐藏。

1. display: none;

使用display: none;可以完全隐藏文本,不占用页面空间,也不会在屏幕上显示。该样式可以应用于任何元素,例如:

.hide {
  display: none;
}

在HTML中使用该类名,该元素中的文本就会被完全隐藏。

<p class="hide">这段话将被隐藏</p>
2. visibility: hidden;

使用visibility: hidden;可以隐藏文本,但仍然占用页面空间,不会影响页面布局。同样,该样式也可以应用于任何元素,例如:

.hide {
  visibility: hidden;
}

在HTML中使用该类名,该元素中的文本就会被隐藏。

<p class="hide">这段话将被隐藏</p>
3. font-size: 0;

使用font-size: 0;可以将元素中的文本大小设置为零,也就是说文本不可见,但仍然占用页面空间。需要注意的是,该样式只能应用于文本元素,例如:

.hide {
  font-size: 0;
}

在HTML中使用该类名,该元素中的文本就会被隐藏。

<p class="hide">这段话将被隐藏</p>
4. text-indent: -9999px;

使用text-indent: -9999px;可以将元素中的文本移出屏幕,也就是说文本不可见,但仍然占用页面空间。该样式通常用于图片替换文本的场景。

.hide {
  text-indent: -9999px;
  overflow: hidden;
  white-space: nowrap;
}

在HTML中使用该类名,该元素中的文本就会被隐藏。

<h1 class="hide">Logo</h1>

需要注意的是,由于该元素的文本内容已经移出屏幕,因此需要设置overflow: hidden;防止文本溢出,同时也需要设置white-space: nowrap;防止换行。

5. clip-path: inset(100%);

使用clip-path: inset(100%);可以将元素中的文本裁剪掉,也就是说文本不可见,不占用页面空间。该样式通常用于在不影响页面布局的同时隐藏文本内容。

.hide {
  clip-path: inset(100%);
}

在HTML中使用该类名,该元素中的文本就会被隐藏。

<p class="hide">这段话将被隐藏</p>

需要注意的是,由于该样式的兼容性问题,需要加上浏览器前缀:

.hide {
  -webkit-clip-path: inset(100%);
  clip-path: inset(100%);
}

以上是CSS实现文本隐藏的五种方式。需要根据具体的场景选择合适的样式。