我有以下HTML代码
<div style="background-color:Red;width:100px;height:100px;padding:5px;">
<input type="text" class="text" id="txtExtraSubject" style="width:450px;"/>
</div>
在浏览器中运行时,div不会增长以适应更大的文本框,它看起来就像文本框刚刚打破了div。为什么会发生这种情况,如何解决?
因为width: 100px
的意思是"The width is 100 pixels"而不是"The width is least 100 pixels"
你可以应用一个显示属性,使它收缩包装,并添加一个min-width
代替。
(未测试:display: table; min-width: 100px;
,其他的shirk包装方法,包括浮动内容(float: left
))
您也可以在父类上使用overflow:auto;
。
它将约束文本编辑到父div。但注意,它不会增加父div的宽度,因为宽度已经指定。结果将是一个水平滚动条。
如果不需要,可以减小文本输入的宽度,或者在父元素上使用min-width
而不是width
。
你为div指定了高度和宽度——为什么它会忽略你告诉它做的事情呢?
删除宽度或设置为460px(文本区域450px,填充10px)