為什麼 `display: block` 不讓我的輸入元素填滿其容器的寬度?
輸入元素未透過「Display:block」擴展到區塊容器寬度
儘管將「display:block」分配給元素,它的行為可能不像div 並填充容器寬度。這種偏差源自於 CSS 中輸入元素的固有行為。
在 CSS 中,「display:block」通常允許元素展開並佔據全部可用寬度。但是,輸入元素被設計為將“display:inline”作為預設顯示模式。這意味著它們只會佔用內容的寬度,包括任何填充和邊框。
要解決此問題並強制輸入元素填充寬度,可以使用「width:100%」。但是,如果輸入具有非零填充和邊框,這種方法可能會出現問題,因為它將導致最終寬度超過 100%。
使用CSS3 'box-sizing 的跨瀏覽器解決方案'
一個全面的解決方案涉及使用CSS3 中相對未知的'box-sizing:border- box' 屬性。此屬性可確保輸入元素(或任何其他元素)的寬度包括其內邊距和邊框。
這裡提供了CSS 程式碼的修改版本:
form { display: block; margin: 0; padding: 0; width: 50%; border: 1px solid green; overflow: visible } div, input { display: block; border: 1px solid red; padding: 5px; width: 100%; font: normal 12px Arial; } .bb { box-sizing: border-box; /* CSS 3 rec */ -moz-box-sizing: border-box; /* Firefox 2 */ -ms-box-sizing: border-box; /* Internet Explorer 8 */ -webkit-box-sizing: border-box; /* Safari 3 */ -khtml-box-sizing: border-box; /* Konqueror */ }
透過新增'.bb' 類別加入輸入元素,您可以啟用'box-sizing:border-box' 以實現跨瀏覽器相容性。這可確保輸入元素始終佔據完整的可用寬度,無論其填充和邊框如何。
附加說明:
- Internet Explorer 6 和7 不支援 CSS3 'box-sizing',但可以使用行為腳本啟用它。
- The大多數現代瀏覽器都支援「box-sizing:border-box」屬性,包括 Google Chrome、Firefox、Safari 和 Opera。
以上是為什麼 `display: block` 不讓我的輸入元素填滿其容器的寬度?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在本週的平台新聞綜述中,Chrome引入了一個用於加載的新屬性,Web開發人員的可訪問性規範以及BBC Move

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)

該文檔負責人可能不是網站上最迷人的部分,但是其中所處的內容對於您的網站的成功也一樣重要
