javascript - 在 html 选项卡中管理长文本 block

标签 javascript html css tabs

我有大量页面包含不同长度的长文本(1000 字以上),我仅使用 CSS 将它们分成逻辑选项卡(摘要、内容、引用和作者)。 “内容”选项卡的文本比其他选项卡多得多,用户最终仍然会疯狂地滚动以阅读所有内容。

我想要一种将长内容文本拆分为子选项卡或子页面的方法,但不允许用户离开主选项卡页面(即我仍然希望他们能够在4 个主要选项卡(摘要、内容、引用文献和作者)。

我也不想遍历所有内容并手动输入内容部分的断点,因为内容可能会经常更改。

关于如何拆分内容部分以允许 4 个选项卡导航并无需滚动即可显示内容的任何想法?

我创建了一个代码笔,其中包含当前使用 html 和 CSS 代码的示例:http://codepen.io/TimSparrow/pen/xdKAa

    <div class="chapters">
<article class="tabs">

    <section id="tab1">
        <h2><a href="#tab1">Summary</a></h2>
    <p><h3>Summary</h3></p>
                   <ul>
                        <li>sample</li>
                    </ul>
    </section>

    <section id="tab2">
        <h2><a href="#tab2">Content</a></h2>
         <p>Long Text Goes Here</p>
    </section>

    <section id="tab3">
        <h2><a href="#tab3">References</a></h2>
        <p>This content appears on tab 3.</p>
    </section>

    <section id="tab4">
        <h2><a href="#tab4">Authors</a></h2>
        <p>This content appears on tab 4.</p>
    </section>

</article>
</div>

最佳答案

欢迎来到 SO,

您可以尝试使用 overflow css 属性处理内容在溢出包含元素的边界时应如何表现,并为您的内容添加高度(因此它将具有上述内容边界限制),如下所示:

将您的内容包装到包含元素中,例如 <div class="sectionContent"> :

....
<section id="tab1">
    <h2><a href="#tab1">Summary</a></h2>
    <div class="sectionContent"> 
        <h3>Summary</h3>
        <p>Long text here</p>
        ....
        ....
    </div> // div.sectionContent closed
</section>
....

然后向碗中添加一些 CSS 以使其工作:

.sectionContent{
    overflow-y : scroll;
    height : 15em;
    color:#000;
}

评论:我还添加了 color属性到此类的 CSS,因为您引用的是 section > p(因为在这种情况下,您在这些部分中没有任何直接的 p 子级,它们实际上是 section > .sectionContent > p。)

关于javascript - 在 html 选项卡中管理长文本 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25543243/

相关文章:

javascript - 什么是好的 jQuery 灯箱克隆?

javascript - 将 SQL 表中的值存储到不同的 PHP 数组中

javascript - 如何将 angularjs $q.all() 与异步创建的 Promise 数组一起使用

html - 大型网站链接到外部 CSS 文件时的常见做法?

javascript - 在调整大小时更改元素的高度

html - Chrome 中的 ol 标签

javascript - Svelte SMUI,在 javascript 中检索主题颜色

javascript - 过滤仅文本文件的文件上传

css - 如何对齐div底部的圆圈 50%的圆圈在div内,50%在div外

html - 如何做CSS样式