惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

爱范儿
爱范儿
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
宝玉的分享
宝玉的分享
V
V2EX
MongoDB | Blog
MongoDB | Blog
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
IT之家
IT之家
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
人人都是产品经理
人人都是产品经理
博客园 - 司徒正美
美团技术团队
F
Fortinet All Blogs
N
Netflix TechBlog - Medium
Hugging Face - Blog
Hugging Face - Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
罗磊的独立博客
B
Blog RSS Feed

博客园 - 华安

C#中用Task.Run+await Task.Delay 与 Timer 的性能比较 C#中Microsoft.Extensions.Caching.Memory 与 System.Runtime.Caching.MemoryCache区别 自适应网格系统:CSS Grid中repeat()、auto-fill与auto-fit的深度解析 CSS3中响应式布局两大神器display:flex和display:grid springBoot中的 pom.xml文件 bulid学习 CSS中元素的display显示方式有多种,隐藏、块级、内联、内联-块级 SQl Server 中的 go 是什么作用 CSS中 display:flex的align-items: stretch; 移动端浏览器(尤其是 iOS Safari)的橡皮筋回弹效果(Overscroll / Bounce Effect) 手机端浏览器上ES6中的Fetch回调执行 window.open没效果 用Flex实现兼容性好的全屏布局 在 VS Code 中使用 C# Dev Kit 和 Unity Tools 调试 Unity 2022 Unity 可编程物件(ScriptableObject) 微信小程序中的 联系客服 最基本的使用方法 wx.requestSubscribeMessage(Object object) 和 wx.requestSubscribeDeviceMessage(Object object) 这两个有什么区别 微信小程序中 wx.hideLoading() 后调用 wx.showToast()的问题 Windows 中启动 Nginx的常用命令 CSS进阶技巧:字体渐变、描边、倒影与渐变色描边全解析 netCore 中各DLL引用了 SkiaSharp.dll的问题 unity中预制体解包 在 Unity 中,Time.timeScale实现游戏暂停加速等 微信小程序中关联微信支付 unity中的 Navigation AI使用 C#中TaskCompletionSource(简称 TCS)学习 Unity 编辑器 中,快捷键 Ctrl + Shift + F 的功能 unity中按下 F键,让物体聚焦 微信中进入定页面的,判断时通过扫二维码进入的,还是点小程序名称进入的 MYSQL中从JSON字符串中提取指定的值 Unity2022中创建动画 Animation(旧方法) Unity 中区别,public 和 [SerializeField]
div display flex 如何出现横向滚动条
华安 · 2025-11-12 · via 博客园 - 华安

在使用 display: flex 布局时,如果希望内容超出容器宽度时出现横向滚动条,可以通过以下步骤实现:

1. ‌设置父容器为 Flex 容器‌

将父容器的 display 属性设置为 flex,并限制其宽度(例如,设置 width 或 max-width)。

2. ‌允许 Flex 容器横向滚动‌

通过 overflow-x: auto 或 overflow-x: scroll 启用横向滚动条。

3. ‌确保子元素总宽度超出父容器‌

子元素的宽度总和需要超过父容器的宽度,才能触发滚动条的出现。

示例代码

<div class="flex-container">
  <div class="flex-item">Item 1</div>
  <div class="flex-item">Item 2</div>
  <div class="flex-item">Item 3</div>
  <div class="flex-item">Item 4</div>
  <div class="flex-item">Item 5</div>
</div>

<style>
  .flex-container {
    display: flex;
    width: 300px; /* 限制父容器宽度 */
    overflow-x: auto; /* 启用横向滚动条 */
    white-space: nowrap; /* 防止子元素换行(可选) */
    border: 1px solid #ccc; /* 可选:添加边框以便观察 */
  }

  .flex-item {
    flex: 0 0 auto; /* 防止子元素伸缩或收缩 */
    width: 200px; /* 每个子元素的宽度 */
    height: 100px;
    margin-right: 10px; /* 可选:子元素之间的间距 */
    background-color: lightblue;
    display: flex;
    align-items: center;
    justify-content: center;
  }
</style>

关键点说明

  1. ‌父容器设置‌:

    • display: flex:启用 Flex 布局。
    • width: 300px:限制父容器的宽度,使其小于子元素的总宽度。
    • overflow-x: auto:当内容超出容器宽度时,自动显示横向滚动条。
  2. ‌子元素设置‌:

    • flex: 0 0 auto防止子元素伸缩或收缩,保持固定宽度,这个很重要,我就是没加这个,一直不出现滚动条,子元素即使我强制设置了宽度,也会被收缩。
    • width: 200px:每个子元素的宽度,确保总宽度超出父容器。
  3. ‌可选设置‌:

    • white-space: nowrap:防止子元素中的文本换行(如果子元素包含文本)。
    • margin-right:为子元素添加间距,使布局更美观。
    • 效果

      当子元素的总宽度超过父容器的宽度时,父容器会自动显示横向滚动条,用户可以通过滚动查看所有子元素。

      注意事项

      • 如果子元素的总宽度未超出父容器宽度,滚动条不会出现。
      • 可以使用 overflow-x: scroll 强制显示滚动条(即使内容未超出)。
      • 在移动端或响应式设计中,可能需要结合媒体查询调整布局。