【CSS】01-块级元素和行内元素

本文介绍了前端开发中的三种基本元素类型:块级元素、行内元素和行内块元素,并详细阐述了各自的特性和应用场景。

#一天一个前端小知识

元素根据 CSS 盒类型(type of CSS box)可以分为两类:块级元素和行内元素。

1. 块级元素(block-level element)

常见的块级元素有<h1>~<h6><div><p><ul><ol><li><audio><video><canvas><form><table>等,其中<div>是最典型的块级元素。

块级元素的特点:

  1. 默认情况下,块级元素会独占一行
  2. 高度、宽度、外边距、内边距都可以控制
  3. 宽度默认是父级元素(容器)的100%
  4. 标签里可以放块级元素或行内元素

注意:

  • 文字类的元素内不能使用块级元素
  • <p>标签主要用于存放文字,因此里面不能放块级元素,特别是不能放<div>
  • 同理,<h1>~<h6>等都是文字类块级标签,里面也不能放其他块级元素

在MDN中查看更多关于块级元素的描述

2. 行内元素(inline-level element)

常见的行内元素有<a><strong><em><i><del><s><ins><u><span><img><input><button><textarea>等,其中<span>是最典型的行内元素。有的地方也将行内元素称为内联元素。

行内元素的特点:

  1. 相邻行内元素在一行上,即一行可以显示多个行内元素
  2. 行内元素无法直接设置高度和宽度
  3. 默认宽度就是它本身内容的宽度
  4. 行内元素只能容纳文本或其他行内元素

注意:

  • 链接里面不能再放链接
  • 特殊情况下,链接<a>里面可以放块级元素

在MDN中查看更多关于行内元素的描述

3. 行内块元素(inline-block element)

在行内元素中,有几个特殊的标签——<img /><input /><td>,它们同时具有块元素和行内元素的特点

行内元素的特点:

  1. 和相邻行内元素在一行上,但是它们之间会有空白缝隙。一行可以显示多个(行内元素的特点)
  2. 默认宽度就是它本身内容的宽度(行内元素的特点)
  3. 高度,行高,外边距以及内边距都可以控制(块级元素的特点)
### HTML CSS块级元素行内元素的转换 在 HTML CSS 中,可以通过设置 `display` 属性来实现块级元素行内元素之间的相互转换。以下是具体的说明: #### 块级元素转为行内元素 当需要将一个默认为显示的元素(如 `<div>` 或 `<p>`)转换为行内显示时,可以将其 `display` 属性更改为 `inline`。 ```css .block-to-inline { display: inline; /* 将块级元素变为行内元素 */ } ``` 此方法会移除该元素周围的换行符,并允许其他内容与其在同一行显示[^1]。 #### 行内元素转为块级元素 对于原本为行内显示的元素(如 `<span>` 或 `<a>`),如果希望其表现得像块级元素一样占据整行,则可将其 `display` 属性设为 `block`。 ```css .inline-to-block { display: block; /* 让行内元素表现为块级元素 */ } ``` 通过这种方式,不仅可以让这些元素独占一行展示,还可以应用宽度、高度以及上下边距等样式属性[^2]。 #### 使用 Inline-Block 的中间状态 除了简单的 `inline` `block` 转换外,还有一种称为 `inline-block` 的值可供选择。它使得元素能够保持某些状特性的同时维持与其他行内元素并列排列的能力。 ```css .element-with-inline-block { display: inline-block; /* 结合了两者特性的布局模式 */ } ``` 这种技术特别适用于构建导航栏菜单项或其他需紧密相邻但又各自独立的小型组件群组场景下非常有用[^1]。 以上就是关于如何利用CSS中的display属性来进行HTML标签之间不同类型间互相转变的知识点介绍。 ### 示例代码 下面是一个完整的例子演示了从行内的变化过程: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Element Display Conversion</title> <style> .original-div{ width: 100px; height:50px ; background-color:red; } .converted-span{ display:block; border:solid black 1px; } </style> <body> <div class='original-div'></div><br/> <span>This is normal span.</span><br/><br/> <!-- Converting Span To Block --> <span class="converted-span">Now I am behaving as BLOCK!</span> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值