如何让我的 DIV 只占用它包含的元素的宽度?
How do I make my DIV only take up the width of the elements it contains?
我有一个小表格,里面有一个更大的 div:
<div id="confirmEmailContainer">
<form class="edit_user" id="edit_user_2" action="/users/2" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="_method" value="patch" /><input type="hidden" name="authenticity_token" value="hWjOQEpKyMKVrk9+vWEeenl3D49rVe4hXFKgF4lza09xXRo0HENKMqGRpq9xUflWqbGJUdoxrmQrsksQWV5s7g==" />
<div class="field">
<label for="user_email">Email</label> <span class="required">*</span> <br>
<div>
<input size="30" style="display: inline;" type="text" value="myemail@msn.com" name="user[email]" id="user_email" />
<span id="emailConfirmedStatus">
<div class="unconfirmed" style="display: block"><img style="vertical-align:middle" src="/assets/x-mark-621493006f6052df98aa84352a33f21bccabfc670129ca9572009545745040d9.png" alt="X mark" width="16" height="16" /> Unconfirmed</div>
<div class="confirmed" style="display: none"><img style="vertical-align:middle" src="/assets/checkmark-b87ae8ffea696b9c9587f26fdb656af7a21da4f7f73da01fc4bef9b35a1b9465.svg" alt="Checkmark" width="16" height="16" /> Confirmed</div>
</span>
</div>
</div>
<div class="actions buttonContainer">
<input type="submit" name="commit" value="Send Confirmation Email" id="submit" class="button btn" data-disable-with="Send Confirmation Email" />
</div>
</form>
</div>
我没有在任何地方指定 CSS width
属性,包括表单或其容器:
#confirmEmailContainer {
background-color: #fff;
text-align: left;
}
form {
margin: 4% 15%;
font-family: Manuelle;
font-size: 14px;
}
但是容器几乎占据了内容区域的整个宽度 - https://jsfiddle.net/70pgd6jn/。如何让表单只占据其元素的宽度?
您应该将 float: left
添加到 #confirmEmailContainer
并将 overflow: hidden
添加到 #content
您可能正在寻找 display: inline-block
属性,这将允许您的容器元素仅占据它需要的 space。
#confirmEmailContainer {
background-color: #fff;
text-align: left;
display: inline-block;
}
我有一个小表格,里面有一个更大的 div:
<div id="confirmEmailContainer">
<form class="edit_user" id="edit_user_2" action="/users/2" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓" /><input type="hidden" name="_method" value="patch" /><input type="hidden" name="authenticity_token" value="hWjOQEpKyMKVrk9+vWEeenl3D49rVe4hXFKgF4lza09xXRo0HENKMqGRpq9xUflWqbGJUdoxrmQrsksQWV5s7g==" />
<div class="field">
<label for="user_email">Email</label> <span class="required">*</span> <br>
<div>
<input size="30" style="display: inline;" type="text" value="myemail@msn.com" name="user[email]" id="user_email" />
<span id="emailConfirmedStatus">
<div class="unconfirmed" style="display: block"><img style="vertical-align:middle" src="/assets/x-mark-621493006f6052df98aa84352a33f21bccabfc670129ca9572009545745040d9.png" alt="X mark" width="16" height="16" /> Unconfirmed</div>
<div class="confirmed" style="display: none"><img style="vertical-align:middle" src="/assets/checkmark-b87ae8ffea696b9c9587f26fdb656af7a21da4f7f73da01fc4bef9b35a1b9465.svg" alt="Checkmark" width="16" height="16" /> Confirmed</div>
</span>
</div>
</div>
<div class="actions buttonContainer">
<input type="submit" name="commit" value="Send Confirmation Email" id="submit" class="button btn" data-disable-with="Send Confirmation Email" />
</div>
</form>
</div>
我没有在任何地方指定 CSS width
属性,包括表单或其容器:
#confirmEmailContainer {
background-color: #fff;
text-align: left;
}
form {
margin: 4% 15%;
font-family: Manuelle;
font-size: 14px;
}
但是容器几乎占据了内容区域的整个宽度 - https://jsfiddle.net/70pgd6jn/。如何让表单只占据其元素的宽度?
您应该将 float: left
添加到 #confirmEmailContainer
并将 overflow: hidden
添加到 #content
您可能正在寻找 display: inline-block
属性,这将允许您的容器元素仅占据它需要的 space。
#confirmEmailContainer {
background-color: #fff;
text-align: left;
display: inline-block;
}