输入边框 CSS

新手上路,请多包涵

我的输入边框有问题。当我更改边框宽度属性时,它会更改整个输入的宽度。但是,我希望输入的宽度为 100%。这是我的代码:

CSS

 #wrapper {
      width: 170px;
    }
    textarea {
      border-color: #eee;
      border-width: 1px;
    }
    label, textarea, input {
      width: 100%;
      display: block;
    }
    input {
      border-style: solid;
      border-width: 1px;
    }
 <div id="wrapper">
   <form>
        <label for="comments">Comments</label>
        <textarea name="comments" rows="5"></textarea>
        <label for="date">Date</label>
        <input type="text" name="date">
        <label for="time">Time</label>
        <input type="text" name="time">
        <label for="longitude">Longitude</label>
        <input type="text" name="logitude">
        <label for="latitude">Latitude</label>
        <input type="text" name="latitude">
   </form>
<div>

请注意输入几乎延伸到文本区域,但不完全延伸。谢谢!

原文由 Hudson Taylor 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 308
2 个回答

You need to use the box-sizing to border-box to add width as well, as border too takes up its own width:

 * {
  box-sizing: border-box;
}
#wrapper {
  width: 170px;
}
textarea {
  border-color: #eee;
  border-width: 1px;
}
label, textarea, input {
  width: 100%;
  display: block;
}
input {
  border-style: solid;
  border-width: 1px;
}
 <div id="wrapper">
  <form>
    <label for="comments">Comments</label>
    <textarea name="comments" rows="5"></textarea>
    <label for="date">Date</label>
    <input type="text" name="date">
    <label for="time">Time</label>
    <input type="text" name="time">
    <label for="longitude">Longitude</label>
    <input type="text" name="logitude">
    <label for="latitude">Latitude</label>
    <input type="text" name="latitude">
  </form>
</div>

解释

CSS盒模型,默认为 content-width 定义总维度为:

 width = contentWidth + paddingLeftWidth + borderLeftWidth
height = contentHeight + paddingLeftHeight + borderLeftHeight

(来源: binvisions.com

原文由 Praveen Kumar Purushothaman 发布,翻译遵循 CC BY-SA 4.0 许可协议

当您将包装宽度设置为 170px 并且输入位于包装内部时,当您将其宽度设置为 100% 时,它将是 170px

原文由 João Mateus 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题