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;
}
​

しかし、右の境界線で入力が少し大きいのはなぜですか? 1つのdivであるため、どうすればクリアできますか? (また、丸い境界線と影があります)

ここ:

リンク

4

6 に答える 6

0

最良の方法は、入力の左右の各側で 1 ピクセルを削除し、100% ではなく手動で設定することです。

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

marginandを削除しますpaddingが、入力にはborderalso があります。に追加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

境界線を 1 ピクセルに保ちたい場合は、次のようにします。

.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 に答える