生成一个竖直放置的div,宽度是350px,上面是标题固定高度50px,下面是自适应高度的div,且有滚动条

复制代码
<!-- 我要生成一个竖直放置的div,宽度是350px,上面是标题固定高度50px,下面是自适应高度的div,且有滚动条。 -->

<style>
    html,body{
        /* height:100vh; */
        margin:10px; padding:10px;
    }
</style>


<div style="display:flex;  flex-direction:column; width:350px; height:100%;  border:1px solid rgb(70, 50, 50); ">
    <div style="width:100%; height:50px; line-height:50px;  text-align: center;  background-color:rgba(141, 179, 244, 0.864);">部件列表</div>
    <div style="flex:1;  width:100%; overflow: auto;   border:0px solid lime; background-color:rgb(243, 247, 243);">
        <div style="padding:10px; line-height:50px;">
     
    - 外盒+活动板内盒+上盖+盒身面纸<br>
    - 内盖+内盖底贴面纸<br>
    - 内盒内托+内盖底贴面纸<br>
    - 活动板内盒连接+内盖底贴面纸<br>
    - 外盒内裱+活动板内盒内裱+弯位连接面纸<br>
    - 内盒内围+U形内托面纸<br>
    - 内盖底贴+内托U形内托面纸<br>
    - 外盒1350g单面高光双灰<br>
    - 活动板内盒1350g单面高光双灰<br>
    - 活动板内盒两侧1350g单面高光双灰<br>
    - 上盖1950g单面高光双灰<br>
    - 盒身1950g单面高光双灰<br>
    - 内盖1950g单面高光双灰<br>
    - 内围1200g双灰<br>
    - 内托1200g双灰<br>
    - 内托U形底贴<br>
    - 手袋面纸<br>
    - 手袋袋口条<br>
    - 手袋底卡<br>
        </div>
    </div>
</div>

改进版:

复制代码
<!DOCTYPE html>
<html>
<head>
  <style>
    html, body {
      /* height: 100vh;   */
      margin: 0px;
      padding: 0px;
   
      /* box-sizing: border-box; 包含padding在高度内 */
    }
    body * {
      box-sizing: inherit; /* 统一盒模型 */
    }
    li{
        padding: 10px;
        cursor: pointer;
    }
    .div_left_bar{
        display:flex; 
        flex-direction:column;
        width:350px; height:100vh;
        border:1px solid rgb(12, 12, 221);
        box-sizing: border-box;
    }

    #div_main{
        display: flex;
        height:100vh;
        gap:10px;
        /* margin:10px; */
        /* padding:10px; */
    }

    #div_right_content{
        flex:1;
        padding:10px;
        background:#f4fff4;
        border:1px solid green;
    }

    /* 单据滚动条 */
        #div_auto_height::-webkit-scrollbar{
        width: 5px;
    }

    #div_auto_height::-webkit-scrollbar-track {
        /*滚动条里面轨道*/
        border-radius: 0;
        /* background: rgba(0, 0, 0, 0.1); */
    }

    #div_auto_height::-webkit-scrollbar-thumb {
        /*滚动条里面小方块*/
        border-radius: 5px;
        background: rgba(0, 0, 0, 0.15);
    }

    #div_auto_height{
        flex:1; 
        min-height:0; 
        overflow:auto;
        background-color:rgb(243,247,243);
    }
    
    #div_title{
        height:50px; 
        line-height:50px; 
        text-align:center; 
        background-color:rgba(141,179,244,0.864);
    }
  </style>
</head>
<body>
    <div id="div_main">
        <div class="div_left_bar"  >
            <!-- 固定高度标题 -->
            <div id="div_title" >
            部件列表
            </div>
            
            <!-- 自适应高度+滚动区域 -->
            <div id="div_auto_height">
            <div style="padding:10px;">
                <ul style="margin:0; padding-left:20px;"> <!-- 关键2:限制UL高度触发溢出 -->
            <li>  - 外盒+活动板内盒+上盖+盒身面纸</li> <li>
            - 内盖+内盖底贴面纸</li> <li>
            - 内盒内托+内盖底贴面纸</li> <li>
            - 活动板内盒连接+内盖底贴面纸</li> <li>
            - 外盒内裱+活动板内盒内裱+弯位连接面纸</li> <li>
            - 内盒内围+U形内托面纸</li> <li>
            - 内盖底贴+内托U形内托面纸</li> <li>
            - 外盒1350g单面高光双灰</li> <li>
            - 活动板内盒1350g单面高光双灰</li> <li>
            - 活动板内盒两侧1350g单面高光双灰</li> <li>
            - 上盖1950g单面高光双灰</li> <li>
            - 盒身1950g单面高光双灰</li> <li>
            - 内盖1950g单面高光双灰</li> <li>
            - 内围1200g双灰</li> <li>
            - 内托1200g双灰</li> <li>
            - 内托U形底贴</li> <li>
            - 手袋面纸</li> <li>
            - 手袋袋口条</li> <li>
            - 手袋底卡</li> 
                <!-- 其他15项列表内容保持不变 -->
                </ul>
            </div>
            </div>
        </div>

         <div id="div_right_content"  >
                我是详情
         </div>

    </div>

    <script>
        // 左侧列表点击事件

        var listItems = document.querySelectorAll('#div_auto_height li');
        var div_right_content = document.querySelector ('#div_right_content');
        listItems.forEach(function (item) {
            item.addEventListener('click', function () {
                // 这里可以添加点击事件的处理逻辑,例如显示详情等
                console.log("点击了:" + item.textContent);

                div_right_content.innerHTML = item.textContent;
            });
        });
    </script>
</body>
</html>

注意height:100vh和100%是不一样的。

相关推荐
500847 分钟前
React Native for OpenHarmony 实战:三方库 react-native-device-uptime 的鸿蒙化适配指南
javascript·分布式·react native·react.js·harmonyos
admin and root8 小时前
「AI安全篇」实战AntiDebug自动化JS逆向加解密MCP
javascript·人工智能·网络安全·自动化·漏洞挖掘·cnvd·src赏金
前端snow9 小时前
ai agent --- postgreSQL 关系型数据库
前端
卷无止境9 小时前
ECharts:把数据变成故事的可视化利器
前端
Eric_见嘉9 小时前
在职前端 Skill 和 MCP 分享
前端·后端·agent
liangshanbo121510 小时前
面试题:如何优化 Webpack 的打包速度?
前端·webpack·node.js
wengad10 小时前
从 wangEditor 迁到 wangEditor-next
前端·javascript·vue.js
行者-全栈开发11 小时前
【前端/JS框架】CVE-2026-3854:GitHub Enterprise Server X-Stat注入XSS漏洞深度剖析与紧急修复指南
前端·javascript·github
计算机魔术师12 小时前
AMD砸82亿买下李飞飞,这次不卖芯片卖什么?
前端
hzxpaipai13 小时前
杭州企业官网怎么建设?从策划到上线的5步建站方法
运维·服务器·前端·网络