К сожалению, нет более гладкого способа сделать это, что также имеет широкую поддержку кросс-совместимости. Существует спецификация CSS для отображения flex или flexbox, которая будет делать то, что вы хотите красиво и элегантно, но на данный момент она имеет очень ограниченную поддержку. Вот некоторые ресурсы на Flexbox для прочтения ...
http://css-tricks.com/old-flexbox-and-new-flexbox/
В том же время, вы можете достичь макета, который вы хотите с какой-то основной CSS чепухой, которая поможет вам, что вы хотите, но это требует абсолютное позиционирование вашего среднего div.
Heres в JSFiddle: http://jsfiddle.net/CW5dW/
Вот CSS:
.left {
width: 50%;
height: 300px;
float: left;
padding-right: 160px;
box-sizing: border-box;
background: red;
}
.right {
width: 50%;
height: 300px;
float: right;
padding-left: 160px;
box-sizing: border-box;
background: blue;
}
.middle {
position: absolute;
width: 300px;
height: 300px;
left: 50%;
padding: 10px;
margin-left: -150px;
box-sizing: border-box;
background: orange;
}
Что происходит здесь, вы можете спросить?
В принципе, мы берем div со средним классом и удаляем его из потока документа. Это позволяет нам плавать левый div слева, а наш правый div справа, с шириной 50%, чтобы плавно занять ВСЕ пространство браузера.
Затем мы скажем, что средний div занимает 300 пикселей пространства (в вашем случае 980), и мы скажем, чтобы он оставил 50% общей ширины вашего браузера слева. Это не центрирует его, потому что он рассчитан с левого края вашего div. Таким образом, мы даем ему отрицательное поле в размере половины его ширины, чтобы сортировать «перемещение», оставив край в центр div.
Тогда, поскольку мы знаем, что средний div имеет ширину 300 пикселей (в вашем случае 980), мы можем тогда сказать, что левый div должен иметь некоторую прокладку на правом краю, большую или равную половине средней ширины divs , в моем примере это 150px, и я добавил 10px больше, так что текст не мог прийти прямо к краю div, поэтому всего 160px. Мы делаем то же самое для правого div, но для левой стороны. Это ограничивает содержание этих двух divs от падения под нашим средним div.
Удивительный! Это сработало отлично! Спасибо огромное! – smile6241
Рад помочь =) –
Это было действительно полезно. Благодаря тонну! –