使用display: none彻底隐藏元素且不占布局空间,visibility: hidden则隐藏但保留空间;可通过class、id、属性选择器(如data-testid、src包含ads)或伪类(如:nth-child、:hover、:not)精准控制隐藏目标。

要通过CSS选择器隐藏特定元素,最常用的方法是使用 display: none 或 visibility: hidden。两者效果不同:前者完全从布局中移除元素,后者仅让元素不可见但仍占空间。
使用 display: none 彻底隐藏元素
这是最常用的隐藏方式,元素不再占据页面空间。
/* 隐藏 class 为 "ad-banner" 的元素 */
.ad-banner {
display: none;
}
/ 隐藏 id 为 "header" 的元素 /
header {
display: none;
}
/ 隐藏所有 p 标签中的最后一行 /
p:last-child {
display: none;
}
根据属性选择器隐藏特定元素
你可以通过元素的属性来精准定位并隐藏它。
立即学习“前端免费学习笔记(深入)”;
/* 隐藏所有 data-testid 属性值为 "popup" 的元素 */
[data-testid="popup"] {
display: none;
}
/ 隐藏 src 包含 "ads" 的 img 元素 /
img[src*="ads"] {
display: none;
}
结合伪类隐藏符合条件的元素
利用伪类可以按位置或状态选择元素。
- :nth-child(n):隐藏某个位置的子元素
- :hover:配合交互临时隐藏
- :not():排除某些元素后隐藏其余
/* 隐藏列表中的第二个 li */
li:nth-child(2) {
display: none;
}
/ 鼠标悬停时隐藏元素 /
.card:hover .tooltip {
display: none;
}
visibility: hidden(保留空间)
如果只是想让元素看不见但保留其在页面中的位置,可用:
.invisible-element {
visibility: hidden;
}
注意:该方式不会改变布局,元素仍会影响文档流。
基本上就这些。选择哪种方式取决于你是否需要保留元素的空间以及具体的选择条件。灵活运用CSS选择器和显示属性,就能精准控制页面元素的可见性。










