固定div与动态内容不滚动

时间:2013-07-26 11:16:50

标签: css html css-position

我有一个带动态加载li元素的固定div。现在我希望div-content在有超过9个li元素和滚动条时滚动:

这就是它的样子:

enter image description here

此时固定的div会在页脚上移动,但内容无法滚动。

以下是所有divs的css:

#fixed-div {
    position: fixed;
    width: 30%;
    margin-top:290px;
    padding-top:20px;
    padding-bottom: 20px; /* must be same height as the footer */
    background-color: rgba(255, 255, 255, 0.60);
    min-height: 100%;
}

#absolute-div {
  padding: 15px;
  background-color: rgba(255, 255, 255, 0.60);
  margin-bottom: 10px;
  position: relative;
  height: 200px;
}
#footer {
    position: relative;
    margin-top: -33px; /* negative value of footer height */
    height: 20px;
    line-height: 33px;
    border-bottom:20px solid #fff;
    text-align: left;
    background-color:#fff;
    padding-left:10px;
}
#map_canvas { /* background */
  clear:left;
  float: left;
  width: 100%;
  min-height: 100%;
  z-index:-1001;
 /* height: 530px;*/
  -webkit-box-shadow: 0px 0px 10px #888;
  -moz-box-shadow: 0px 0px 10px #888;
}

这是HTML:

<body>

                <div id="searchbox">  

                <div id="absolute-div" class="clear-block">


                        <form method="post" action="./index.php" accept-charset="UTF-8" method="post" id="clinic-finder-form" class="clear-block" class="clear-block">


                             <label for="edit-gmap-address">Standort angeben und Vorteile in der Umgebung finden: </label>
                             <input type="text" maxlength="128" name="address" id="address" size="60" value="" class="form-text" autocomplete="off" />
                <?php 
                            // support unicode
                            mysql_query("SET NAMES utf8");
                            $cats = $db->get_rows("SELECT categories.* FROM categories WHERE categories.id!='' ORDER BY categories.cat_name ASC");

                            ?>


                             <select name="products" class="form-select" id="edit-products" ><option value="">Alle Kategorien</option>
                             <?php if(!empty($cats)): ?>
                                <?php foreach($cats as $k=>$v): ?>
                                <option value="<?php echo $v['id']; ?>"><?php echo $v['cat_name']; ?></option>
                                <?php endforeach; ?>
                                <?php endif; ?>
                             </select>


                            <input type="submit" name="op" id="edit-submit" value="Vorteile finden" class="btn btn-primary" />
                            <input type="hidden" name="form_build_id" id="form-0168068fce35cf80f346d6c1dbd7344e" value="form-0168068fce35cf80f346d6c1dbd7344e"  />
                            <input type="hidden" name="form_id" id="edit-clinic-finder-form" value="clinic_finder_form"  />

                            <input type="button" name="op" onclick="document.location.href='newstore.php'" id="edit-submit" value="Unternehmen vorschlagen" class="btn btn-primary" />


                            </form>

</div></div>
        <div id="fixed-div">
                      <div id="clinic-finder" class="clear-block">
                      <div id="results">        


                        <ol style="display: block; " id="list"></ol>
                      </div>
                      </div>

        </div>

    <div id="map_canvas"></div>
    <div id="footer">&copy; 2008-2013 Ihr Vorteilsclub - Impressum</div>

非常感谢!烫发

2 个答案:

答案 0 :(得分:6)

将此添加到您的css:

#results {        
    height: 100%; 
    overflow-y: scroll; /* adds scrollbar */
}

答案 1 :(得分:0)

你可以用绝对定位来做到这一点。你还需要overflow-y: scroll。绝对地将动态部分的顶部定位到其上方的固定元件的总高度,并将底部定位到其下方的固定元件的总高度。可能需要略微调整,但这应该是消耗所有中间空间并滚动溢出的技巧。