首頁技術文章正文

網(wǎng)頁中不同元素類型之間可以相互轉(zhuǎn)換嗎?

更新時間:2021-05-28 來源:黑馬程序員 瀏覽量:

1577370495235_學IT就到黑馬程序員.gif

網(wǎng)頁是由多個塊元素和行內(nèi)元素構成的盒子排列而成的。如果希望行內(nèi)元素具有塊元素的某些特性,例如可以設置寬高,或者需要塊元素具有行內(nèi)元素的某些特性,例如不獨占一行排列,可以使用display屬性對元素的類型進行轉(zhuǎn)換。

display屬性常用的屬性值及含義如下。

● inline:此元素將顯示為行內(nèi)元素(行內(nèi)元素默認的display屬性值)。

● block:此元素將顯示為塊元素(塊元素默認的display屬性值)。

● inline-block:此元素將顯示為行內(nèi)塊元素,可以對其設置寬高和對齊等屬性,但是該元素不會獨占一行。

● none:此元素將被隱藏,不顯示,也不占用頁面空間,相當于該元素不存在。

使用display屬性可以對元素的類型進行轉(zhuǎn)換,使元素以不同的方式顯示。

示例代碼如下:

  <title>元素的轉(zhuǎn)換</title>

  <style type="text/css">

  div,span{          /*同時設置div和span的樣式*/   

  width:200px;      /*寬度*/

  height:50px;      /*高度*/

  background:#FCC;    /*背景顏色*/

  margin:10px;      /*外邊距*/

  }

  .d_one,.d_two{display:inline;}   /*將前兩個div轉(zhuǎn)換為行內(nèi)元素*/

  .s_one{display:inline-block;}    /*將第一個span轉(zhuǎn)換為行內(nèi)塊元素*/

  .s_three{display:block;}      /*將第三個span轉(zhuǎn)換為塊元素*/

</style>
在上面的例子中,定義了三對<div>和三對<span>標簽,為它們設置相同的寬度、高度、背景顏色和外邊距。同時,對前兩個<div>應用“display:inline;”樣式,使它們從塊元素轉(zhuǎn)換為行內(nèi)元素,對第一個和第三個<span>分別應用“display: inline-block;”和“display:inline;”樣式,使它們分別轉(zhuǎn)換為行內(nèi)塊元素和行內(nèi)元素。示例代碼運行效果如圖1所示。

1622187101859_21.jpg

圖1 元素的轉(zhuǎn)換

從圖1可以看出,前兩個<div>排列在了同一行,靠自身的文本內(nèi)容支撐其寬高,這是因為它們被轉(zhuǎn)換成了行內(nèi)元素。而第一個和第三個<span>則按固定的寬高顯示,不同的是前者不會獨占一行,后者獨占一行,這是因為它們分別被轉(zhuǎn)換成了行內(nèi)塊元素和塊元素。

在上面的例子中,使用display的相關屬性值,可以實現(xiàn)塊元素、行內(nèi)元素和行內(nèi)塊元素之間的轉(zhuǎn)換。如果希望某個元素不被顯示,還可以使用“display:none;”進行控制。例如,希望上面例子中的第三個<div>不被顯示,可以在CSS代碼中增加如下樣式:

.d_three{ display:none;}       /*隱藏第三個div*/

保存HTML頁面,刷新網(wǎng)頁,效果如圖2所示。

1622187108319_22.jpg

圖2 定義display為none后的效果

從圖2可以看出,當定義元素的display屬性為none時,該元素將從頁面消失,不再占用頁面空間。

注意:

行內(nèi)元素只可以定義左右外邊距,當定義上下外邊距時無效。






猜你喜歡:

子結構元素怎樣設置不同于結構元素的樣式?

jQuery修改元素樣式的代碼演示

H5中article元素的作用是什么?

黑馬程序員前端培訓

分享到:
在線咨詢 我要報名
和我們在線交談!