2014-02-16 2 views
1

У меня есть метка и текстовое поле внутри div, которое должно быть размером, соответствующим размеру и центрированному в окне. Когда окна достаточно широкие, они должны быть в столбцах. Когда окно слишком узкое, они должны быть сложены. Внутренние элементы обертываются, когда окно изменяется, но в точке, где текстовое поле обертывается, div не изменяется. Что не так?div не изменяется при переносе вложенных элементов

<style> 
    label { 
     display: block; 
     float: left; 
     width: 10em; 
    } 
    input { 
     max-width: 98%; 
     width: 20em; 
    } 
    div.form-wrapper { 
     background-color: red; 
     display: table; 
     margin-left: auto; 
     margin-right: auto; 
     padding: .4em; 
     width: auto; 
    } 
</style> 
<div class="form-wrapper"> 
    <label for="Player">Player's name</label> 
    <input id="Player" type="text" /> 
</div> 
+1

Это встроенный в поведении. К сожалению, я считаю, что единственная работа вокруг - использовать javascript, который, скорее всего, больше, чем вы хотите сделать для такой маленькой проблемы. Если вы хотите исправить это с помощью js, вы можете [взглянуть на эту демонстрацию] (http://jsfiddle.net/yXxD6/55/), это может помочь –

ответ

0

Это потому, что у вас есть плавающий элемент. Если вы удалите float, он изменит размер. Ниже приведен пример использования медиа запросов для удаления поплавка на меньших размеров экрана

DEMO http://jsfiddle.net/x8dSP/2707/

@media screen and (max-width: 400px) { 
    label { 
    float: none; 
    } 
} 
+0

Как вы синхронизируете ширину запроса медиаданных, когда Ширина ярлыков и текстовых полей динамическая? –

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