HTML 行內元素和塊狀元素的理解


1 行內元素和塊級元素的定義

任何HTML (超文本標記語言) 元素都有其默認的display屬性,大多數都是行內元素(inline)或塊級元素(block)。一個行內元素只占據它對應標簽的邊框所包含的空間,而一個塊級元素占據其父元素(容器)的整個空間,因此創建了一個“塊”。

2 行內元素和塊級元素的區別

內容

一般情況下,行內元素只能包含數據和其他行內元素。而塊級元素可以包含行內元素和其他塊級元素。這種結構上的包含繼承區別可以使塊級元素創建比行內元素更”大型“的結構。

格式

默認情況下,行內元素不會以新行開始,而塊級元素會新起一行。

常見元素

行內元素:<b>、<span>、<i><small>、<big>、<img>、<button>、<input>、<lable>、<select>、<textarea>等

塊級元素:<h1>、<h2>、<h3>、<h4>、<h5>、<h6>、<div>、<p>、<address>、<acticle>、<ol>、<ul>、<output>、<form>(比較特殊,它只能用來容納其他塊元素) 、<table>、<canvas>、<footer>等

用法

1、一般情況下,行內元素設置width和height屬性無效,塊級元素可以設置width和height屬性。(注意,塊級元素設置了width寬度屬性后仍然是獨占一行的)

2、塊級元素可以設置margin 和 padding.  行內元素的水平方向的padding-left,padding-right,margin-left,margin-right 都產生邊距效果,但是豎直方向的padding-top,padding-bottom,margin-top,margin-bottom都不會產生邊距效果。(水平方向有效,豎直方向無效)

3 行內元素和塊級元素的相互轉化

display: none; 不顯示該元素

display: block; 可將行內元素轉化為塊級元素

display: inline; 可將塊級元素轉化為行內元素

display: inline-block; 轉化為行內塊級元素(即不默認換行,但是可以設置width、height、margin、padding等屬性)

此外,還可以通過給行內元素設置float:left/right、positon:absolute/fixed屬性,也可以使行內元素轉化為塊級元素,但是不默認繼承父級元素的寬度,可以設置width、height、margin、padding等屬性。但是替換時,還需要注意這個方法轉換為塊級元素只是float與position的副作用,他們本身的作用還會干擾布局效果。

<div class="child">
    <span class="test">行內元素</span>
 </div>
 <div class="child">塊級元素</div>
.test{
  background-color: #000000;
  color: #FFFFFF;
  float:left;
  width:90px;
}
.child{
  background-color: #125645;
  width: 150px;
  height: 40px;
  color: #FFFFFF;
  margin: 10px;
  overflow: hidden;
  display: inline-block;
}

參考:https://www.jianshu.com/p/274614a078f3

   https://blog.csdn.net/liuying1802028915/article/details/78222833


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM