展示内容框

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>最终修复滚动条 Demo</title>
    <style>
      html {
        font-size: 16px;
      }

      body {
        font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
          "Helvetica Neue", Arial, sans-serif;
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
        margin: 0;
        padding: 20px;
        box-sizing: border-box;
        background-color: #f0f2f5;
      }

      .display-box {
        /* --- 核心改动 1:使用 Flexbox 布局 --- */
        display: inline-flex;
        flex-direction: column;

        position: relative;

        min-width: 200px;
        max-width: 560px;
        min-height: 200px;
        max-height: 300px;

        background-color: #ffffff;
        border-radius: 8px; /* 圆角半径 */
        box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
      }

      .display-box::before {
        content: "";
        position: absolute;
        inset: 0;

        border-radius: inherit;
        pointer-events: none;

        background: red;

        -webkit-mask: linear-gradient(to right, white, transparent) top 0 left
            6px / calc(33.33% - 6px) 1px no-repeat,
          linear-gradient(to bottom, white, transparent) top 6px left 0 / 1px
            calc(33.33% - 6px) no-repeat,
          linear-gradient(to left, white, transparent) bottom 0 right 6px /
            calc(33.33% - 6px) 1px no-repeat,
          linear-gradient(to top, white, transparent) bottom 6px right 0 / 1px
            calc(33.33% - 6px) no-repeat,
          radial-gradient(
              circle at bottom right,
              transparent 7px,
              white 7px,
              white 8px,
              transparent 8px
            )
            top left / 8px 8px no-repeat,
          radial-gradient(
              circle at top left,
              transparent 7px,
              white 7px,
              white 8px,
              transparent 8px
            )
            bottom right / 8px 8px no-repeat;
        mask: linear-gradient(to right, white, transparent) top 0 left 6px /
            calc(33.33% - 6px) 1px no-repeat,
          linear-gradient(to bottom, white, transparent) top 6px left 0 / 1px
            calc(33.33% - 6px) no-repeat,
          linear-gradient(to left, white, transparent) bottom 0 right 6px /
            calc(33.33% - 6px) 1px no-repeat,
          linear-gradient(to top, white, transparent) bottom 6px right 0 / 1px
            calc(33.33% - 6px) no-repeat,
          radial-gradient(
              circle at bottom right,
              transparent 7px,
              white 7px,
              white 8px,
              transparent 8px
            )
            top left / 8px 8px no-repeat,
          radial-gradient(
              circle at top left,
              transparent 7px,
              white 7px,
              white 8px,
              transparent 8px
            )
            bottom right / 8px 8px no-repeat;
      }

      .display-box-content {
        padding: 1.25rem;
        padding-right: 2.5rem;
        box-sizing: border-box;
        overflow-y: auto;

        /* --- 核心改动 2:移除 height: 100% --- */

        scrollbar-width: thin;
        scrollbar-color: #c1c1c1 #f1f1f1;
      }

      .title {
        font-size: 0.875rem;
        color: #303133;
        line-height: 1.5;
        white-space: nowrap;
      }
      .title .label {
        font-weight: bold;
        color: red;
        font-size: 1rem;
        margin-right: 0.5em;
      }
      .details {
        margin-top: 0.5rem;
      }
      .suggestion {
        margin-top: 1rem;
      }
      .details h3,
      .suggestion h3 {
        font-size: 1rem;
        color: #303133;
        margin-top: 0;
        margin-bottom: 0.25rem;
        font-weight: 600;
      }
      .details-content,
      .suggestion-content {
        font-size: 0.875rem;
        color: #606266;
        line-height: 1.7;
      }
      .details-content {
        min-height: 50px;
      }
    </style>
  </head>
  <body>
    <div class="display-box">
      <div class="display-box-content">
        <div class="title">
          <span class="label">标题:</span
          ><span>关于系统功能更新的详细说明</span>
        </div>
        <div class="details">
          <h3>详情</h3>
          <div class="details-content">
            <p>
              此版本已修复滚动条问题。当内容足够多时,滚动条现在会正确出现。
            </p>
            <p>
              Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non
              risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing
              nec, ultricies sed, dolor.
            </p>
            <p>
              Cras elementum ultrices diam. Maecenas ligula massa, varius a,
              semper congue, euismod non, mi. Proin porttitor, orci nec nonummy
              molestie, enim est eleifend mi, non fermentum diam nisl sit amet
              erat.
            </p>
            <p>
              Duis semper. Duis arcu massa, scelerisque vitae, consequat in,
              pretium a, enim. Pellentesque congue. Ut in risus volutpat libero
              pharetra tempor.
            </p>
            <p>
              Cras vestibulum bibendum augue. Praesent egestas leo in pede.
              Praesent blandit odio eu enim. Pellentesque sed dui ut augue
              blandit sodales.
            </p>
            <p>
              Vestibulum ante ipsum primis in faucibus orci luctus et ultrices
              posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede
              pellentesque fermentum. Maecenas adipiscing ante non diam.
            </p>
            <p>
              Fusce interdum. Maecenas eu lacus. In a nulla. Curabitur ornare.
              Nulla nisi. Vivamus consectetuer, dolor vitae tempor varius, enim
              est elementum sapien, in porttitor diam nulla vitae dui.
            </p>
            <p>
              Cras elementum ultrices diam. Maecenas ligula massa, varius a,
              semper congue, euismod non, mi. Proin porttitor, orci nec nonummy
              molestie, enim est eleifend mi, non fermentum diam nisl sit amet
              erat.
            </p>
            <p>
              Duis semper. Duis arcu massa, scelerisque vitae, consequat in,
              pretium a, enim. Pellentesque congue. Ut in risus volutpat libero
              pharetra tempor.
            </p>
          </div>
        </div>
        <div class="suggestion">
          <h3>建议</h3>
          <div class="suggestion-content">
            <p>使用Flexbox布局是解决此类高度和溢出问题的现代标准方法。</p>
          </div>
        </div>
      </div>
    </div>
  </body>
</html>
相关推荐
Cobyte5 分钟前
4.响应式系统基础:从发布订阅模式的角度理解 Vue3 的数据响应式原理
前端·javascript·vue.js
晓得迷路了7 分钟前
栗子前端技术周刊第 124 期 - ESLint v10.2.0、React Native 0.85、Node.js 25.9.0...
前端·javascript·eslint
星空椰15 分钟前
JavaScript基础:运算符和流程控制
开发语言·javascript·ecmascript
半个俗人23 分钟前
fiddler的基础使用
前端·测试工具·fiddler
a11177626 分钟前
变电站数字孪生大屏ThreeJS 开源项目
前端·信息可视化·开源·html
恋猫de小郭26 分钟前
AI 的公开测评得分都在作弊,就像泡面的封面,一切以实物为准
前端·人工智能·ai编程
禅思院28 分钟前
使用 VueUse 构建一个支持暂停/重置的 CountUp 组件
前端·vue.js·架构
薛定e的猫咪37 分钟前
2026 年 4 月实测:OpenAI Codex 保姆级教程,从安装到 MCP、Skills 与多智能体协作
前端·数据库·人工智能
I love studying!!!41 分钟前
Web应用程序:用户账户
前端·数据库·sqlite
whuhewei41 分钟前
React性能优化
前端·react.js·性能优化