谈谈CSS隐藏元素(display,visibility)的区别

yizhihongxing

下面我将详细讲解“谈谈CSS隐藏元素(display,visibility)的区别”。

1. display与visibility的区别

1.1 display属性

display属性用于设置元素在页面中的显示方式。通过设置display属性,我们可以让元素被隐藏或显示。常见的display取值包括:none、block、inline、inline-block等。

  • none:完全隐藏元素,不占据页面文档流中的位置和空间。
  • block:将元素显示为块级元素,会在前后添加换行符,且默认占满父容器的宽度。
  • inline:将元素显示为内联元素,不会添加换行符,会自动根据内容大小进行调整。
  • inline-block:将元素显示为同行的块级元素,不会添加换行符,也能够通过设置宽高等样式进行调整大小和位置。

以文字与图片为例,如下所示:

.text {
  display: none;
}

.img {
  display: block;
}

上述代码中,将文本元素设置为none,即在页面中完全隐藏元素。将图片元素设置为block,表示将图片元素显示为块级元素,并占用父容器的宽度,图片能够正常显示。

1.2 visibility属性

visibility属性用于设置元素的可见性。通过设置visibility属性,我们可以让元素被隐藏或显示。visibility常见的取值包括:visible、hidden、collapse。

  • visible:默认值,元素可见。
  • hidden:元素隐藏,但在页面文档流中占据位置和空间。
  • collapse:元素被隐藏,且表格边框被合并在一起。

以按钮为例,如下所示:

button {
  visibility: hidden;
}

上述代码中,将按钮元素的visibility设置为hidden,即使按钮元素被隐藏,但在页面文档流中仍然占据位置和空间。

2. display与visibility的适用场景

2.1 display的适用场景

display属性适用于需要隐藏或显示元素,并且需要影响页面布局的情况下,比如弹出层、交互动效等。

以弹出层为例,如下所示:

.modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
}

.modal.show {
  display: block;
}

上述代码中,将弹出层元素的display设置为none,表示默认情况下弹出层不显示。当需要展示弹出层时,通过为元素添加show类名,将弹出层元素display设置为block,即可在页面中显示弹出层。

2.2 visibility的适用场景

visibility属性适用于需要实现元素隐藏或显示,但不影响页面布局的情况下,比如鼠标悬停显示提示信息等。

以提示信息为例,如下所示:

.tip {
  visibility: hidden;
  position: absolute;
  top: 20px;
  left: 20px;
  background-color: #fff;
  padding: 10px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
}

.hover {
  position: relative;
}

.hover:hover .tip {
  visibility: visible;
}

上述代码中,将提示信息元素的visibility设置为hidden,表示默认情况下提示信息不显示。当鼠标悬停在提示信息元素的父元素上时,为父元素添加hover类名,通过设置子元素的visibility为active来显示提示信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:谈谈CSS隐藏元素(display,visibility)的区别 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • 基于JavaScript实现轮播图原理及示例

    下面详细讲解基于JavaScript实现轮播图的完整攻略。 前置知识 在学习实现轮播图之前,需要掌握以下前置知识: HTML基础知识 CSS基础知识 JavaScript基础知识 DOM操作知识 事件处理知识 实现原理 轮播图的实现原理是,通过在HTML中创建一个容器元素来装载图片,再通过CSS设置容器元素的宽度和高度,使其成为一个特定尺寸的矩形区域。接着,…

    css 2023年6月10日
    00
  • CSS实现鼠标移至图片上显示遮罩层效果

    下面我将详细讲解如何使用CSS实现鼠标移至图片上显示遮罩层的效果,步骤如下: 步骤一:HTML 结构 首先,我们需要在HTML文件中创建一个 元素并在其中添加一个 元素。如下所示: <div class="wrapper"> <img src="https://example.com/image.jpg&quo…

    css 2023年6月10日
    00
  • Dreamweaver中css选择器中的类怎么使用?

    在 Dreamweaver 中,可以使用 CSS 选择器中的类来定义样式。以下是关于如何使用 CSS 选择器中的类的完整攻略: Dreamweaver 中 CSS 选择器中的类怎么使用? 在 Dreamweaver 中,可以使用 CSS 选择器中的类来定义样式。类选择器以点号(.)开头,后面跟着类名。以下是一个示例: .my-class { color: r…

    css 2023年5月18日
    00
  • 前端面试学习中几个常见有用的知识点

    当准备面试前端工程师的时候,建议重点掌握以下几个知识点: 1. HTML/CSS基础 HTML、CSS是前端开发最基础、最常用的技术,面试时通常也是必问的问题。主要包括: 标签的语义化 块级和行内元素 CSS选择器、层叠和优先级 盒子模型、浮动与定位 参考链接: MDN Web 文档 W3Schools Online Web Tutorials 2. Jav…

    css 2023年6月10日
    00
  • 浅谈styled-components的用法

    浅谈styled-components的用法 什么是styled-components styled-components 是 React 应用程序中使用的一种 CSS-in-JS 库。这意味着您可以在组件中编写 CSS,而不是在样式表文件中编写 CSS。这可以防止 CSS 的样式冲突问题,使得代码易于理解和维护。除此之外,styled-components…

    css 2023年6月9日
    00
  • HTML的a标签href属性指定相对路径与绝对路径的用法讲解

    我们来详细讲解一下HTML的a标签href属性指定相对路径与绝对路径的用法。 1. 什么是相对路径和绝对路径 在了解a标签的href属性指定相对路径与绝对路径时,我们需要先理解相对路径和绝对路径的概念。 相对路径是相对于当前路径的一种表示方式,例如网站中的页面链接。 绝对路径是从根路径开始的路径表示方式,例如访问文件夹中的某个文件。 2. href属性指定相…

    css 2023年6月10日
    00
  • js实现带圆角的多级下拉菜单效果

    要实现带圆角的多级下拉菜单效果,需要使用HTML、CSS和JavaScript技术。 HTML部分 首先,在HTML中创建ul和li元素,代表菜单和菜单项。每个菜单项li需要设置一个唯一的id,同时在li中添加一个包含菜单项文本的a元素。同时,为了便于样式控制和避免全局污染,还可以给每个菜单一个独特的class。 CSS部分 菜单的样式设定需要涉及到多个方面…

    css 2023年6月10日
    00
  • 一文教你玩转CSS 组合选择器

    一文教你玩转CSS 组合选择器 CSS组合选择器是CSS选择器的一种,它使用多个简单选择器组合在一起,以选择特定元素。在CSS设计中,组合选择器可以让我们更灵活高效地选择页面元素进行样式设置。 基础语法 组合选择器可以使用空格、大于号、加号等符号来组合多个简单选择器,常见的符号组合如下: 空格 (空格表示选择器之间的任意下一级元素) 大于号 (> 表示…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部