Как контролировать высоту контейнера? - PullRequest
0 голосов
/ 23 января 2011

У меня есть два контейнера.Один с полным содержимым (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 ]

4 голосов
/ 23 января 2011
    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;
} 

ОБНОВЛЕНИЕ2: Это пример кода 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 голос
/ 23 января 2011

Вы также можете использовать свойство float. В этом примере: http://jsfiddle.net/3hnc7/ высота контейнера1 соответствует высоте текста, не мешая контейнеру2.

1 голос
/ 23 января 2011

Попробуйте поэкспериментировать со свойством overflow вашего контейнера, чтобы вы могли добавить полосу прокрутки к контейнеру, если содержимое превышает размер его поля.Смотрите демо

1 голос
/ 23 января 2011

сделать контейнер height: 100% и overflow:hidden

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...