以下是使用 HTML 和 CSS 代码实现一个可手动拖动伸缩的左侧目录栏,并显示目录标题和章节列表的示例,以及代码解释:

<!DOCTYPE html>
<html>
<head>
    <style>
        body {
            margin: 0;
            padding: 0;
            display: flex;
        }
        
        .sidebar {
            width: 25%;
            min-width: 200px;
            max-width: 400px;
            background-color: #f1f1f1;
            overflow-x: hidden;
            resize: horizontal;
            border-right: 1px solid #ccc;
        }
        
        .content {
            flex-grow: 1;
            padding: 20px;
        }
        
        .sidebar h2 {
            text-align: center;
        }
        
        .sidebar ul {
            list-style-type: none;
            padding: 0;
            margin: 20px 0;
        }
        
        .sidebar li {
            color: #888;
        }
        
        .sidebar li:hover {
            color: #000;
        }
    </style>
</head>
<body>
    <div class='sidebar'>
        <h2>目录</h2>
        <ul>
            <li>章节1</li>
            <li>章节2</li>
            <li>章节3</li>
        </ul>
    </div>
    <div class='content'>
        <h1>主要内容</h1>
        <p>这里是主要内容的描述。</p>
    </div>
</body>
</html>

这段代码中,使用了 Flex 布局来实现左边显示目录栏和右边显示主要内容。目录栏使用了.sidebar 类来定义样式,其中width 属性设置为 25%,即相对页面宽度的 1/4。通过resize: horizontal; 属性可以手动拖动伸缩目录栏的宽度。目录二字使用<h2> 标签,并设置text-align: center; 来实现相对居中。章节列表使用<ul><li> 标签,并设置一些基本的样式。主要内容部分使用.content 类来定义样式,flex-grow: 1; 属性使其自动填充剩余空间。

代码解释:

  • body:设置页面边距和填充为 0,并使用display: flex; 使页面内容采用 Flex 布局。
  • .sidebar
    • width: 25%;:设置目录栏宽度为页面宽度的 1/4。
    • min-width: 200px;:设置目录栏最小宽度为 200 像素。
    • max-width: 400px;:设置目录栏最大宽度为 400 像素。
    • background-color: #f1f1f1;:设置目录栏背景颜色为灰色。
    • overflow-x: hidden;:隐藏水平滚动条。
    • resize: horizontal;:允许水平方向拖动调整目录栏宽度。
    • border-right: 1px solid #ccc;:设置目录栏右侧边框。
  • .content
    • flex-grow: 1;:设置主要内容部分自动填充剩余空间。
    • padding: 20px;:设置主要内容部分内边距。
  • .sidebar h2
    • text-align: center;:设置目录标题文字居中显示。
  • .sidebar ul
    • list-style-type: none;:移除列表项的默认符号。
    • padding: 0;:设置列表内边距为 0。
    • margin: 20px 0;:设置列表上下边距。
  • .sidebar li
    • color: #888;:设置章节列表文字颜色为灰色。
  • .sidebar li:hover
    • color: #000;:当鼠标悬停在章节列表项上时,文字颜色变为黑色。

注意,这段代码中只是一个示例,你可以根据自己的需求进行修改和扩展。例如,你可以添加更多章节、修改样式或使用 JavaScript 来实现更复杂的功能。

HTML 代码实现可伸缩目录栏:示例与解释

原文地址: https://www.cveoy.top/t/topic/qqMJ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录