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