2016-03-21 3 views
1

Почему ширина электронной почты и пароля выходит из ширины input-container?CSS входной элемент ширина, выходящий за пределы контейнера

form { 
 
    background: #ccc; 
 
    } 
 
    .input-container { 
 
    background: red; 
 
    width: 469px; 
 
    margin: 0 auto; 
 
    } 
 
    .usermail, 
 
    .userpword { 
 
    margin-top: 10px; 
 
    } 
 
    input, 
 
    button { 
 
    width: 100%; 
 
    border-radius: 6px; 
 
    border: 1px solid #cacece; 
 
    padding: 10px 12px; 
 
    font-size: 1em; 
 
    } 
 
    .username input { 
 
    width: 206px; 
 
    }
<form action='' method='post' id='signupform'> 
 
    <div class='input-container'> 
 
    <div class='username'> 
 
     <input type='text' name='fname' id='fname' placeholder='First Name'> 
 
     <input type='text' name='lname' id='lname' placeholder='Last Name'> 
 
    </div> 
 
    <div class='usermail'> 
 
     <input type='email' name='email' id='email' placeholder='Email'> 
 
    </div> 
 
    <div class='userpword'> 
 
     <input type='password' name='pword' id='pword' placeholder='Password'> 
 
    </div> 
 
    <button>Sign Up</button> 
 
    </div> 
 
</form>

+0

Поскольку ваша обивка не засчитываются ширины, так ваш вход '100% + padding' широкий. используйте 'box-sizing: border-box' для решения этой проблемы. То же самое касается и вашей границы. – somethinghere

+2

Возможный дубликат [CSS-вход с шириной: 100% выходит за пределы родительской привязки] (http://stackoverflow.com/questions/16907518/css-input-with-width-100-goes-outside-parents-bound) – showdev

+0

^Google "CSS Box Model" –

ответ

4

Это потому, что вы установили отступы. Он суммирует значение ширины элемента с набором дополнений.

Чтобы избежать этого, рекомендуется добавить свойство box-sizing: border-box

Пример:

#element{ 
    box-sizing: border-box;} 

Или еще лучше:

*{ 
    box-sizing: border-box;} 
+0

В частности, добавьте его в правило CSS «ввода, кнопки» – 4castle

+1

Хотя «еще лучше» - очень легкое определение, поскольку многие утверждают, что использование '*' wildcards - _bad_ для производительности в целом. Лично я бы не использовал '*', поскольку он перевертывает всю коробчатую модель вверх ногами, и все, что вы думаете, что знаете сейчас, работает по-другому, но это личное предпочтение. – somethinghere

Смежные вопросы