0

我有这样的html代码:

<div class="one1">
<div class="one">
<input class="two" name="user[email]" placeholder="Ваш e-mail" required="required" type="email">
</div>
</div>​

和CSS

.one1{
    background-color: #000;
    width:200px;
    height: 200px;
}
.one{
    margin: 0 auto;
    background-color: #cecece;
    width:180px;
    height: 200px;
}
.two{
    width: 100%;
    margin: 0;
    padding: 0;
}
​

但是为什么输入在右边框上有点大?由于它是一个 div,如何清楚?(也会有圆角边框和阴影)

这里:

关联

4

6 回答 6

0

你去掉marginandpadding但输入也有border。所以尝试添加border:none.input

演示

于 2012-11-05T20:44:27.757 回答
0

因为它包括边框宽度。尝试:

.two{
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}
于 2012-11-05T20:45:05.883 回答
0

它是由用户代理样式表添加的边框引起的。添加border: 0;two班级。

.two{
    width: 100%;
    margin: 0;
    padding: 0;
    border:0;
}
于 2012-11-05T20:45:14.367 回答
0

最好是在您输入的左右两侧删除 1px 并手动设置它而不是 100%

.two{
    width: 178px;
    margin: 0;
    padding: 0;
    border:1px solid black;
}
于 2012-11-05T20:53:24.290 回答
0

如果您想将边框保持在 1 px,请执行以下操作:

.two {
  width: 100%;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box; /* Firefox */
  -webkit-box-sizing: border-box; /* Safari */
}

浏览器正在根据内容+填充计算输入的宽度(100%),您希望指示浏览器也包括边框。

于 2012-11-06T07:34:55.907 回答
0

你可以使用这个 CSS 属性

input.two{
  box-sizing: border-box;
  -moz-box-sizing: border-box; /* Firefox */
  -webkit-box-sizing: border-box; /* Safari */
}
于 2012-11-06T07:58:19.127 回答