展示内容框

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>
相关推荐
程序员黑豆2 小时前
Java包装类:基本类型与对象的桥梁
java·前端·ai编程
bugcome_com4 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
To_OC5 小时前
写了三天 Next.js,我的 React 世界观被拆了又装回去
前端·全栈·next.js
独泪了无痕5 小时前
viewer.js 安装与配置指南:实现图片预览功能
前端·vue.js
起床学FPGA6 小时前
AI回答问题之后,会自动跳到最下面的问题
开发语言·javascript·ecmascript
Fluxart.ai7 小时前
电商商品图审核怎么自动化?规则引擎、人工复核与发布门禁
java·前端·自动化
why技术7 小时前
AI 写的文章,可能都带着手敲一遍都去不掉的“隐形水印”。
前端·人工智能·后端
愚公搬代码7 小时前
【愚公系列】《Android应用案例开发大全》016-LBS类应用掌上杭州(辅助工具类的开发)
android·前端
CodeSheep7 小时前
又一个华为天才少年,离职了!
前端·后端·程序员
kyriewen8 小时前
面试官说"打开你的AI工具"——我才发现,他考的根本不是写代码
前端·人工智能·面试