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
其中常用的的有none
、inline
、block
、inline-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 中删除。