javascript - 当 child 变长时父 div 变长

标签 javascript html css twitter-bootstrap

我的左边有一个日历,右边有一个侧边栏: enter image description here

问题是,案例太多了。相反,我需要在滚动条比其父项长时显示滚动条。

它们在自举 Accordion 中。

这是 html:

 <div id="cal-container">
        <div id="cal-side">
            <div class="accordion" id="accordion2">
                <div class="accordion-group">
                    <div class="accordion-heading">
                        <a class="accordion-toggle project-header" data-toggle="collapse" data-parent="#accordion2" href="#project-list">Projects
                        </a>
                    </div>
                    <div id="project-list" class="accordion-body collapse">
                        <div class="accordion-inner">
                            <div class="event-container project-container">
                            </div>

                        </div>
                    </div>
                </div>
                <div class="accordion-group">
                    <div class="accordion-heading">
                        <a class="accordion-toggle task-header" data-toggle="collapse" data-parent="#accordion2" href="#task-list">Tasks
                        </a>
                    </div>
                    <div id="task-list" class="accordion-body collapse">
                        <div class="accordion-inner">
                            <div class="event-container task-container">
                            </div>
                        </div>
                    </div>
                </div>
                <div class="accordion-group">
                    <div class="accordion-heading">
                        <a class="accordion-toggle case-header" data-toggle="collapse" data-parent="#accordion2" href="#case-list">Cases
                        </a>
                    </div>
                    <div id="case-list" class="accordion-body collapse">
                        <div class="accordion-inner">
                            <div class="event-container case-container">
                            </div>
                        </div>
                    </div>
                </div>
            </div>

        </div>

        <div id="cal">
            <div id='calendar'>
            </div>
        </div>
    </div>

事件进入事件容器。

这是 CSS:

#cal-side
{
    float:right;
    height:100%;
    width:200px;
    margin:50px 5px 5px 5px;
}

#cal-container
{
    width:100%;
}

.accordion-inner
{
    padding:2px 2px !important;
}

.external-event { /* try to mimick the look of a real event */
    margin: 2px;
    padding-left:4px;
    color: #ffffff;
    background-color:blue;
    font-size: .85em;
    cursor: pointer;    
    -webkit-border-radius: 3px;
    border-radius: 3px;
    height: 20px;
    overflow:hidden;
    }

.event-container
{
    margin:1px;
}
#cal{ 
}

这是一些生成的 html: enter image description here

我尝试了几种类型的 overflow:auto。唯一“有效”的是将事件容器最大高度设置为固定像素数量。然后我看到一个用于案例的滚动条,但除此之外,它会执行您所看到的。我需要最大高度为 cal-side 的高度或其他东西......

我不知道该怎么做。

谢谢

最佳答案

在你的容器上,设置一个 max-height 并放置 overflow: auto

工作示例:

http://jsfiddle.net/DRVMG/13/

编辑 下面的代码只是为了满足 OP 在下面所做的评论,我并不是在他的原始帖子中建议使用 jQuery:

要将日历的高度设置为侧边栏的高度,您可以:

$("#sidebar-id").css({"max-height" : $("#calendar-id").height() });

然后在 CSS 中,您需要将 sidebar divoverflow 设置为 auto

关于javascript - 当 child 变长时父 div 变长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15902404/

相关文章:

CSS 检测 iphone ipad 或任何其他手持设备

python - 如何在 BeautifulSoup 中使用元素的样式定义(例如填充、字体大小等)来抓取元素

Javascript在数组中添加相同的元素N次

javascript - 如何对 Neo4J : optimize Cypher or improve the Javascript/Node. Js 构造函数进行高效快速的长查询?

html - 如何阻止容器 div 允许内容溢出?

php - 制作一个恒定的标题 - css 问题

javascript - 如何根据屏幕尺寸在 div 中显示不同的图像?

javascript - 在 Slack 消息中格式化电话号码?

javascript - 检索 json 数组中具有相同 id 的对象 (javascript)

javascript - ReactJS:如何不断检查本地存储中的 token 是否已过期?