2013-09-03 1 views
2

Пожалуйста, можете проверить это example website. если я хорошо прочитал код (просто был прицел), он настраивается с таблицами с некоторым javascript, так что центрированный контейнер всегда может оставаться в центре и что у тела есть два флюидных цветных фона, которые расширяются в соответствии с размером экрана.центр контейнер в среде с эластичным фоном

Я пытался воспроизвести что-то подобное, но просто используя css, я вполне уверен, что могу, но не могу понять, как это сделать. пожалуйста, не могли бы вы дать мне указание/документ для чтения.

ответ

0

Вы просто запрашиваете горизонтальное центрирование на контейнере с фиксированной шириной. Это легко сделать полностью в CSS. Просто установите для вашего контейнера (элемент, который оборачивается вокруг всего сайта):

.container { 
    width: 800px; 
    margin: 0 auto; 
} 

«авто» будет автоматически выравниваться левый и правый края (без края сверху и снизу.)

[Редактировать: oops забыл немного]

Что касается блоков цвета, вы можете достичь этого с фоновым изображением на вашем элементе, это 1px широкий и сколько вам нужно. Просто установите его для повторения-x.

Если две секции имеют возможность иметь разную высоту, вы можете разбить его, так что:

  1. Один контейнер по всей ширине, и имеет цвет фона. Внутренний контейнер затем будет фиксированной шириной с автоматическими полями, как указано выше;
  2. Другой контейнер имеет полную ширину и имеет более светлый цвет фона. Внутренний контейнер затем будет фиксированной шириной с автоматическими полями, как указано выше.

Это означает, что ваш код будет что-то вроде:

<div class="headercontainer"> 
    <div class="header> This is my header </div> 
</div> 
<div class="maincontainer"> 
    <div class="main"> This is rest of my copy. </div> 
</div> 

И ваш CSS:

.headercontainer { background-color: #222; } 
.maincontainer { background-color: #444; } 
.headercontainer .header, 
.maincontainer .main { width: 800px; 
    margin: 0 auto; } 

НТН :)

+0

Я застрял с 1px изображения вещь. можете ли вы уточнить, куда его поместить? Я полагаю, что в классе .main, но он должен понимать всю левую сторону. и контейнер должен быть выровнен с вырезом заголовка !! –

+0

@il_maniscalco Если вы разместите изображение шириной 1px, которое рисует более темный и светлый фон, вы поместите его на элемент html: html {background: url ('/ images/html-bg.png') repeat-x 50% 0 ; }, но тогда вы должны зафиксировать высоту .headercontainer на высоте более темного фона на изображении. Более устойчивым является сделать это вторым способом, который я описал, с несколькими контейнерами для разных разделов. – Ming

+0

Я думаю, что это не поможет мне, так как это жидкая компоновка, если я поставлю 1px высокое изображение в фоновом режиме, оно не растянется, как мне нужно ...однако я сейчас отказался от этой штуки, возможно, мне нужно настроить ее с помощью javascript или js frameworks ... –

1

i have designed a simple structure here in Jsfiddle,have a look

MARK-UP ::

<div class="wrapper"> 
    <div class="head_wrapper"> 
     <div class="left_head">left</div> 
     <div class="right_head">right</div> 
    </div> 
<div class="body_wrapper"> 
     <div class="left_body">left</div> 
     <div class="right_body">right</div> 
</div> 
</div> 

CSS ::

.wrapper{ 
overflow:hidden; 
width:100%; 
display:table; 
} 
.head_wrapper,.body_wrapper{ 
overflow:hidden; 
width:100%; 
padding:0px; 
display:table-row; 
} 
.left_head,.left_body,.right_head,.right_body{ 
display:table-cell; 
text-align:center; 
vertical-align:middle; 
} 
.left_head{ 
background:black; 
height:300px; 
font-size:36px; 
color:white; 
} 
.right_head{ 
background:blue; 
height:300px; 
font-size:36px; 
} 
.left_body{ 
background:yellow; 
height:800px; 
font-size:36px; 
} 
.right_body{ 
background:green; 
height:800px; 
font-size:36px; 
} 
.left_head,.left_body{ 
width:70%; 
overflow:hidden; 
} 
+0

приятно, но он не работает должным образом! если вы попытаетесь увеличить масштаб - и + пример сайта, средняя линия между ячейками изменит свое положение, чтобы позволить центрированию всего внутреннего содержимого, поэтому он должен изменить процент в соответствии с разрешением. Я довольно пессимистично отношусь к этому без таблиц и javascript. : / –