0

如何在响应式设计中创建与父列具有相同宽度的导航栏的容器?单击第一个 div 中的链接时,内容 div 将滚动到正确的高度,以便内容隐藏在后面hr并链接 div。所有这些都集中在一个专栏中。

我已经创建了起始模板jsfiddle

我想要的效果: 小样

当前错误的 HTML:

<div class="navbar navbar-fixed-top">
    <div class="navbar-inner">
        <div class="container">
            <form class="navbar-search pull-right">
                <input type="text" class="search-query" placeholder="Search" />
            </form>
        </div>
    </div>
</div>
<div class="container">
    <div class="content">
        <div class="row">
            <div class="span9">
                <div class="hidebehind">
                    <div class="push">
                        <div class="row">
                            <div class="well links">
                                <div class="span3">
                                    <ul>
                                        <li><a href="#scroll1" rel="" id="scroll2" class="scroll">scroll to 1</a>
                                        </li>
                                        <li><a href="#scroll2" rel="" id="scroll2" class="scroll">scroll to 2</a>
                                        </li>
                                        <li><a href="#scroll3" rel="" id="scroll3" class="scroll">scroll to 3</a>
                                        </li>
                                        <li><a href="#scroll4" rel="" id="scroll4" class="scroll">scroll to 4</a>
                                        </li>
                                    </ul>
                                </div>
                                <div class="span3">
                                    <ul>
                                        <li><a href="#scroll5" rel="" id="scroll5" class="scroll">scroll to 5</a>
                                        </li>
                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                    <hr />
                </div>
                <hr />
                <div class="row scrollable">
                    <div class="well">
                        <ul>
                            <li><a name="scroll1" id="scroll1to"><strong>1. Some text</strong></a>
                            </li>
                            <li><a name="scroll2" id="scroll2to"><strong>2. Some text</strong></a>
                            </li>
                            <li><a name="scroll3" id="scroll3to"><strong>3. Some text</strong></a>
                            </li>
                            <li><a name="scroll4" id="scroll4to"><strong>4. Some text</strong></a>
                            </li>
                            <li><a name="scroll5" id="scroll5to"><strong>5. Some text</strong></a>
                        </li></ul>
                    </div>
                </div>
            </div>
            <div class="span3">
                <div class="well">relative</div>
            </div>
        </div>
    </div>
</div>
<div class="footer">
    <div class="well">footer</div>
</div>

当前糟糕的 CSS:

.links {
    width:58%;
    position:fixed;
}
.hidebehind {
    position: fixed;
    width:58%;
}
.scrollable {
    margin-top:170px;
    overflow:auto;
}
4

2 回答 2

2

解决了:

http://jsfiddle.net/smUx8/4/

你所需要的只是一些position: fixed和一个margin-top

于 2013-09-10T13:39:47.857 回答
1

这里的技巧是overflow:auto在 .scrollable 上使用并将其包装在某个容器中,其overflow: hidden大小小于 .scrollable 的大小。这将使 .scrollable 的内容成为... scrollable =) 并且不会看到滚动条。

在这个方法中,我们不是对根 html|body 进行动画处理,而是对内容块本身进行动画处理,并将其添加position:relative到其中,这样每次滚动 div 时,其内容的位置属性就不会混乱。

小提琴

于 2013-09-11T13:10:48.403 回答