CSS属性中Display与Visibility区别分析

yizhihongxing

以下是关于“CSS属性中Display与Visibility区别分析”的详细攻略:

Display 与 Visibility 的区别

Display 与 Visibility 都是 CSS 属性用于控制元素的显示和隐藏,但它们的实现方式有所不同,主要体现在以下两方面:

1. 元素的完全不展示

Display 属性可以完全隐藏元素,不占据文档流,且不保留元素的空间,而 Visibility 属性则可以隐藏元素,但是元素还是占据原有的空间,并没有真正的完全隐藏。

Display 属性常用的属性值有:

  • none:将元素完全隐藏,不占据文档流,且不保留元素的空间。如果元素之前已设置了宽度、高度,则在 Display 为 none 时这些属性都将失效。
  • inline:将元素作为内联元素展示,和相邻的元素在同一行展示,但是不能设置宽度和高度等块级属性。
  • block:将元素展示为块级元素,始终占据一行,可以设置宽度、高度等块级属性。

2. 元素的显示与隐藏

另外,Display 和 Visibility 的实现方式也决定了它们在显示与隐藏过程中的表现有所不同。

Display 属性常用的属性值有:

  • block:元素默认为显示,设为 Display: none 后元素将不会显示出来。
  • inline:元素默认为显示,设为 Display: none 后元素将不会显示出来。
  • inline-block:元素默认为显示,设为 Display: none 后元素将不会显示出来。

相比之下 Visibility 属性只有两个属性值:

  • visible:元素默认为显示,设为 Visibility: hidden 后元素将被隐藏。
  • hidden:元素被隐藏后仍然占据原来的空间。

示例说明

Display 属性示例

<!-- HTML 代码 -->
<div class="demo" style="width: 100px; height: 100px; background-color: yellow;"></div>

/* CSS 代码 */
.demo{
  display:none;
}

在上述示例中,通过 Display: none 将 div 元素完全隐藏,不占据文档流,且不保留元素的空间。

Visibility 属性示例

<!-- HTML 代码 -->
<div class="demo" style="width: 100px; height: 100px; background-color: yellow;"></div>

/* CSS 代码 */
.demo{
  visibility:hidden;
}

在上述示例中,通过 Visibility: hidden 隐藏 div 元素,但是元素仍然占据原来的空间,不会改变文档流。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS属性中Display与Visibility区别分析 - Python技术站

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

相关文章

  • CSS样式书写顺序和命名规范及注意事项

    下面我来为您详细讲解CSS样式书写顺序和命名规范及注意事项的完整攻略。 CSS样式书写顺序 为了保证CSS代码的可维护性和清晰度,我们需要养成良好的CSS样式书写习惯,按照以下顺序书写CSS样式代码。 布局定位属性(display、position、float、clear等) 盒模型属性(width、height、padding、margin等) 字体属性(…

    css 2023年6月9日
    00
  • CSS学习之css代码的简写的十条规则

    当我们编写CSS样式代码的时候,有许多简写的方法可以使用,这些简写的方法可以让我们的CSS代码更加简洁、简单易懂。下面我将介绍CSS简写的十条规则,帮助大家更好地理解和应用CSS简写。 1. margin 和 padding 简写规则 margin 和 padding 可以分别用 4 个值的方式指定上、右、下和左边距或填充。他们的顺序是: 上 右 下 左 比…

    css 2023年6月10日
    00
  • CSS“隐藏”元素的多种方法的对比

    针对题目“CSS隐藏元素的多种方法的对比”,我将针对具体的隐藏方法进行讲解,包括以下几种方法: display: none; visibility: hidden; opacity: 0; position: absolute; left: -9999px; height: 0; overflow: hidden; 在具体的展开讲解之前,先来了解一下导致元素…

    css 2023年6月10日
    00
  • 给before和after伪元素设置js效果的方法

    给before和after伪元素设置js效果的方法主要有以下几个步骤: 首先,使用CSS选择器选中要添加效果的元素的before或after伪元素。例如: div:before { content: ""; display: block; width: 50px; height: 50px; background-color: red; …

    css 2023年6月10日
    00
  • 用纯CSS实现禁止鼠标点击事件示例代码

    实现禁止鼠标点击事件可以用到CSS中的pointer-events属性,下面是详细的攻略: 设置pointer-events属性为none 要禁止鼠标点击事件,我们可以为元素设置pointer-events为none,在元素上的所有鼠标事件都将被屏蔽。示例代码如下: .disabled { pointer-events: none; } 在上述示例代码中,我…

    css 2023年6月10日
    00
  • CSS3感应鼠标的背景闪烁和图片缩放动画效果

    首先,我们需要了解一下CSS3中的一些新的特性。CSS3中引入了众多新的特性,其中就包括了过渡(transition)、动画(animation)和变换(transform)这三个关键字,它们可以帮助我们实现各种各样的动画效果。 闪烁效果 首先,我们来实现一个背景色的闪烁效果。这个效果可以用以下代码实现: /* 定义动画,名称为 blink */ @keyf…

    css 2023年6月9日
    00
  • Vue组件实现景深卡片轮播示例

    下面是详细的“Vue组件实现景深卡片轮播示例”的攻略。 什么是景深卡片轮播 景深卡片轮播是一种卡片轮播式的组件,与一般的卡片轮播不同之处在于它可以在拖动卡片时产生景深效果,即中心卡片会放大,两侧卡片会逐渐缩小。这种效果能够提升用户体验,使得轮播更加流畅自然。 如何实现景深卡片轮播 Vue组件可以很方便地实现景深卡片轮播。我们需要进行以下几个步骤: 1.组件基…

    css 2023年6月11日
    00
  • 在Dreamweaver中插入有颜色的直线(水平线)

    要在Dreamweaver中插入有颜色的直线(水平线),可以通过以下步骤实现: 创建一个新的HTML文档,并按照惯例,将其保存在本地计算机上。 在Dreamweaver的工具栏中,选中“插入”选项卡,并选择“水平线”选项。 在弹出的“水平线属性”对话框中,您可以设置水平线的基本属性,例如线条粗细、颜色、高度和对齐方式等。 要设置水平线的颜色,您需要单击“颜色…

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