2016-04-30 16 views
0

メールとパスワードの入力フォームと他のボタンがあります。入力タイプが幅100%で親のdiv内にある

HTML:

<div id="login-form"> 
<form> 
    <input type="email" placeholder="Email" id="email" name="email_phone"> 
    <br> 
    <input type="password" placeholder="Password" id="password" name="password"> 
    <br> 
    <button id="login-submit">Submit</button> 
    <br> 
    <button id="login-forgot">Forgot Password</button> 
</form> 
<br> 
<br> 
<center> 
    <p>Don't have an account?</p> 
</center> 
<button id="create-new-account">Create Account Now</button> 
</div> 

私は親の100%の幅であることを入力してボタンを必要としています。 のパディングは10ピクセルです。

#login-form input[type=email], #login-form input[type=password] { 
    width: 100%; 
    font-size: 14pt; 
    border: none; 
    outline: none; 
    padding: 10px; 
} 

#login-form button { 
    width: 100%; 
    border: none; 
    color: white; 
    font-size: 14pt; 
    padding: 10px; 
    margin-top: 10px; 
    border-radius: 4px; 
    cursor: pointer; 
} 

次に、問題は入力幅から始まります。すべてのボタンは親要素内にありますが、入力ボックスは親divを横断します。このように:

enter image description here

demo at Codepen

入力ボックスを親div内に保持する方法と、幅を100%にして埋め込みを行う方法を教えてください。

+1

親divには埋め込みがありますか? box-sizing:border-boxを試してみて、パディングを追加したために動作するかどうかを確認してください。ボックスサイズがボーダーボックスではない場合、それは要素に追加されます –

+0

いいえ、パディングはありません。 – Kakar

答えて

3

問題は入力パッドにあります。それはあなたの入力フィールドにボックスのサイズ変更プロパティを追加修正するには:

box-sizing: border-box; 

私はちょうどあなたのcodepenでそれをテストし、あなたが望む結果のように思えます。

+0

はい。これが解決策です。ありがとうございました。 – Kakar

0

これは入力要素の埋め込みによるものです。これは10に設定されているため、親要素の端を超えて展開する必要があります。考えられる解決策には、パッディングを削除するか、幅を狭めて内側にうまく収まるようにすることだけです。

+0

しかし、境界線からテキストが始まるので、パディングを削除するだけで醜いように見えます。埋め込みをして、親div内に入力を保持することは可能ですか? – Kakar

1

divの幅を100%にしてから入力フィールドの幅を変更します。

関連する問題