CSS新手入门笔记整理:元素类型相互转换

元素类型

块元素(block)

  • 独占一行,排斥其他元素跟其位于同一行,包括块元素和行内元素。
  • 块元素内部可以容纳其他块元素和行内元素。
  • 可以定义 width,也可以定义 height。
  • 可以定义 4 个方向的 margin。

行内元素(inline)

  • 可以与其他行内元素位于同一行。
  • 行内元素内部可以容纳其他行内元素,但不可以容纳块元素。
  • 无法定义 height,也无法定义 width。
  • 可以定义 margin-left 和 margin-right,无法定义 margin-top 和 margin-bottom。

行内块元素( inline-block)

  • 可以定义 width 和 height。
  • 可以与其他行内元素位于同一行。

表格(table)

  • 以表格形式显示,类似于 table 元素

表格行(table-row)

  • 以表格行形式显示,类似于 tr 元素

表格单元格(table-cell)

  • 以表格单元格形式显示,类似于 td 元素

元素类型转换

在 CSS 中,我们可以使用 display 属性来改变元素的类型。

语法

元素{dispiay:取值;}

属性值

说明

inline

转换为行内元素

block

转换为块元素

inline-block

转换为行内块元素

table

以表格形式显示,类似于 table 元素

table-row

以表格行形式显示,类似于 tr 元素

table-cell

以表格单元格形式显示,类似于 td 元素

none

隐藏元素


拓展:display:none 简介

  • 在 CSS 中,我们可以使用 display:none 来隐藏一个元素,并且被隐藏的元素不再占据原来位置的空间。
  • display:none 一般用来配合 JavaScript 动态隐藏元素,被隐藏的元素不占据原来位置的空间。
  • display:none 不推荐用来隐藏一些对 SEO(Search Engine Optimization,搜索引擎优化)关键的部分。因为对于搜索引擎来说,它会直接忽略 display:none 隐藏的内容,不会把display:none 隐藏的内容加入权重考虑。

display:none 和 visibility:hidden 的区别

在 CSS 中,如果想要隐藏某一个元素,可以使用 display:none 或者 visibility:hidden 来实现。虽然两种方式都可以隐藏元素,但是它们之间有着本质的区别。

display:none

元素被隐藏之后,不占据原来的位置,也就是说元素“彻底地消失了,看不见也摸不着。”

visibility:hidden

元素被隐藏之后,依然占据原来的位置,也就是说元素“并没有彻底消失,看不见但摸得着”。


拓展:display:table-cell功能用途

图片垂直居中于元素

配合使用 display:table-cell 和 vertical-align:middle 来实现大小不固定的图片的垂直居中效果。

语法

父元素
{
 display:table-cell;
 vertical-align:middle;
}
子元素{vertical-align:middle;}


等高布局

语法

盒子1{display:table-cell;}
盒子2{display:table-cell;}

两个盒子都不定义高度时,大小而是由盒子的内容撑开。分别给两个元素都转换成“table-cell”,这时两个盒子高度相等,并且高度由两者高度的最大值决定。这就是 “自适应等高布局。”


自动平均划分元素

当有多个元素横向排列时,可以为每一个元素定义 display:table-cell,它会自动平均划分元素,并且使得它们在同一行显示。

语法

父元素{display:table;}
子元素1{display:table-cell;}
······
子元素n{display:table-cell;}
  • 如果为父元素定义 display:table,为子元素定义 display:table-cell,然后为父元素定义一定的宽度,那么此时子元素的宽度就会根据子元素的个数自动平均划分。

拓展: 去除 inline-block 元素间距

  • inline-block 元素之间会有一定的间距,这种间距有时会对布局产生影响。大多数时候为了不影响布局,需要去除 inline-block 元素的间距。
  • 在 CSS 中,可以为父元素定义一个“font-size:0;”来去除 inline-block 元素的间距。

语法

父元素{font-size:0;}
子元素{display:inline-block}


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

格式工厂功能详解!!

格式工厂(Format Factory)是由上海格诗网络科技有限公司创立于2008年2月,是面向全球用户的互联网软件。 下载地址https://www.onlinedown.net/soft/64717.htm: 该软件的主打产品“格式工厂”发展以来,已经成为全球领…

为什么越来越多的人从事软件测试行业?

1.市场需求增加:随着数字化转型和互联网的普及,各行各业都需要高质量、稳定可靠的软件来支持其业务运作。因此,对软件测试人员的需求也随之增加。同时,新兴技术的发展,如物联网、大数据、区块链、人工智能等&#xff0…

VR全景技术对房产行业有什么好处,如何帮助展示户型

引言: 随着科技的飞速发展,VR全景技术逐渐走入我们的生活,为我们带来了前所未有的沉浸式体验。在房产行业,VR全景技术正逐渐改变传统的户型和样板间展示方式,为购房者带来更为直观、真实的购房体验。 一、VR全景技术在…

如何在 Eolink Apikit 中发起 TCP/UDP 文档测试

TCP/UDP 是两种常用的网络传输协议。TCP 协议提供可靠的连接,而 UDP 协议提供不可靠的连接。 TCP 协议是面向连接的协议,在建立连接之前,客户端和服务器需要先握手。握手完成后,客户端和服务器之间就会建立一个可靠的连接。在连接…

方案分享:如何做好云中的DDoS防御?

所有企业都会有遭受DDoS攻击的风险。由于目前DDoS即服务(DaaS)的售价低廉,因此对于恶意攻击者来说,发起攻击比以往任何时候都更加容易,技术门槛也更低。分析公司IDC一项关于DDoS防御的调查显示,超过50%的IT…

RocketMQ源码 Broker-ConsumerFilterManager 消费者数据过滤管理组件源码分析

前言 ConsumerFilterManager 继承了ConfigManager配置管理组件,拥有将内存数据持久化到磁盘文件consumerFilter.json的能力。它主要负责,对在消费者拉取消息时,进行消息数据过滤,且只针对使用表达式过滤的消费者有效。 源码版本&…

README

spark基础入门 环境搭建 localstandlonespark ha spark code spark corespark sqlspark streaming 环境搭建 准备工作 创建安装目录 mkdir /opt/soft cd /opt/soft下载scala wget https://downloads.lightbend.com/scala/2.13.12/scala-2.13.12.tgz -P /opt/soft解压scala…

Python内置类属性`__cmp__`属性的使用教程

概要 在Python中,__cmp__属性是一个特殊的方法,用于自定义类的实例之间的比较方式。深入了解和熟练运用这一特性,可以使自定义类更加灵活和强大。本教程将详细介绍__cmp__的基本概念、高级用法以及一些注意事项,通过丰富的示例代…

Android多进程和跨进程通讯方式

前言 我们经常开发过程中经常会听到线程和进程,在讲述Android进程多进程前我打算先简单梳理一下这俩者。 了解什么是进程与线程 进程: 系统中正在运行的一个应用程序,某个程序一旦运行就是一个进程,是资源分配的最小单位&#…

【TC3xx】GETH

目录 一、RGMII 二、SMI接口 三、TC3xx MCAL 3.1 MCU 3.2 Port 3.3 DMA 3.4 中断配置 3.5 ETH 3.6 集成 一、RGMII TC3xx支持MII/RMII/RGMII三种以太网数据通信接口。其中RGMII经常用于MAC和MAC之间,或MAC与PHY之间的通信,RGMII的带宽可以是10M…

vue2-安装elementUI时警告

警告内容&#xff1a;npm WARN deprecated core-js2.6.12: core-js<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up …

【通俗易懂】基于fabric8io操作k8s集群实战(pod、deployment、service、volume)

目录 前言一、基于fabric8io操作pod1.1 yaml创建pod1.2 fabric8io创建pod案例 二、基于fabric8io创建Service&#xff08;含Deployment&#xff09;2.1 yaml创建Service和Deployment2.2 fabric8io创建service案例 三、基于fabric8io操作Volume3.1 yaml配置挂载存储卷3.2 基于fa…

JAVA:注册表窗口的实现

目录 题目要求&#xff1a; 思路大意&#xff1a; 窗体的实现&#xff1a; 窗口A&#xff1a; 窗口B&#xff1a; 窗体之间的构思&#xff1a; 关键代码的实现&#xff1a; 窗口A&#xff1a; 封装列表&#xff1a; 窗口B&#xff1a; 题目要求&#xff1a; 使用…

国产数据库适配-南大通用(Gbase)问题整理

Gbase 函数 [GBase 8s 教程]GBase 8s 常用函数、表达式_gbase函数-CSDN博客 Gbase 8s hibernate方言包下载&#xff1a; Index of /dl/hibernate select * from sysmaster:sysdbslocale 导出数据 su - gbasedbt export DB_LOCALEzh_CN.57372 export CLIENT_LOCALEzh_cn…

复制粘贴——QT实现原理

复制粘贴——QT实现原理 QT 剪贴板相关类 QClipboard 对外通用的剪贴板类&#xff0c;一般通过QGuiApplication::clipboard() 来获取对应的剪贴板实例。 // qtbase/src/gui/kernel/qclipboard.h class Q_GUI_EXPORT QClipboard : public QObject {Q_OBJECT private:explici…

如何制作一份吸引人的家具展示册

对于家具销售商来说&#xff0c;一份吸引人的家具展示册是至关重要的。它不仅可以帮助销售商展示产品&#xff0c;还可以吸引潜在客户的注意力&#xff0c;并激发他们的购买欲望。 那现在就有人问我&#xff0c;新手该怎么办&#xff1f;不会制作&#xff1f;其实这个问题早就…

玩转大数据17:数据采集与实时流处理的架构设计

引言 随着大数据技术的不断发展&#xff0c;数据采集与实时流处理成为了许多企业和组织的核心需求。本文将介绍一种数据采集与实时流处理的架构设计&#xff0c;包括数据采集、实时流处理、数据存储和数据分析等方面。 一、数据采集 数据采集是整个架构的基础&#xff0c;它…

用栈解决迷宫问题

思想 使用栈来解决迷宫问题的思想是通过深度优先搜索算法来探索迷宫中的路径。栈的特点是后进先出&#xff0c;这正好符合深度优先搜索的思想&#xff0c;即先探索一个方向直到无法继续为止&#xff0c;然后回溯到上一个节点&#xff0c;再探索其他方向。 具体来说&#xff0…

ubuntu20.04里面安装目标检测数据标注软件labelImg的详细过程

1.在github克隆仓库到本地 地址&#xff1a;https://github.com/Ruolingdeng/labelImg.git 或者百度网盘下载 链接&#xff1a;https://pan.baidu.com/s/1p-478j5WOTN0TKmv3qh-YQ?pwdl8bj 提取码&#xff1a;l8bj 2、进入到labelimg的文件夹&#xff0c;安装pyqt相关依赖包 …

C# 实现图片的压缩和改变大小png、jpg和gif

环境 .net6 Magick.NET-Q16-AnyCPU 13.5 Magick.NET源码 代码 using ImageMagick;namespace ImageCompress {internal class Program{static void Main(string[] args){string inputPath "imgloading.gif"; // 输入的GIF文件路径 string outputPath "im…