CSS元素分类

本文根据在慕课网的学习笔记整理。

 元素分类

在讲解CSS布局之前,我们需要提前知道一些知识。

在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素内联元素(又叫行内元素)内联块状元素

常用的块状元素有:

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

常用的内联元素有:

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

常用的内联块状元素有:

<img>、<input>


 块级元素

什么是块级元素?在html中<div>、 <p>、<h1>、<form>、<ul> 和 <li>就是块级元素。

设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块状元素,从而使a元素具有块状元素特点。

a{display:block;}

 块级元素特点:

1、每个块级元素都从新的一行开始,并且其后的元素也另起一行。(真霸道,一个块级元素独占一行

2、元素的高度、宽度、行高以及顶和底边距都可设置

3、元素宽度在不设置的情况下,是它本身父容器的100%(和父元素的宽度一致),除非设定一个宽度。

 


 内联元素

在html中,<span>、<a>、<label>、<input>、 <img>、 <strong> 和<em>就是典型的内联元素行内元素)(inline)元素。

当然块状元素也可以通过代码display:inline将元素设置为内联元素

如下代码就是将块状元素div转换为内联元素,从页使用div元素具有内联元素特点。

内联元素特点:

1、和其他元素都在一行上

2、元素的高度、宽度、行高及顶部和底部边距不可设置;

3、元素的宽度就是它包含的文字或图片的宽度,不可改变。

行内元素之间会产生间隙bug问题的场景:

<div>
   <a>1</a>
   <a>2</a>
   <span>33333</span>
   <span>44444</span>
   <em>555555</em>
</div>

解决方法:

 1、写在一行,之间不要有空格之类的符号。

<div>
<a>2</a><span>44444</span><em>555555</em>
</div>

2、使用font-size:0

div{font-size:0;}
a,span,em{font-size:16px;}

 内联块状元素

内联块状元素(inline-block就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素。

(css2.1新增),<img>、<input>标签就是这种内联块状标签。

inline-block元素特点:

1、和其他元素都在一行上

2、元素的高度、宽度、行高以及顶和底边距都可设置

//我们为 a 元素设置了宽和高,但都没有起到作用,
//原因是a在默认的时候是内联元素,内联元素是不可以设置宽和高的。
a{    
    20px;/*在默认情况下宽度不起作用*/
    height:20px;/*在默认情况下高度不起作用*/
    background:pink;/*设置背景颜色为粉色*/
    text-align:center; /*设置文本居中显示*/
    display:inline-block;
}
原文地址:https://www.cnblogs.com/omigia/p/4272305.html