2009-04-28 2 views
0

Я искал навсегда. Извините, я довольно отчаянный в этот момент, поэтому я подумал, что попрошу здесь. Ниже приведен образец HTML. Когда столбец B длиннее одной страницы (окно просмотра, извините, я не уверен в правильной терминологии здесь), то A и C не расширяются по высоте, чтобы заполнить контейнер div. Они заполняют всю страницу, но останавливаются на одной длине страницы, даже если столбец B длиннее одной страницы. Любые идеи, я вытаскиваю свои волосы. Я играю с высотой и минимальной высотой, и ничего не работает.Как я могу получить три столбца, разделяющие div, каждый из которых расширяется, чтобы заполнить его родитель?

<!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" > 
<head> 
    <title>Untitled Page</title> 
     <style type="text/css"> 
      html, body 
      { 
       height: 100%; 
       background-color: gray; 
       padding: 0; 
       margin: 0; 
      } 

      #container 
      { 
       height: 100%; 
       margin: auto; 
       padding: 0px; 
       width: 610px; 
      } 

      #a 
      { 
       width: 5px; 
       min-height: 100%; 
       float: left; 
       background-color: yellow; 
      } 

      #b 
      { 
       width: 600px; 
       background-color: Blue; 
       float:left; 
       min-height: 100%; 
      } 

      #c 
      { 
       width: 5px; 
       float:left; 
       min-height: 100%; 
       background-color: green; 
      } 
     </style> 
</head> 
<body> 
     <div id="container"> 
      <div id="a"></div> 
      <div id="b"> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
       <p>more</p> 
      </div> 
      <div id="c"></div> 
    </div> 
</body> 
</html> 

EDIT: Прежде чем тратить чье-то время объяснять мне о захвате одного пикселя по горизонтали, а затем черепицей, что дизайнер дал мне вертикальный градиент. Начинается темный сверху и заканчивается зажигалкой. Это, а также теневой эффект. Тень работает горизонтально. Таким образом, нет возможности разрезать это, а затем использовать умное использование плитки, насколько я знаю.

ответ

0

Вы видели faux columns трюк?

+0

Да, у меня есть. Я бы сделал это, но, к сожалению, дизайнер дал мне градиентную заливку, которая является вертикальной, поэтому резка вертикально не работает. Я должен срезать горизонтально. – uriDium

+0

, то просто не устанавливайте повторение. – dburke

+0

Но тогда у меня будет большое фоновое изображение. НО я полагаю, что в сегодняшнем мире быстрых интернет-скоростей действительно имеет значение, если я загружаю два больших изображения? – uriDium

1

На сегодняшний день самым простым способом является использование таблицы с одной строкой вместо div. Стол может быть не слишком классным способом делать что-то, но в конце концов они просто работают намного меньше кода, чем пытались добиться того же самого с помощью css.

+0

Я только что понял это правильно, используя таблицы. Я думаю, что это такой хакерский способ сделать это, но я нахожусь в точке, где я думаю, что все будет сделано. Поэтому, если никто не может получить решение, используя CSS и divs, тогда я буду выбирать это как правильный ответ. – uriDium