2015-08-02 7 views
0

Я пытаюсь расположить два поля ввода в одной строке, применив свойство float: left; в классе .inline.Как разместить два текстовых поля с полями в одной строке?

Однако, поскольку все input[type="text"] имеют margin: 5px;, он будет работать только с width: 50%, только если я удалю поля.

С перевесом 5:

Image 1

Без края:

enter image description here

Что бы идеальным решением?

Вот codepen ссылка: http://codepen.io/biskotaki/pen/YXdYYE?editors=110

+0

уменьшить ширину ваших текстовых полей для учета маржи –

+0

Как я могу сделать это автоматически, хотя? – Biskotaki

+0

http://codepen.io/anon/pen/JdwMpE?editors=110 –

ответ

2
input[type="text"] 
{ 
    box-sizing: border-box; 
    padding: 5px; 
    width: 100%; 
} 

.inline input { 
    float: left; 
    width: calc(50% - 10px); 
    margin:5px; 
} 

http://fiddle.jshell.net/fL0gm3h9/

+0

Большое спасибо, можете ли вы отправить мне еще одну скрипку о том, как я могу использовать более двух полей в одной строке, используя этот способ? – Biskotaki

1

Поскольку у вас уже есть .inline класс, добавьте это:

.inline>input[type="text"] {margin:0} 

Это отключит поле на соответствующих полях ввода.

2

уменьшить ширину до 48%

input[type="text"] 
 
{ 
 
    box-sizing: border-box; 
 
    padding: 5px; 
 
    width: 100%; 
 
} 
 

 
.inline input { 
 
    float: left; 
 
    width: 48%; 
 
    margin:5px;}
<div class="inline"> 
 
    <input type="text" placeholder="text 1"> 
 
    <input type="text" placeholder="text 2"> 
 
</div>

+0

http://codepen.io/anon/pen/JdwMpE?editors=110 –

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