如何让我的 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="&#x2713;" /><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;
}