Проблема с CSS, столбец не останется на месте, если он не заполнен текстом

#html #css #css-float

#HTML #css #css-float

Вопрос:

У меня есть 3 элемента с плавающей точкой, которые составляют мой макет, однако, несмотря на то, что два раздела абсолютно одинаковы, но один не сохранит свою форму, если я не добавлю в него текст.

мой html;

     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <title>test</title>
    <meta http-equiv="content-type" content="text/html;charset=utf-8" />
    <link rel="stylesheet" href="css.css" type="text/css" />
</head>

<body>
<div id="pagewidth" >
    <div id="header"><h2>Head</h2></div>
        <div id="twocols"> 
            <div id="maincol"><h1>Main Content Column</h1><p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.</p> <p>Nullam dictum felis eu pede mollis pretium. Integer tincidunt. Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus. Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim. Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.</p> </div>
            <div id="rightcol"><p>a</p></div>
        </div> 
        <div id="leftcol"></div>
</div>
</body>
</html>
  

мой CSS, это rightcol, который не будет отображаться должным образом.

 html, body{ 
 margin:0; 
 padding:0; 
 text-align:center; 
} 

#pagewidth{ 
 width:100%; 
 hight:100%;
 text-align:left; 
 margin:0 auto; 
} 

#header{
 position:relative; 
 height:3%; 
 background-color:#000000; 
 width:100%;
 display:block;
 overflow:auto;

} 

#leftcol{
 width:5%; 
 height:97%;
 float:left; 
 position:absolute; 
 background-color:#000000; 

 }

 #twocols{
 width:90%; 
 height:97%;
 float:right; 
 position:relative; 
  }

#rightcol{
 width:5%; 
 float:right; 
 position:relative; 
 background-color:#000000;
 }


#maincol{
 background-color: #FFFFFF;  
 float: left; 
 position: relative; 
 width:94%; 
 }
  

Комментарии:

1. Демонстрация: jsfiddle.net/Zup25

2. Не нужно извиняться, мы здесь, чтобы учиться!

3. @Trufa — Был ли комментарий, который был удален?

4. @JaredFarrish: Нет .. Я отредактировал вопрос…

Ответ №1:

#rightcol не имеет определенной высоты, следовательно, он принимает высоту 0, поэтому он не отображается, если он чем-то не заполнен.