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)元素的特点,行内元素也叫内联元素. 块级元素 总是另起 ...
随机推荐
- 指针_C
指针的代码 // Code file created by C Code Develop #include "ccd.h" #include "stdio.h" ...
- JMeter Sampler-http请求之KeepAlive使用总结
Sampler-http请求之KeepAlive使用总结 测试环境 apache-jmeter-2.13 KeepAlive使用介绍 说明: 1.Use KeepAlive 勾上,则表示为求连接设置请 ...
- Vue cil路由如何回到初始状态
前景:我们在网页里进入路由的地址后,会发现地址栏中会加上我们的路由地址,这样我就知道当前在哪个位置.但是这样子我们如何手动刷新浏览器,想要浏览器回到根路径的话,是无法直接回去的,因为地址没有更改.再怎 ...
- 【Spring-Security】Re09 CSFR处理
一.CSRF: CSRF 全称 Cross Site Request Forgery 跨站请求伪造 又称为OneClick Attack & SessionRiding 是非法请求访问,通过伪 ...
- faster-fifo:C++实现的python多进程通信队列 —— 强化学习ppo算法库sample-factory的C++实现的python多进程通信队列 —— python3.12版本下成功通过测试
项目地址: https://github.com/alex-petrenko/faster-fifo 需要注意,该项目给出了两种安装方法,一种是pip从pypi官网安装,一种是从GitHub上的源码安 ...
- 并行化强化学习 —— 初探 —— 并行reinforce算法的尝试 (上篇:强化学习在多仿真环境下单步交互并行化设计的可行性)
强化学习由于难收敛所以训练周期较长,同时由于强化学习在训练过程中起训练数据一般都为实时生成的,因此在训练的同时算法还需要生成待训练的数据,强化学习算法的基本架构可以视作下图:(取自:深度学习中使用Te ...
- 讲师招募 | Apache SeaTunnel Meetup等你来秀!
2024年第三季度已经悄然开启,猛回头才发现今年的时日竟然已经过半!这半年又是在忙忙碌碌中度过,好在看着社区发展年中汇总的一串串数字,似乎都在预示着社区将在一条正确的轨道上,朝着好的方向继续发展.但又 ...
- Git/Github的基本操作
由于我之前已经安装好了Git,然后这里就不再叙述之前的相关创建账户的步骤了.直接记录一下如何在本地创建一个项目,并上传到github上面. 1.打开github官网,点击New Repository, ...
- Java基础之数值类型之间的转换
经常需要将一种数值类型转换为另一种数值类型.下图 给出了数值类型之间的合法 转换. 在图中有 6 个实心箭头,表示无信息丢失的转换:有 3 个虚箭头, 表示可能有精度 损失的转换. 例如,123 45 ...
- HTTP 常见状态码【5种最最最常见的状态码】
HTTP 常见状态码 一.200 [ok] 一切正常 二.400 [Bad Request] 客户端 出现问题 需要注意:前端传入的参数与后台接收数据时的 参数名 必须保持一致 三.500 [Inte ...