【发布时间】:2018-02-16 16:19:09
【问题描述】:
我想在 DIV 中创建一个表单,并且我希望 DIV 不大于表单中的元素。所以我把这个作为我的 DIV
<div id="content">
<div id="userNotificationForm">
<form class="new_user_notification" id="new_user_notification" action="/user_notifications" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="authenticity_token" value="nZlQSEjw1o/7DxxOAUmFWJiXr5ZqPodX2tBcCs2qshqLVhM8U/WXuBWocICXDmYOoBnAjhvrEIat972+SkQKEQ==" />
<div class="field">
<label for="user_notification_price">Label</label> <span class="required">*</span> <br>
<input size="30" type="text" name="user_notification[price]" id="user_notification_price" />
</div>
<div class="actions buttonContainer">
<input type="submit" name="commit" value="Submit" id="submit" class="button btn" data-disable-with="Submit" />
</div>
</form>
</div>
</div>
并为其分配“display:inline-block”属性,认为这会使表单尽可能大,而不是更大。
#userNotificationForm {
background-color: #fff;
display: inline-block;
text-align: left;
}
这在 Mac Firefox 上运行良好 -- https://jsfiddle.net/yj3cdvfy/ ,但请注意在 Mac Chrome 上,文本框在表单容器的边缘(白色部分)溢出。同样适用于 Safari。如何让容器完全包含文本框,就像 Firefox 似乎做的那样?
【问题讨论】:
-
您没有为您的
input指定width- 指定width:100%可以解决您的问题。 -
确实如此。谢谢!
标签: html css google-chrome inline display