CSS基础:display的3个常见属性值详解

news2025/1/15 17:35:20

你好,我是云桃桃。

一个希望帮助更多朋友快速入门 WEB 前端的程序媛。

云桃桃-大专生,一枚程序媛,感谢关注。回复 “前端基础题”,可免费获得前端基础 100 题汇总,回复 “前端工具”,可获取 Web 开发工具合集

276篇原创内容-更多前端系列内容可以go公众.h:云桃桃

后台回复“前端工具”可获取开发工具,持续更新中

后台回复“前端基础题”可得到前端基础100题汇总,持续更新中

后台回复“前端电子书”可获取20+本精选电子书

前言

display 属性用于控制元素的显示方式:是否显示/如何显示元素。大多数元素的 display 属性有两种状态:块级元素(Block)和 内联元素(Inline)。

除了这两种常见的状态外,还有一些其他的 display 属性取值,如 inline-blockflexgrid 等,用于实现更灵活的布局和样式效果。

因为,对于新手,其他属性相对复杂,本次呢,我们么主要来介绍 display 的 3 个基础常用的属性值。

display 属性值

display 属性的常见取值包括:

  1. block:将元素显示为块级元素,会在页面中独占一行或一块空间,垂直排列。

常见的块级元素包括 <div><p><h1> 到 <h6><ul><ol><li> 等。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Block Elements Example</title>
    <style></style>
  </head>
  <body>
    <!-- div 块级元素 -->
    <div>This is a div block element.</div>

    <!-- p 段落元素 -->
    <p>This is a paragraph block element.</p>

    <!-- h1-h6 标题元素 -->
    <h1>Heading 1 Block Element</h1>
    <h2>Heading 2 Block Element</h2>

    <!-- ul 和 li 列表元素 -->
    <ul>
      <li>Item 1</li>
      <li>Item 2</li>
      <li>Item 3</li>
    </ul>
  </body>
</html>

图片

  1. inline:将元素显示为内联元素,不会独占一行,而是随着内容长度而自动扩展,水平排列。

常见的内联元素包括 <span><a><strong><em><img><input> 等。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Inline Elements Example</title>
  </head>
  <body>
    <!-- span 内联元素 -->
    <span>This is a span inline element.</span>

    <!-- a 锚点元素 -->
    <a href="#">This is an anchor inline element.</a>

    <!-- strong 加粗元素 -->
    <strong>This is a strong inline element.</strong>

    <!-- em 斜体元素 -->
    <em>This is an em inline element.</em>

    <!-- img 图片元素 -->
    <img src="img/heart-fill.png" alt="Example Image" />

    <!-- input 输入框元素 -->
    <input type="text" placeholder="Enter text" />
  </body>
</html>

图片

  1. none:将元素隐藏,不占据页面空间。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Display None Example</title>
    <style>
      /* 隐藏元素 */
      .hidden {
        display: none;
      }

      /* 普通元素 */
      .normal {
        background-color: #ec4a4a;
        padding: 10px;
        margin-bottom: 20px;
      }
    </style>
  </head>
  <body>
    <!-- 隐藏元素 -->
    <div class="hidden">这是一个隐藏的元素。</div>

    <!-- 普通块级元素 -->
    <div class="normal">这是一个普通的块级元素。</div>
  </body>
</html>

效果如图:

图片

它的主要实际应用场景包括:

  1. 交互性组件的控制:在 Web 应用中,经常会有需要动态显示或隐藏的交互性组件,比如弹出框、菜单等。通过 display: none; 可以控制这些组件的显示和隐藏状态,实现更好的用户交互体验。

  2. 表单元素的条件性显示:有时候需要根据用户的操作或选择来动态显示或隐藏表单的某些部分,比如根据选择的选项显示不同的输入框或下拉菜单,比如地址,选择了省才会出现市、区,比如当你注册网站填错信息的时候,在下方给与的红色提示。使用 display: none; 可以实现这种条件性显示。

  3. 响应式布局中的隐藏元素:在响应式设计中,可能需要根据设备尺寸隐藏或显示特定的元素,以优化用户体验。使用 display: none; 可以在不同的媒体查询条件下隐藏或显示特定的内容。擎不友好的内容,比如重复内容或不相关内容。通过 display: none; 可以隐藏这些内容,同时保持页面的优化。

总的来说,display: none; 是 CSS 中常用的属性之一,在实际开发中具有广泛的应用场景,可以实现页面元素的动态显示和隐藏,提升用户体验和页面交互性。

延伸:

那如果只希望元素不可见,但仍占据位置,可以怎么做?

那就可以用 visibility: hidden; 了。visibility 属性值用于控制元素的可见性,与 display 属性值类似,也有 visible 和 hidden 两个取值。

visibility: visible; 表示元素可见,visibility: hidden; 表示元素不可见,但仍然占据页面空间,这个你可以自己试一下~

更改 display 属性值

更改 display 属性值意味着改变元素在页面中的显示方式,可以将元素从一个类型变换成另一个类型,比如从块级元素变为内联元素或反之。更改 display 属性值的主要场景包括但不限于:

  1. 调整元素的布局方式,例如从块级元素变为内联元素或反之,其实从内联转为块元素的情况较多,比如 a 标签超链接。

  2. 控制列表项或表格元素的显示方式,以实现特定的排版效果。

  3. 实现交互效果,如通过 JavaScript 控制元素的显示与隐藏。

以下是代码,展示如何使用 CSS 更改元素的 display 属性。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Display Property Example</title>
    <style>
      .convert-block-element {
        display: block;
        width: 200px;
        height: 30px;
        background-color: #ccc;
        margin-bottom: 10px;
      }

      .convert-inline-element {
        display: inline;
        color: blue;
      }
    </style>
  </head>
  <body>
    <!-- 转为块级元素 -->
    <h3>转换前的a标签</h3>
    <a href="#">这是链接</a>
    <a href="#">这是链接</a>
    <a href="#">这是链接</a>
    <h3>看,a标签换行了。</h3>
    <a href="#" class="convert-block-element">这是链接</a>
    <a href="#" class="convert-block-element">这是链接</a>
    <a href="#" class="convert-block-element">这是链接</a>
    <hr />

    <!-- 转换为内联元素 -->
    <h3>转换前的div标签</h3>
    <div>这是普通div</div>
    <div>这是普通div2</div>
    <div>这是普通div3</div>
    <div>这是普通div4</div>
    <h3>看,div在一行了。</h3>
    <div class="convert-inline-element">转为了内联元素</div>
    <div class="convert-inline-element">转为了内联元素2</div>
    <div class="convert-inline-element">转为了内联元素3</div>
    <div class="convert-inline-element">转为了内联元素4</div>
  </body>
</html>

效果如下:

图片

ok,本文完。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1609007.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

13-LINUX--消息队列

一.消息队列 1.消息队列&#xff1a;消息队列为一个进程向另一个进程发送一个数据块提供了条件&#xff0c;每个数据块会包含一个类型。 2.相关函数 1>.msgget(key_t key,int msgflg) : 创建消息队列 2>. msgsnd&#xff1a;把消息添加到消息队列 3>.msgrcv &#xf…

【Golang】Gin教学-获取请求信息并返回

安装Gin初始化Gin处理所有HTTP请求获取请求的URL和Method获取请求参数根据Content-Type判断请求数据类型处理JSON数据处理表单数据处理文件返回JSON响应启动服务完整代码测试 Gin是一个用Go&#xff08;又称Golang&#xff09;编写的HTTP Web框架&#xff0c;它具有高性能和简洁…

【React】Sigma.js框架网络图-入门篇

一、介绍 Sigma.js是一个专门用于图形绘制的JavaScript库。 它使在Web页面上发布网络变得容易&#xff0c;并允许开发人员将网络探索集成到丰富的Web应用程序中。 Sigma.js提供了许多内置功能&#xff0c;例如Canvas和WebGL渲染器或鼠标和触摸支持&#xff0c;以使用户在网页上…

【数据结构】图论(图的储存方式,图的遍历算法DFS和BFS、图的遍历算法的应用、图的连通性问题)

目录 图论一、 图的基本概念和术语二、图的存储结构1. 数组(邻接矩阵)存储表示无向图的数组(邻接矩阵)存储表示有向图的数组(邻接矩阵)存储表示 邻接表存储表示有向图的十字链表存储表示无向图的邻接多重表存储表示 三、图的遍历算法图的遍历——深度优先搜索&#xff08;DFS&a…

cdp集群Hbase组件HRegionServer服务停止原因以及排查

前言&#xff1a;重启集群后某一节点HRegionServer服务停止&#xff0c;重启前所有服务均正常 去查看日志&#xff1a; 日志报错 ERROR HRegionServer Master rejected startup because clock is out of sync org.apache.hadoop.hbase.ClockOutOfSyncException: org.apache.h…

Amazon云计算AWS之[1]基础存储架构Dynamo

文章目录 Dynamo概况Dynamo架构的主要技术主要问题及解决方案Dynamo的存储节点数据均衡分布的问题一致性哈希算法改进一致性哈希算法 数据备份数据冲突问题成员资格及错误检测容错机制临时故障处理机制永久性故障处理机制 Dynamo概况 面向服务的Amazon平台基本架构为了保证其稳…

【深度学习】Vision Transformer

一、Vision Transformer Vision Transformer (ViT)将Transformer应用在了CV领域。在学习它之前&#xff0c;需要了解ResNet、LayerNorm、Multi-Head Self-Attention。 ViT的结构图如下&#xff1a; 如图所示&#xff0c;ViT主要包括Embedding、Encoder、Head三大部分。Class …

小球反弹(蓝桥杯)

文章目录 小球反弹【问题描述】答案&#xff1a;1100325199.77解题思路模拟 小球反弹 【问题描述】 有一长方形&#xff0c;长为 343720 单位长度&#xff0c;宽为 233333 单位长度。在其内部左上角顶点有一小球&#xff08;无视其体积&#xff09;&#xff0c;其初速度如图所…

Targeted influence maximization in competitive social networks

abstract 利用口碑效应的广告对于推销产品是相当有效的。在过去的十年中&#xff0c;人们对营销中的影响力最大化问题进行了深入的研究。影响力最大化问题旨在将社交网络中的一小群人识别为种子&#xff0c;最终他们将引发网络中最大的影响力传播或产品采用。在网络营销的实际场…

微信小程序日期增加时间完成订单失效倒计时(有效果图)

效果图 .wxml <view class"TimeSeond">{{second}}</view>.js Page({data: {tiem_one:,second:,//倒计时deadline:,},onLoad(){this.countdown();},countdown(){let timestamp Date.parse(new Date()) / 1000;//当前时间戳let time this.addtime(2024…

记一次中间件宕机以后持续请求导致应用OOM的排查思路(server.max-http-header-size属性配置不当的严重后果)

一、背景 最近有一次在系统并发比较高的时候&#xff0c;数据库突然发生了故障&#xff0c;导致大量请求失败&#xff0c;在数据库宕机不久&#xff0c;通过应用日志可以看到系统发生了OOM。 二、排查 初次看到这个现象的时候&#xff0c;我还是有点懵逼的&#xff0c;数据库…

k8s 部署 kube-prometheus监控

一、Prometheus监控部署 1、下载部署文件 # 使用此链接下载后解压即可 wget https://github.com/prometheus-operator/kube-prometheus/archive/refs/heads/release-0.13.zip2、根据k8s集群版本获取不同的kube-prometheus版本部署 https://github.com/prometheus-operator/k…

基于SSM的物流快递管理系统(含源码+sql+视频导入教程+文档+PPT)

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM的物流快递管理系统2拥有三个角色&#xff1a; 管理员&#xff1a;用户管理、管理员管理、新闻公告管理、留言管理、取件预约管理、收件管理、货物分类管理、发件信息管理等 用户…

C#在窗体中设计滚动字幕的方法:创建特殊窗体

目录 1.涉及到的知识点 (1)Timer组件 (2)Label控件的Left属性 (3)启动和关闭Timer计时器 2. 实例 &#xff08;1&#xff09;Resources.Designer.cs设计 &#xff08;2&#xff09; Form1.Designer.cs设计 &#xff08;3&#xff09;Form1.cs设计 &#xff08;4&#…

社交媒体数据恢复:与你科技

在数字时代&#xff0c;数据是我们生活中的重要组成部分。无论是个人照片、文档&#xff0c;还是企业的重要资料&#xff0c;数据在我们的生活中扮演着举足轻重的角色。然而&#xff0c;数据丢失的问题时常发生&#xff0c;给我们带来了很多麻烦。幸运的是&#xff0c;当下众多…

CentOS 7静默安装Oracle 11g(记一次最小化CentOS 7安装Oracle 11g的经历)

# [pdf在线免费转word文档](https://orcc.online/pdf) https://orcc.online/pdf 1.最小化安装CentOS 7后首先设置一下固定IP 可以先查询一下自己的网卡设备的名称&#xff0c;是ens33&#xff0c;所以网卡配置文件名称就是ifcfg-ens33&#xff08;前面的ifcfg-不用管&#xf…

Discuz! X3.4 升级至 Discuz! X3.5 详细教程

第一步&#xff1a;从其他以前的 Discuz! X 版本升级Discuz! X3.4 请先升级到Discuz! X3.4&#xff0c;升级教程网上比较普遍&#xff0c;在此不再论述。 第二步&#xff1a;Discuz! X3.4 升级至 Discuz! X3.5 &#xff08;Discuz 从 X3.5 以后&#xff0c;不在发布GBK版本&…

【Unity学习笔记】第十三 · tag与layer(运行时创建tag和layer)

参考&#xff1a; Unity手册 标签Unity手册 LayersIs it possible to create a tag programmatically?脚本自动添加tag和Layer 注&#xff1a;本文使用Unity版本是2022.3.23f1 转载引用请注明出处&#xff1a;&#x1f517;https://blog.csdn.net/weixin_44013533/article/de…

c++使用googletest进行单元测试

googletest进行单元测试 使用Google test进行测试一、单元测试二、使用gmock测试 使用Google test进行测试 使用场景&#xff1a; 在平时写代码中&#xff0c;我们需要测试某个函数是否正确时可以使用Google test使用&#xff0c;当然&#xff0c;我们也可以自己写函数进行验证…

给rwkv-pytorch 写个chat ui demo

rwkv-pytorch 项目地址 rwkv-pytorch from nicegui import uimessage_dict {1: [{"name":"Assistant","text":"你好"}]} current_name 1 import aiohttpasync def get_text_async(text"Hello, how are you?"):# 定义AP…