CSS display有哪些作用?

来自:互联网
时间:2019-11-10
阅读:

CSS display有哪些作用?下面本篇文章就来给大家介绍一下CSS display的作用。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

display属性规定元素应该生成的框的类型。这个属性用于定义建立布局时元素生成的显示框类型。对于 HTML 等文档类型,如果使用 display 不谨慎会很危险,因为可能违反 HTML 中已经定义的显示层次结构。

display 的属性值有:

none|inline|block|inline-block|list-item|run-in|table|inline-table|table-row-group|
table-header-group|table-footer-group|table-row|table-column-group|table-column|
table-cell|table-caption|inherit

其中常用的的有noneinlineblockinline-block。分别的意思是:

1、none: 元素不会显示,而且改元素现实的空间也不会保留。但有另外一个 visibility: hidden, 是保留元素的空间的。

2、inline: display的默认属性。将元素显示为内联元素,元素前后没有换行符。我们知道内联元素是无法设置宽高的,所以一旦将元素的display 属性设为 inline, 设置属性height和width是没有用的。此时影响它的高度一般是内部元素的高度(font-size)和padding。

3、block: 将元素将显示为块级元素,元素前后会带有换行符。设置为block后,元素可以设置width和height了。元素独占一行。

4、inline-block:行内块元素。这个属性值融合了inline 和 block 的特性,即是它既是内联元素,又可以设置width和height。

示例:

.inline{
    display:inline; 
    width:100px; 
    height:100px; 
    padding:10px; 
    background-color:red;
}
.block{
    display:block; 
    width:100px; 
    height:100px; 
    padding:10px;
    background-color:green;
}
.inline-block{
    display:inline-block; 
    width:100px;
    height:100px; 
    padding:10px;
    background-color:blue;
}


<div class="wrap">
    <div class="inline">
    inline
    </div>inline
    <div class="block">
    block
    </div> block
    <div class="inline-block">
    inline-block
    </div>inline-block
</div>

这里提及下内联元素和块级元素的一些特点:

内联元素:

  • 和其他元素都在一行上;

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

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

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

块级元素:

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

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

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

常用的块状元素有:

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

内联块状元素:

  • 和其他元素都在一行上;

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

常用的内联块状元素有:

<img>、<input>

其他display的属性值不是很常用,其具体的含义如下:

  • list-item:此元素会作为列表显示。

  • run-in:此元素会根据上下文作为块级元素或内联元素显示。

  • table:此元素会作为块级表格来显示(类似 <table>),表格前后带有换行符。

  • inline-table:此元素会作为内联表格来显示(类似 <table>),表格前后没有换行符。

  • table-row-group:此元素会作为一个或多个行的分组来显示(类似 <tbody>)。

  • table-header-group:此元素会作为一个或多个行的分组来显示(类似 <thead>)。

  • table-footer-group:此元素会作为一个或多个行的分组来显示(类似 <tfoot>)。

  • table-row:此元素会作为一个表格行显示(类似 <tr>)。

  • table-column-group:此元素会作为一个或多个列的分组来显示(类似 <colgroup>)。

  • table-column:此元素会作为一个单元格列显示(类似 <col>)

  • table-cell:此元素会作为一个表格单元格显示(类似 <td> 和 <th>)

  • table-caption:此元素会作为一个表格标题显示(类似 <caption>)

  • inherit:规定应该从父元素继承 display 属性的值。

另外有两个已经废除的属性值:

  • compact CSS 中有值 compact,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。

  • marker CSS 中有值 marker,不过由于缺乏广泛支持,已经从 CSS2.1 中删除。

返回顶部
顶部