display内联属性

本文详细介绍了HTML中块级元素(block)、行内元素(inline)及内联块元素(inline-block)的概念与区别。包括它们的默认表现形式、如何通过CSS的display属性进行转换,以及不同元素在网页布局中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总体概念
  1. block和inline这两个概念是简略的说法,完整确切的说应该是 block-level elements (块级元素) 和 inline elements (行内元素)。block元素通常被现实为独立的一块,会单独换一行;inline元素则前后不会产生换行,一系列inline元素都在一行内显示,直到该行排满。
  2. 大体来说HTML元素各有其自身的布局级别(block元素还是inline元素):
  • 常见的块级元素有 div from table p pre h1~h6 dl ol ul 等。
  • 常见的行内元素有 span a strong em label input select textarea img br等。
  1. block元素可以包含block元素和inline元素;但inline元素只能包含inline元素。要注意的是这个是个大概的说法,每个特定的元素能包含的元素也是特定的,所以具体到个别元素上,这条规律是不适用的。比如 P 元素,只能包含inline元素,而不能包含block元素。
  2. 一般来说,可以通过display:inline和display:block的设置,改变元素的布局级别。
block,inline和inlinke-block细节对比
  • display:block
    1. block元素会独占一行,多个block元素会各自新起一行。默认情况下,block元素宽度自动填满其父元素宽度。
    2. block元素可以设置width,height属性。块级元素即使设置了宽度,仍然是独占一行。
    3. block元素可以设置margin和padding属性。
  • display:inline
    1. inline元素不会独占一行,多个相邻的行内元素会排列在同一行里,直到一行排列不下,才会新换一行,其宽度随元素的内容而变化。
    2. inline元素设置width,height属性无效。
    3. inline元素的margin和padding属性,水平方向的padding-left, padding-right, margin-left, margin-right都产生边距效果;但竖直方向的padding-top, padding-bottom, margin-top, margin-bottom不会产生边距效果。
  • display:inline-block
    1. 简单来说就是将对象呈现为inline对象,但是对象的内容作为block对象呈现。之后的内联对象会被排列在同一行内。比如我们可以给一个link(a元素)inline-block属性值,使其既具有block的宽度高度特性又具有inline的同行特性。
补充说明
  • 一般我们会用display:block,display:inline或者display:inline-block来调整元素的布局级别,其实display的参数远远不止这三种,仅仅是比较常用而已。
  • IE(低版本IE)本来是不支持inline-block的,所以在IE中对内联元素使用display:inline-block,理论上IE是不识别的,但使用display:inline-block在IE下会触发layout,从而使内联元素拥有了display:inline-block属性的表象。


1.display:block;
块属性
2.display;inline;
行属性,内联属性
3.display:inline-block;
内联块属性,即可以使行标签设置宽高
4.元素按照display的属性值可分为三类元素
1⃣️块元素:div p h ul li ol dl dt dd hr
2⃣️行元素 内联元素:span a
3⃣️内联块元素 img
一般而言,会做如下改变
1⃣block->inline-block
2⃣inline->inline-block,block
### CSS `display` 属性详解 #### 什么是 `display` 属性? 在CSS中,`display`属性用于定义元素生成的显示框类型以及其布局方式[^3]。此属性不仅影响单个元素的表现形式,还决定了它与其他页面组件之间的交互模式。 #### 主要取值及其效果 - **`none`**: 当设置为该值时,元素不会被渲染到网页上,即完全消失不见,并且原来占据的空间也会释放给其他内容使用[^1]。 - **`block`**: 将元素作为块级元素处理,意味着每个这样的元素都会独占一或多空间,在水平方向上的宽度默认等于父容器的宽度;可以为其设定高度、宽度等尺寸样式。 - **`inline`**: 定义内联元素的为特性,这些元素仅占用所需的实际空间而不强制换,允许在同一连续排列多个同类项。 - **`inline-block`**: 结合了上述两种特性的优点——既像`inline`那样不打断文本流中的位置关系,又具备调整大小的能力如同`block`一般[^4]。 #### 实际应用案例 下面通过具体的HTML片段配合不同类型的`display`配置来直观感受它们的效果差异: ```html <!-- HTML部分 --> <div class="container"> <span id="item1">Item One</span> <p id="item2">Item Two</p> <a href="#" id="item3">Link Three</a> </div> <style> /* CSS部分 */ .container span { /* 默认情况下SPAN标签是inline元素 */ } #item2 { display: block; /* P标签通常已经是block级别 */ } #item3 { display: inline-block; } </style> ``` 在这个例子中,默认状态下 `<span>` 是内联元素,而(`<p>`)自然属于区块型别的成员之一。特别指定了链接(`<a>`)采用`inline-block`的方式呈现,则可以在保持原有连贯性的同时赋予更多灵活性去定制外观尺寸。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值