如下代碼,img標(biāo)簽設(shè)置了display:block,尺寸寬度無法設(shè)定為100%
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>img標(biāo)簽設(shè)置display:block,寬度無法100%</title> </head> <body> <p> <img src="https://www.baidu.com/img/bd_logo1.png?where=super" style="display: block;"> </p> </body> </html>
元素是文檔結(jié)構(gòu)的基礎(chǔ),在CSS中,每個元素生成了一個包含了元素內(nèi)容的框(box,也翻譯為“盒子”)。但是不同的元素顯示的方式會有所不同,例如p和span不同,而strong和p也不一樣。在文檔類型定義(DTD)中對不同的元素規(guī)定了不同的類型,這也是DTD對文檔之所以重要的原因之一。而根據(jù)元素本身的特點可以分為替換元素(replaced element)和非替換元素,非替換元素,在W3C中沒有給出明確的定義,但我們可以由替換元素對應(yīng)著非替換元素,所以可以理解為除了替換元素,其它的就是非替換元素
替換元素:瀏覽器根據(jù)元素的標(biāo)簽和屬性,來決定元素的具體顯示內(nèi)容。替換元素是其內(nèi)容不受CSS視覺格式化模型控制的元素,例如img標(biāo)簽,嵌入的文檔(iframe之類)或者applet,這些叫做替換元素。比如img元素通過src屬性的值來讀取圖片信息并顯示出來,而如果查看(x)html代碼,卻看不到圖片的實際內(nèi)容,而且img元素的內(nèi)容通常會被src屬性指定的圖像替換掉;例如input元素的type屬性決定是顯示輸入框,還是單選按鈕等。(x)html中的img , input , textarea , select , object都是替換元素。這些元素沒有實際的內(nèi)容,即是個空元素
非替換元素:(X)HTML 的大多數(shù)元素是非替換元素,他們將內(nèi)容直接告訴瀏覽器,將其顯示出來
img標(biāo)簽為替換元素,替換元素的特性之一就是尺寸由內(nèi)部元素決定,且無論其 display 屬性值是 inline 還是 block。這個特性很有意思,對于非替換元素,如果其 display 屬性值為 block,則會具有流動性,寬度由外部尺寸決定,但是替換元素的寬度卻不受 display 水平影響,因此,display 水平是無法讓尺寸 100%自適應(yīng)父容器的
解決辦法就是,通過設(shè)定<img>的width尺寸 100%
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>img標(biāo)簽設(shè)置display:block,寬度無法100%</title> </head> <body> <p> <img src="https://www.baidu.com/img/bd_logo1.png?where=super" style="display: block;width: 100%;"> </p> </body> </html>
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com