如何控制容器高度?

时间:2011-01-23 16:26:41

标签: css html containers

我有两个容器。一个包含完整内容(container1),然后在右边我有一个包含用户信息(container2)的框:

当我向容器添加内容时,如果内容长于高度,则内容会一直从容器中移出。所以我决定增加身高:自动;然而,这将搞乱容器2的呈现。我能做些什么来确保它们保持一致吗?

代码

<div id="container">

<h1>$nameis</h1>

Here will be the content that will be longer and shorter on certain pages.

</div>
<div id="container2">
<div id="welcoming">
<input id="search">
<h3><?php echo $angelinajolie;?></h3>
<h3><a href="/lastlogin.php">Logins</a></h3>
<h3><a href="/stats.php">Stats</a></h3>
</div>
</div>

CSS

 div#container {
 background-color: #FFFFFF;
 margin:0 auto; 
 height: 300px;
 width:60%;
 font-family: "Lucida Grande", Verdana, "Lucida Sans Unicode", Arial, Helvetica, sans-serif;
 border:0px solid #FFFFFF;
 margin-top:25px;
 font-size:15px;
 color: #222222;
 margin-left:60px;
  }

 #container2 {
 margin:0 auto; 
 height: 80px;
 width:20%;
font-family: "Lucida Grande", Verdana, "Lucida Sans Unicode", Arial, Helvetica, sans-serif;
border:0px solid #FFFFFF;
margin-top:25px;
font-size:15px;
color: #E1E1E1;
margin-left: 70%;
 margin-top:-317px;
}

4 个答案:

答案 0 :(得分:4)

    height:200px;
    overflow-y:scroll;
    overflow-x:hidden;

容器溢出时显示滚动条。 (仅在高度方向)

    height:200px;
    overflow:hidden;

不显示滚动条。

更新:使用php裁剪文字:

if (strlen($text) > 200){
    $text= substr($text, 0, 200);
    $text= $text."...";
}else{
    $text;
} 

UPDATE2:这是我使用的示例CSS代码。 我对动态高度很难有好处......所以也许有人可以做出更好的剧本。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>My website title</title>
<style>
body {
    position: fixed;
    text-align:center;
    width: 100%;
} 
#wrapper {
    text-align:left;
    margin-left:auto;
    margin-right:auto;
    width:980px;
    height:100%;
    position: relative;
}
#content {
    position:absolute;
    top: 40px;
    left:20px;
    width:712px;
    height:100%;
    overflow-y:scroll;
    overflow-x:hidden;
    padding-right:16px;
}
#sidebar{
    width: 196px;
    position:absolute;
    right:20px;
    top: 40px;
}

.sidebox{
    margin-bottom: 32px;
    position:relative;
}

</style>
<?php 
$username = 'Mr. AAA';
$angelinajolie = 'Angelina is cool';?>
</head>

<body>
<div id="wrapper">
    <div id="content">
        <h1>Welcome to the site <?php echo($username); ?></h1>
    </div>
    <div id="sidebar">
        <div class="sidebox">
            <h1>Search my site:</h1>
            <form action="/search.php">
            <input type="text" name="search" /><input type="submit" />
            </form>
        </div>
        <div class="sidebox">
            <h1>My account info</h1>
            <p>Username: <?php echo($username); ?></p>
            <p>Last login: <?php echo($lasttime); ?></p>
        </div>
    </div>
</div>
</body>
</html>

答案 1 :(得分:1)

制作容器height: 100%overflow:hidden

答案 2 :(得分:1)

尝试尝试容器的overflow属性,因此如果内容超出其容器大小,您可以将滚动条添加到容器中。见demo

答案 3 :(得分:1)

您也可以使用float属性。在此示例中:http://jsfiddle.net/3hnc7/容器1的高度遵循文本的高度,而不会干扰容器2.