CSS – Display block, inline, inline-block
前言
之前 W3Schools 学习笔记就有提到了 CSS Layout - The display Property 这篇做更多的解释.
参考:
CSS Display FLEX vs Block, Inline & Inline-Block Explained
Disfault Display of Element

Block Elements
<address></address>
<article></article>
<aside></aside>
<blockquote></blockquote>
<canvas></canvas>
<dd></dd>
<div></div>
<dl></dl>
<dt></dt>
<fieldset></fieldset>
<figcaption></figcaption>
<figure></figure>
<footer></footer>
<form></form>
<h1></h1>
<h2></h2>
<h3></h3>
<h4></h4>
<h5></h5>
<h6></h6>
<header></header>
<hr />
<li></li>
<main></main>
<nav></nav>
<noscript></noscript>
<ol></ol>
<p></p>
<pre></pre>
<section></section>
<table></table>
<tfoot></tfoot>
<ul></ul>
<video></video>
Inline Elements
<a></a>
<abbr></abbr>
<acronym></acronym>
<b></b>
<bdo></bdo>
<big></big>
<br />
<button></button>
<cite></cite>
<code></code>
<dfn></dfn>
<em></em>
<i></i>
<img />
<input />
<kbd></kbd>
<label></label>
<map></map>
<object></object>
<output></output>
<q></q>
<samp></samp>
<script></script>
<select></select>
<small></small>
<span></span>
<strong></strong>
<sub></sub>
<sup></sup>
<textarea></textarea>
<time></time>
<tt></tt>
<var></var>
Display: block
block 的特色是旁边不会有其它 element.

即便 div 1 右边还有空位, div 2,3,4 div 依然不会在右边, 而是在下面.
要居中 block element 可以使用 margin: 0 auto; 或者 margin-inline: auto;
Display: inline
inline 的特色是 element 会并排, 它还有一个特殊是无法设置 width, height, padding, margin, width 一定是依据内容 hug content.

举例
<h1>Hello World !!</h1>
<a href="#">My Link</a>
a {
text-decoration: none;
margin-top: 30px;
border: 2px solid red;
padding: 16px 24px;
}
结果

margin 完全无效, padding 是有给到啦, 但结果并不是我们想要的.
换成 display: inline-block 就正确了. 所以说 inline element 不能设置 width, height, padding, margin

Display: inline-block
inline-block 的特色是它和 inline 都是并排的, 但是它可以像 block 一样设置 width, height, padding, margin. 所以算是 inline 的一种扩展.
but 它不能用 margin: 0 auto 做居中哦. 参考: stackoverflow – `margin:auto;` doesn't work on inline-block elements
简单说就是 inline-block 的旁边是可以放 element 的, 这个是 inline 的特色, 而 margin auto 的关键是得像 block 那样旁边不可以放东西, 它才有 "available space".
CSS – Display block, inline, inline-block的更多相关文章
- [CSS3] CSS Display Property: Block, Inline-Block, and Inline
Understanding the most common CSS display types of block, inline-block, and inline will allow you to ...
- CSS中的display属性(none,block,inline,inline-block,inherit)
css中的display属性(none,block,inline,inline-block,inherit) display属性是我们在前端开发中常常使用的一个属性,其中,最常见的有: none bl ...
- DIV CSS display(block,inline,none)的属性教程
display:inline.block.inline-block的区别 display:block就是将元素显示为块级元素. block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都 ...
- CSS——display(Block none inline等)属性的用法
在一般的CSS布局制作时候,我们常常会用到display对应值有block.none.inline这三个值.下面我们来分别来认识和学习什么时候用什么值.这里通过CSS display知识加实例.图演示 ...
- css display block 和 inline
根据CSS规范的规定,每一个网页元素都有一个display属性,用于确定该元素的类型,每一个元素都有默认的display属性值,比如div元素,它的默认display属性值为“block”,成为“块级 ...
- CSS display的几个常用的属性值,inline , block, inline-block
1.解释一下display的几个常用的属性值,inline , block, inline-block inline(行内元素): 使元素变成行内元素,拥有行内元素的特性,即可以与其他行内元素共享一行 ...
- display:inline、block、inline-block的区别
display:block就是将元素显示为块级元素. block元素的特点是: 总是在新行上开始: 高度,行高以及顶和底边距都可控制: 宽度不设是它的容器的100%,除非设定一个宽度 <div& ...
- display:inline、block、inline-block 的区别
一.块级元素 与 行级元素 要理解display:inline.block.inline-block的区别,需要先了解HTML中的块级(block)元素和行级(inline)元素的特点,行内元素也叫 ...
- css中inline、block、inline-block的区别
http://www.cnblogs.com/fxair/archive/2012/07/05/2577280.html display:inline就是将元素显示为块级元素. block元素的特点是 ...
- 理解display:inline、block、inline-block
要理解display:inline.block.inline-block的区别,需要先了解HTML中的块级(block)元素和行级(inline)元素的特点,行内元素也叫内联元素. 块级元素 总是另起 ...
随机推荐
- 解决方案 | 一个VBA代码里面非常隐蔽的错误:运行时错误“5”:无效的过程调用或参数
1 代码部分 代码功能:实现使用sumatra打开指定pdf指定页码 代码: Sub OpenPDFatPage() Dim PDFFile As String Dim PageNumber As L ...
- 在Django中,多数据操作,你可以编写测试来查询另一个数据库服务器中的数据,并将结果导入当前Django项目的数据库表中
在Django中,你可以编写测试来查询另一个数据库服务器中的数据,并将结果导入当前Django项目的数据库表中.下面是一个简单的示例: 假设你有一个Django应用程序,名为myapp,并且你希望从另 ...
- [oeasy]python0030_设置路径_export_PATH_zsh_系统路径设置_export
放入路径 回忆上次内容 我们要在任意路径下直接执行 sleep.py 把 sleep.py 放在 /usr/bin/ 下面 最终可以在任意位置执行程序sleep.py 但是 /usr/bin 里面 ...
- oeasy教您玩转python - 002 - # 你好世界 - 各位同学除夕快乐,除旧布新之时预祝能玩
你好世界 回忆上次内容 了解了 Python 安装了 Python 进入了 Python 退出了 Python 可是我们什么也没有做就离开了 IDLE 游乐场! 你好世界 #首先进入Python3 ...
- 【JavaWeb】HttpClient
需要的依赖: <!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpclient --> <de ...
- 【Docker】07 部署挂载本地目录的Tomcat
1.拉取Tomcat镜像: docker pull tomcat:9.0.37 2.创建并运行Tomcat容器: 挂载容器的webapps目录到本机(宿主机)自己设置的目录 docker run -d ...
- 【Spring Data JPA】09 多表关系 Part2 多对多关系操作
环境搭建: 用户类: package cn.echo42.domain; import javax.persistence.*; import java.util.HashSet; import ja ...
- 【英伟达】GTC 2024|黄仁勋2小时演讲精华版|六大亮点| Blackwell GPU | DGX B200 | NVL72 | cuLitho | GROOT | Omniverse Cloud —— 智能机器人元年
视频地址: https://www.youtube.com/watch?v=zBIddyiMXsU
- L-BFGS-B(Limited-memory Broyden–Fletcher–Goldfarb–Shanno )算法理解 —— 内存受限的拟牛顿法 —— 数值优化算法
本文主要讲下个人对数值优化算法中几种常见算法的理解. 什么是优化算法? 给出函数f(X),现在要求 min f(X) 时的X值,这就是最优化问题. 1. 共轭梯度法 方程:A*x=b,A矩阵为对称正定 ...
- 为什么我要弃用华为的软件产品——mindspore从入门到放弃之感想
从本博主前段时间的博文就可以看到博主写了好多关于华为软件mindspore的入门资料和编译方法以及一些bug的修复,但是无奈之下发现这些简单而且显而易见的bug不仅长期存在与软件中而且在提交PR后而一 ...