css – 在HTML中选择输入和文本输入 – 最佳方式使等宽度?

前端之家收集整理的这篇文章主要介绍了css – 在HTML中选择输入和文本输入 – 最佳方式使等宽度?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个简单的形式,所以(说明)
<form>

   <div class="input-row">
      <label>Name</label>
      <input type="text" name="name" />
   </div>

   <div class="input-row">
      <label>Country</label>
      <select name="country">
         <option>Australia</option>
         <option>USA</option>
      </select>
   </div>

</form>

我的布局方法使用CSS如下…

form  {
    width: 500px;
}

form .input-row {
    display: block;
    width: 100%;
    height: auto;
    clear: both; 
    overflow: hidden; /* stretch to contain floated children */
    margin-bottom: 10px;
}

form .input-row label {
    display: block;
    float: left;
}

form .input-row input,form .input-row select {
    display: block;
    width: 50%;
    float: right;
    padding: 2px;
}

这一切都很好对齐,除了我的选择元素(在Firefox中)不总是与我的其他输入元素相同的宽度。它通常窄几个像素。

我试着将宽度改为像素大小(例如200像素),但它没有起到什么作用。

什么是最好的方法来获得这些都具有相同的宽度?我希望它不诉诸于我单独设置选择的宽度,或将它们放入表…

解决方法

解决方案是指定表单元素的框模型,并且当您使用border-Box时,浏览器通常最同意:
input,select,textarea {
  -webkit-Box-sizing: border-Box;
     -moz-Box-sizing: border-Box;
          Box-sizing: border-Box;
}

normalize.css个项目聚集了这样的技巧。

猜你在找的CSS相关文章