Я надеюсь, что есть способ сделать это без JavaScript. У меня есть два элемента с встроенным блоком. Они имеют ширину и высоту 200 пикселей, поэтому оба они отображаются в одной строке, если размер браузера не очень мал (или с мобильными браузерами). Я хочу, чтобы между этими двумя элементами было 50px-пространство, поэтому на втором элементе я добавил "margin-left: 50px", который отлично работает. Когда размер браузера изменяется до размера, в котором оба элемента не могут вписаться в одну строку, второй элемент переносится на следующую строку, что я и хочу сделать. Проблема в том, что второй элемент по-прежнему имеет левое поле 50px, поэтому элементы не отображаются по центру. Я мог бы добавить JavaScript, чтобы определить, когда высота контейнера изменяется (т.е. Элемент, завернутый в следующую строку) и удалить левое поле, но есть ли способ выполнить это без JavaScript?
Здесь мой код, упрощенный:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<div id="wrapper" style="text-align: center;">
<div id="elem1" style="display: inline-block; background-color: #f00; width: 200px; height: 200px;"></div>
<div id="elem2" style="display: inline-block; background-color: #00f; width: 200px; height: 200px; margin-left: 50px;"></div>
</div>
</body>
</html>
Fiddle: http://jsfiddle.net/YRshx/