CSS块级元素与行内元素

By 刘志军, 2019-05-08, 分类: css

css

对于前端知识我一直没有体系化的掌握,所了解的都是一些零星散散的知识点,遇到问题半天才能解决,所以打算进行系统的学习一遍,基础的东西都是一劳永逸,这是重学前端系列的第一篇文章,关于块级元素与内联元素的区别。

HTML元素默认都是按照“文档流”的方式从左到右,从上往下的方式展示。如果是块级元素,比如div,li,h1-h6或p标签,每个元素占一行。而元素会紧凑地并列显示在一行,除非空间不够才会另起一行。

知道哪些元素是块级元素,哪些是行内元素,你就知道他们的初始状态是如何定位的,这样你才好通过css来给他们重新定位达到想要的效果

块级元素

块级元素的display属性通常为block,为什么说通常呢,因为想li的display属性就是list-item,table 的 display 属性是 table, 但他们都是块级元素。

块级元素的特点

  1. 块级元素独占一行
  2. 可设置元素的宽度、高度、行高、外边距、内边距
  3. 块级元素占据其父元素(容器)的整个空间
  4. 可以容纳内联元素和其它块元素

为什么块级元素要独占一行呢? 因为块级元素的宽度会占满整个父元素的宽度,所以也就没有多余空间来显示其它元素了,只能另起一行。

常见块级元素有:

<div>
<p>
<h1>~<h6>
<ol>
<ul>
<dl>
<table>
<address>
<blockquote>
<form>

行内元素

行内元素的display属性为:inline

行内元素的特点

  1. 和其他行内元素并列显示在一行上;
  2. 元素的宽度、高度不可设置,可设置行高 line-height
  3. 元素的宽度就是它包含的文字或图片的宽度,不可改变。
  4. 行内元素只能容纳文本或者其他行内元素
  5. 行内元素可设置水平方向的外边距,但垂直方向不可以设置,内边检padding 水平和垂直可以设置

常见行内元素元素:

<a>
<span>
<br>
<i>
<em>
<strong>
<label>
<q>
<var>
<cite>
<code>

行内块级元素

行内块级元素的display属性是inline-block

行内块级元素是鉴于块级元素和行内元素之间的一种元素,它的特点是:

  1. 和其他元素都在一行上;
  2. 可设置元素的高度、宽度、外边距、内边距;

行内块级元素有:

 <img> <input>

三种元素可以通过设置display互相转换

display:inline;   /*内联*/
display:inline-block;  /*内联块级*/
display:block;   /* 块级 */

为了加深印象请自行验证,网上资料很多都已经过时了。

看个例子:

<span>右边是图片</span>
<img src="images/google.jpg" alt="google icon">

span 和 img 都是内联元素,所以他们都挤在一行,为了美观,可以让图片单独一行,你只要给 img 标签的 display 属性设置为 block 就可以。

微信截图_20190508121853.png

img {
    margin: 0 auto;
    display: block;
    width: 30px;
}

微信截图_20190508122105.png

图片另一起了一行


有问题可以扫描二维码和我交流

关注公众号「Python之禅」,回复「1024」免费获取Python资源

python之禅

猜你喜欢

2021-06-12
理解border-box
2021-05-20
CSS元素遮挡问题与z-index属性
2021-06-01
理解CSS行高line-height
2021-05-20
CSS 媒体查询
2021-05-26
理解 focus-within 伪类
2020-04-15
重学前端:相对定位VS绝对定位VS固定定位