顯示為區塊的輸入元素:為什麼它們與Div 不同
使用display: block 和寬度來感知輸入元素是很常見的: auto 的行為類似div,佔據其容器的整個寬度。然而,正如在給定的程式碼片段中觀察到的,情況並非如此。
理解差異
與 div 不同,輸入元素遵循不同的盒子模型,稱為邊界框模型。與用於 div 的內容框模型不同,此模型在整體寬度計算中考慮了填充和邊框。
克服問題
強制輸入元素跨越完整的容器寬度,同時尊重其填充和邊框,可以使用 max-width: 100% 屬性。此技術本質上將輸入元素的寬度限制為其父容器,即使計算出的寬度由於其邊框和填充而超過此值。
跨瀏覽器相容性
為了實現跨瀏覽器的一致行為,可以使用最近引入的 box-sizing: border-box 屬性。此屬性明確指示瀏覽器對目標元素使用 border-box 模型,而不管其預設框模型為何。
實作
以下程式碼示範了此解決方案:
這種方法確保輸入元素佔據所有主要容器的整個寬度瀏覽器。
以上是為什麼區塊級輸入元素不總是像 Div 那樣填充它們的容器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!