HTML行內元素與塊級元素有哪些及區別詳解
想起之前工作面試時,面試官問的一個問題:行內元素有哪些,和塊級元素有什麼區別?這是一道蠻基礎的面試題,但是很多初學者平時只注重標籤語義,忽視了標籤行內和塊級的特性, 因此對於上述問題很有可能答不上來或者答不全。
HTML常見的行內元素有:
<span>、<a>、 <img>、 <input>、<textarea>、<select>、<label>
還有包括一些文字元素如:<br> 、<b>、 <strong>、<sup> 、<sub>、 <i> 、<em> 、<del> 、 <u>等。
要是隻回答<span>和<img>那就說不過去了吧。
HTML常見的塊級元素有:
<div>、<table>、<form>、<p>、<ul>、
<h1>......<h6>、<hr> 、<pre>、<address>、<center>、<marquee> 、<blockquote> 等。
要是隻回答<div>那就說不過去了吧。
那它們之間的區別是什麼呢?
·塊級元素
1.總是從新的一行開始,即各個塊級元素獨佔一行,預設垂直向下排列;
2.高度、寬度、margin及padding都是可控的,設定有效,有邊距效果;
3.寬度沒有設定時,預設為100%;
4.塊級元素中可以包含塊級元素和行內元素。
·行內元素
1.和其他元素都在一行,即行內元素和其他行內元素都會在一條水平線上排列;
2.高度、寬度是不可控的,設定無效,由內容決定。
設定margin左右有效,有邊距效果;
設定margin上下會撐大空間但是不會產生邊距效果(即盒模型margin-top/bottom有值,但頁面上沒有邊距效果)。
設定padding左右有效,設定padding上下會撐大空間但是不會產生邊距效果(同上)。
padding效果如下展示:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
<!DOCTYPE html>
< html >
< head >
< meta charset = "UTF-8" >
</ head >
< style >
span{
border:1px solid red;
padding:10px;
}
div{
border:1px solid blue;
}
</ style >
< body >
< div >塊級元素</ div >
< span > 行內元素</ span >
< span > 行內元素</ span >
< div >塊級元素</ div >
</ body >
</ html >
|
3.根據標籤語義化的理念,行內元素最好只包含行內元素,不包含塊級元素。
轉換
當然塊級元素與行內元素之間的特性是可以相互轉換的。HTML可以將元素分為行內元素、塊狀元素和行內塊狀元素三種。
使用display屬效能夠將三者任意轉換:
(1)display:inline;轉換為行內元素;
(2)display:block;轉換為塊狀元素;
(3)display:inline-block;轉換為行內塊狀元素。
行內塊狀元素綜合了行內元素和塊狀元素的特性:
(1)不自動換行,與其他行內元素都會在一條水平線上排列;
(2)高度、寬度、margin及padding都是可控的,設定有效,有邊距效果;
(3)預設排列方式為從左到右。
到此這篇關於HTML行內元素與塊級元素有哪些及區別詳解的文章就介紹到這了,更多相關HTML行內元素與塊級元素內容請搜尋指令碼之家以前的文章或繼續瀏覽下面的相關文章,希望大家以後多多支援指令碼之家!
<div class="clearfix"><script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-6384567588307613" data-ad-slot="6445926239" data-ad-format="auto" data-full-width-responsive="true"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div>
</div><!--endmain-->
<div class="tags clearfix">
<i class="icon-tag"></i>
<ul class="meta-tags">
<li class="tag">Tag:<a href="/do/tag/HTML/" target="_blank">HTML</a> <a href="/do/tag/%E8%A1%8C%E5%86%85%E5%85%83%E7%B4%A0/" target="_blank">行內元素</a> <a href="/do/tag/%E5%9D%97%E7%BA%A7%E5%85%83%E7%B4%A0/" target="_blank">塊級元素</a> </li>
</ul>
</div>
<div class="lbd clearfix">
<span id="art_down" class="jbTestPos"><div class="_moxzgh5x6xa"></div></span>
</div>
<div id="shoucang"></div>
<div class="xgcomm clearfix">
<h2>相關文章</h2>
<ul>
<li class="lbd clearfix"><span id="art_xg" class="jbTestPos"><div class="_ky1lcywb0ls"></div></span></li>
<li><div class="item-inner"><div class="rbox"><div class="rbox-inner"><p><a class="link title" target="_blank" href="/web/594349.html" title="詳解HTML常用的標籤中行內元素和塊級元素">詳解HTML常用的標籤中行內元素和塊級元素</a></p><div class="item-info"><div class="js">
本文給大家詳細介紹了HTML常用的標籤中行內元素和塊級元素,需要的朋友參考下吧</div><span class="lbtn fr"> 2018-01-03 </span></div></div></div></div></li><li><div class="item-inner"><div class="rbox"><div class="rbox-inner"><p><a class="link title" target="_blank" href="/css/100638.html" title="清除行內元素之間HTML空白的幾種解決方案">清除行內元素之間HTML空白的幾種解決方案</a></p><div class="item-info"><div class="js">
行內塊(inline-block)是非常有用的特別是想要不用'block'和'float'來控制這些行內元素的margin,padding之時,行內元素之間的空白有時候顯示在螢幕上那是相當的討厭</div><span class="lbtn fr"> 2013-08-28 </span></div></div></div></div></li>
</ul>
</div>
<div class="lbd clearfix mt5">
<span id="art_down2" class="jbTestPos"><div class="_5ol5oapaish"></div></span>
</div>
<a href="#comments"></a>
<div id="comments">
<h2>最新評論</h2>
<div class="pd5"><div id="SOHUCS" sid="724286"></div></div>
</div>
</div>