Для размещения предметов с display: block
используют людей margins: auto
. Если я установил max-width
ребенку, который должен быть центрирован, и есть достаточно места вокруг него, он будет настолько же текущим, насколько это необходимо (в зависимости от его содержимого) до max-width
. Но если я изменю свойство display
родительского элемента на flex
, он больше не занимает все свободное пространство. Мне действительно нужно использовать max-width
, так как я хочу, чтобы элемент сжимался на маленьких экранах.центрированный макс-ширина не является жидкостью с дисплеем: flex
Вот jsfiddle. Нажатие на кнопку свопит display: flex
на display: block
на родителя. Я хочу зеленое пространство на flex
для жидкости, насколько это возможно для max-width
, как это сделано с display:block
EDIT: Я также хотел бы использовать flex-direction: column
$('input').click(function() {
var curDisplay = $('#parent').css('display');
if (curDisplay == 'block') {
$('#parent').css('display', 'flex');
$('input').val('flex');
} else {
$('#parent').css('display', 'block');
$('input').val('block');
}
})
#parent {
display: flex;
flex-direction: column;
width: 100%;
background-color: red;
height: 50px;
}
#child {
max-width: 300px;
background-color: green;
height: 50px;
margin: auto;
}
input {
width: 100%:
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parent">
<div id="child">
<input type="button" value="Click Me!" />
</div>
</div>
О, я уже пробовал, забыл упомянуть, я использую 'Flex-направление: column'. Он не работает вместе с ним. Вот https://jsfiddle.net/f7ymrk0v/1/ – deathangel908
flex-direction: row; это не вариант? – TechTho
К сожалению нет, есть ли альтернативный способ для 'max-width'? Мне просто нужна фиксированная ширина div, которая может сжиматься, если родительский суживается. – deathangel908