2016-10-04 3 views
3

https://plnkr.co/edit/vWR7kK9MQw4nyciRt1Bj?p=previewОтзывчивая форма с использованием начальной загрузки CSS

Я загрузил свой код в plunker. Размер медиафайла 768px, 1260px отвечает. Мне нужно иметь по крайней мере три поля ввода для каждой строки на уровне экрана мультимедиа 480px-760px, но все, что я получаю, - это только одно поле в строке. После этого на медиа-экране при минимальном размере 480 пикселей на строку приходит только одно поле. Нужна помощь.

Я пробовал регулировать ширину полей. Для справки Css и Html кода следующим образом:

HTML:

<form name="tForm" role="form" data-ng-init="resp()"> 
    <div class="row newRow"> 
    <div class="form-group fields col-sm-2" ng-class="{'has-error': (tForm.fname.$dirty || tForm.$submitted) && tForm.fname.$invalid }"> 
     <label for="fname">FIRST NAME *</label> 
     <br> 
     <input type="text" name="fname" class="form-control1 col-sm-2" autocomplete="off" ng-required="true" ng-model="firstName" ng-pattern="/^[a-zA-Z ]*$/" ng-minlength=1/> 
    </div> 
    <div class="form-group fields col-sm-2"> 
     <label>LAST NAME *</label> 
     <input type="text" name="lname" class="form-control1" autocomplete="off" ng-required="true" ng-model="lastName" /> 
    </div> 
    <div class="form-group fields col-sm-2"> 
     <label>GENDER *</label> 
     <br> 
     <select name="gender" class="form-control1 drop" required ng-model="gender" placeholder="select"> 
     <option value='' disabled selected>Select</option> 
     <option value="male">Male</option> 
     <option value="female">Female</option> 
     <option value="transpant">Transgender</option> 
     </select> 
    </div> 
    <div class="form-group fields col-sm-2"> 
     <label>DOB</label> 

     <div class="form-group"> 

     </div> 
    </div> 
    </div> 
</form> 

CSS:

@media screen and (min-width: 480px) { 
    .newrow { 
    width: 100; 
    } 
    .firstfields { 
    margin-top: 10px; 
    margin-left: 5px; 
    } 
    .drop2 { 
    padding: 6px; 
    padding-right: 3em; 
    border: none; 
    color: black; 
    width: 85%; 
    } 
    .fields { 
    border: 1px #A9A9A9 solid; 
    width: 200px; 
    margin: 1em; 
    height: 75px; 
    color: #A9A9A9; 
    font-size: 11px; 
    } 
    input[type=text] { 
    width: 65%; 
    margin: 8px 0; 
    box-sizing: border-box; 
    border: 3px solid #fff; 
    -webkit-transition: 0.5s; 
    transition: 0.5s; 
    outline: none; 
    } 
    input[type=email] { 
    width: 65%; 
    margin: 8px 0; 
    box-sizing: border-box; 
    border: 3px solid #fff; 
    -webkit-transition: 0.5s; 
    transition: 0.5s; 
    outline: none; 
    } 
    input[type=email]:focus { 
    border: 3px solid #fff; 
    } 
    .drop { 
    width: 160px; 
    } 
    .drop select:focus { 
    box-shadow: 0 0 3pt 2pt #fff!important; 
    } 
    .drop1 { 
    width: 85%; 
    padding: 6px; 
    padding-right: 6em; 
    border: none; 
    color: black; 
    } 
    input[type=text]:focus { 
    border: 3px solid #fff; 
    } 
    .newpagebody { 
    background-size: auto; 
    } 
} 
+1

Пожалуйста, ваши требования ясно, будучи более конкретными. –

ответ

0

использование Col-мс - (середина маленький) между 480 и 768

И если вы хотите 3, вы должны сделать class="col-ms-4" и сделать class="row" вокруг тех 3 разделов, которые вы хотите в том же ряду

1

Для таргетинга определенного размера экрана ниже 768px ширины вы можете использовать класс col-xs-*.

Итак, чтобы иметь 3 поля ввода для каждой строки, вы должны добавить класс col-xs-4 в группу форм.

как - class="form-group fields col-xs-4 col-sm-2"

Кроме того, для ниже 768px разрешения вам необходимо удалить данный дополнительный width к .fields, а также .newrow класса.

ниже -

@media screen and (min-width: 480px) 
.newrow { 
    /* width: 100; */ /* removed */ 
} 

@media screen and (min-width: 480px) 
.fields { 
    border: 1px #A9A9A9 solid; 
    /* width: 200px; */ /* removed */ 
    margin: 0em;   /* editied - to avoid impact on responsiveness */ 
    height: 75px; 
    color: #A9A9A9; 
    font-size: 11px; 
} 

@media screen and (min-width: 480px) 
input[type=text] { 
    width: 100%;    /* edited */ 
    /* padding: 12px 20px; */ /* removed */ 
    margin: 8px 0; 
    box-sizing: border-box; 
    border: 3px solid #fff; 
    -webkit-transition: 0.5s; 
    transition: 0.5s; 
    outline: none; 
} 

@media screen and (min-width: 480px) 
.drop { 
    width: 100%; /* edited */ 
} 

Для получения дополнительной информации о отзывчивой энергосистеме чтения - http://www.w3schools.com/bootstrap/bootstrap_grid_system.asp

+0

Спасибо за помощь. Я решил проблему. –

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