亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用display:block輸入的不是塊,為什么不呢?

使用display:block輸入的不是塊,為什么不呢?

一只名叫tom的貓 2019-12-09 15:04:36
為什么display:block;width:auto;我的文本輸入不像div那樣填充容器寬度?我的印象是div只是具有自動寬度的塊元素。在以下代碼中,div和輸入的尺寸不應該相同嗎?如何獲取輸入以填充寬度?100%的寬度無效,因為輸入具有填充和邊框(導致最終寬度為1像素+ 5像素+ 100%+ 5像素+ 1像素)。固定寬度不是一個選擇,我正在尋找更靈活的方法。我希望直接找到解決方法。這似乎是CSS的怪癖,以后理解它可能會很有用。<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>    <head>        <title>width:auto</title>        <style>        div, input {            border: 1px solid red;            height: 5px;            padding: 5px;        }        input, form {            display: block;            width: auto;        }        </style>    </head>    <body>        <div></div>        <form>            <input type="text" name="foo" />        </form>    </body></html>我應該指出,我已經可以使用包裝方法來做到這一點。除了頁面語義和CSS選擇器關系的這種混亂之外,我還試圖了解問題的性質以及是否可以通過更改INPUT本身的性質來解決。好的,這真是奇怪!我發現解決方案是簡單地使用添加max-width:100%到輸入中width:100%;padding:5px;。但是,這引發了更多的問題(我將在另一個問題中提出),但是寬度似乎使用普通的CSS盒子模型,而max-width使用Internet Explorer邊框模型。真奇怪好的,最后一個似乎是Firefox 3中的錯誤。InternetExplorer 8和Safari 4將最大寬度限制為100%+填充+邊框,這是規范所說的。終于,Internet Explorer正確了。天哪,這太棒了!在這個過程中,在著名的大師Dean Edwards和Erik Arvidsson的大力幫助下,我設法組合了三個單獨的解決方案,以在具有任意填充和邊框的元素上實現真正的跨瀏覽器100%的寬度。請參閱下面的答案。此解決方案不需要任何額外的HTML標記,只需一個類(或選擇器)和舊版Internet Explorer的可選行為即可。
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 807 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號