flex布局 flex-end为什么overflow无法滚动及解决方法

flex-end为什么overflow无法滚动及解决方法

在使用Flexbox布局时,我们经常使用justify-content和align-items属性来定位子元素。其中,align-items属性用于控制子元素在交叉轴上的位置,例如顶部对齐、底部对齐或居中对齐等。当我们将align-items设置为flex-end时,子元素会被放置在交叉轴的末端。

然而,当子元素超出它们所在容器的边界时,我们可能会遇到一个问题:即使我们将overflow设置为scroll或auto,也无法滚动容器内容,因为所有子元素都紧贴着交叉轴末端,没有留出空间用于滚动。

为什么overflow无法滚动?

这个问题的原因是,当我们将align-items设置为flex-end时,Flexbox容器会将所有子元素对齐到交叉轴的末端,然后沿着主轴排列它们。如果某些子元素的高度超出了容器的高度,则它们会溢出容器,并且我们无法滚动它们,因为所有子元素都靠近交叉轴末端,不留下任何空间以便滚动。

下面是一个示例,向您展示了这个问题的具体情况:

<div class="parent"><div class="child">Item 1</div><div class="child">Item 2</div><div class="child">Item 3</div><div class="child">Item 4</div><div class="child">Item 5</div>
</div>.parent {display: flex;align-items: flex-end;overflow-y: auto;height: 100px;
}.child {width: 50px;height: 150px; /* 超出父元素高度 */background-color: orange;margin: 5px;
}

在这个示例中,我们将align-items设置为flex-end,以便将所有子元素对齐到容器的底部。我们还将overflow-y属性设置为auto,以便当子元素溢出容器时可以滚动内容。但是,由于所有子元素都靠近容器的底部,因此没有留下空间用于滚动。

如何解决这个问题?

1. 在子元素外部包裹一个容器
在每个子元素外部添加一个div容器,并将其设置为align-items:flex-end,并在父元素上添加overflow-y:auto。这样,子元素将被放置在这个新容器中,而不是直接放在父元素中,这样我们就可以滚动容器了。

<div class="parent"><div class="wrapper"><div class="child">Item 1</div></div><div class="wrapper"><div class="child">Item 2</div></div><div class="wrapper"><div class="child">Item 3</div></div><div class="wrapper"><div class="child">Item 4</div></div><div class="wrapper"><div class="child">Item 5</div></div>
</div>.parent {display: flex;overflow-y: auto;height: 100px;
}.wrapper {display: flex;align-items: flex-end;margin: 5px;
}.child {width: 50px;height: 150px;background-color: orange;
}

在这个例子中,我们将每个子元素包裹在一个名为.wrapper的新容器中,并将其设置为align-items:flex-end。然后,我们在父元素上添加overflow-y:auto,以便当子元素溢出容器时可以滚动内容。

2. 使用JavaScript解决问题
我们还可以使用JavaScript来解决这个问题。通过获取子元素的总高度并将其设置为父元素的高度,我们可以确保在子元素高于父元素时仍然可以滚动内容。

<div class="parent" id="parent"><div class="child">Item 1</div><div class="child">Item 2</div><div class="child">Item 3</div><div class="child">Item 4</div><div class="child">Item 5</div>
</div>.parent {display: flex;align-items: flex-end;overflow-y: auto;height: 100px;
}.child {width: 50px;height: 150px;background-color: orange;margin: 5px;
}const parent = document.getElementById("parent");
const children = parent.children;
let height = 0;for (let i = 0; i < children.length; i++) {height += children[i].offsetHeight;
}parent.style.height = `${height}px`;

在这个例子中,我们使用JavaScript获取parent元素的所有子元素的总高度,并将其设置为parent元素的高度。

总结

在Flexbox布局中,当我们将align-items设置为flex-end时,可能会遇到无法滚动的问题。但是,有几种方法可以解决这个问题,包括在子元素外部包裹一个容器或使用JavaScript来解决这个问题。我们应该根据具体情况选择最合适的解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/35865.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

实现跨平台 SSH 连接:从 macOS 到 Windows WSL 的完整解决方案20241203

&#x1f310; 实现跨平台 SSH 连接&#xff1a;从 macOS 到 Windows WSL 的完整解决方案 ✨ 引言 随着跨平台开发的普及&#xff0c;开发者经常需要在多系统环境中切换和协作。尤其是在 macOS 和 Windows 混合使用的开发环境中&#xff0c;通过 SSH 远程访问和管理 Windows …

【css】基础(二)

本专栏内容为&#xff1a;前端专栏 记录学习前端&#xff0c;分为若干个子专栏&#xff0c;html js css vue等 &#x1f493;博主csdn个人主页&#xff1a;小小unicorn ⏩专栏分类&#xff1a;css专栏 &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &a…

2024通信工程师-中级-互联网技术备考经验

考试简介 全国通信专业技术人员职业水平考试&#xff0c;是由国家人力资源和社会保障部、工业和信息化部领导下的国家级考试。根据原人事部、信息产业部文件&#xff08;国人部发[2006]10号&#xff09;&#xff0c;通信专业技术人员职业水平评价&#xff0c;纳入全国专业技术人…

智能文档解析综述:结构化信息提取的技术、挑战与前景

综述论文&#xff1a;https://arxiv.org/abs/2410.21169 摘要 文档解析对于将非结构化和半结构化文档&#xff08;如合同、学术论文和发票&#xff09;转换为结构化、机器可读的数据至关重要。通过从非结构化输入中提取可靠的结构化数据&#xff0c;文档解析为众多应用提供了极…

【Web】AlpacaHack Round 7 (Web) 题解

Treasure Hunt flag在md5值拼接flagtxt的文件里&#xff0c;如 d/4/1/d/8/c/d/9/8/f/0/0/b/2/0/4/e/9/8/0/0/9/9/8/e/c/f/8/4/2/7/e/f/l/a/g/t/x/t 访问已经存在的目录状态码是301 访问不存在的目录状态码是404 基于此差异可以写爆破脚本 这段waf可以用url编码绕过 做个lab …

操作系统——文件系统

笔记内容及图片整理自XJTUSE “操作系统” 课程ppt&#xff0c;仅供学习交流使用&#xff0c;谢谢。 文件系统是操作系统中以文件方式管理计算机软件资源的软件和被管理的文件和数据结构&#xff08;如目录和索引表等&#xff09;的集合。从系统角度来看&#xff0c;文件系统是…

java面向对象实验——扫雷+24点

扫雷 窗口绘制&#xff1a; GameWin package com.sxt;import javax.swing.*;public class GameWin extends JFrame {void launch(){this.setVisible(true);this.setSize(500, 500);this.setLocationRelativeTo(null);this.setTitle("SWE23070扫雷游戏");this.setD…

GPU 调度策略架构与CUDA运行机制(二)

市面上有很多GPU厂家&#xff0c;他们产品的软硬件架构各不相同&#xff0c;但是核心往往差不多&#xff0c;整明白了一个基本上就可以触类旁通了。针对当前gpu底层的一些架构以及硬件层一些调度策略的话估计大部分人就很难说的上熟悉了&#xff0c;这个不是大家的错&#xff0…

ddos攻击防御的方法有哪些

DDoS攻击&#xff0c;即分布式拒绝服务攻击(Distributed Denial of Service)&#xff0c;是一种恶意的网络攻击方式&#xff0c;旨在通过发送大量流量或请求到目标服务器、服务或网络&#xff0c;使其资源耗尽&#xff0c;无法处理合法用户的请求&#xff0c;从而导致服务中断或…

Python + Playwright:集成 Applitools 进行视觉回归测试(快速入门)

集成 Applitools 进行视觉回归测试(快速入门) 简介Applitools 的核心特点Applitools 的应用场景1. 准备工作2. 获取示例项目2.1 下载示例代码2.2 安装依赖2.3 选择测试运行方式3. 代码解析3.1 测试用例示例4. 运行测试4.1 设置 Applitools API 变量4.2 设置 Applitools Eyes …

RuoYi中数据分页功能实现的步骤(nvliz)

目录 前言 数据分页的作用 RuoYi中的实现步骤 前端的显示界面(实例介绍) 源码分析&#xff08;前端&#xff09; Pagination&#xff08;分页组件&#xff09;介绍 前端&#xff1a;getList()(方法源码分析) 源码分析&#xff08;后端&#xff09; 后端&#xff1a;List()…

HarmonyOS 5.0应用开发——全局广播的使用

【高心星出品】 文章目录 全局广播的使用公共事件接受系统公共事件原理 发布与订阅自定义公共事件订阅系统事件 全局广播的使用 全局广播可以用来做应用间通信&#xff0c;进程间通信&#xff0c;包含订阅、发布等功能。 公共事件 CES&#xff08;Common Event Service&…

ceph存储池

1、存储池 1、存储池的概念 存储池就是ceph的逻辑分区&#xff0c;专门用来存储对象的 特点 将文件切片成对象&#xff0c;通过hash算法&#xff0c;找到存储池中的pg&#xff0c;池中的pg根据crush算法找到osd节点 存储中的PG数量对性能有重要的影响&#xff0c;过多和过少…

Ollama记录

先在官网下载Ollama 模型下载 ollama run qwen2:0.5b 可以快速部署很多模型 方便 可以替换openai api key from openai import OpenAIclient OpenAI(base_url https://127.0.0.1:11434/v1,api_keyollama, # required, but unused )response client.chat.completions.…

锻造船用发动机动力系统,铸强船舶“心脏”

船舶是海洋、湖泊及河流中重要的水上交通工具&#xff0c;不仅能够促进海上经济的发展&#xff0c;还能够保卫国家的制海权。船舶动力装置&#xff0c;也就是船舶的核心动力源——船用发动机动力系统对船舶的重要作用不言自明&#xff0c;关系到船舶的性能质量&#xff0c;能够…

LIN状态管理

文章目录 前言一、状态管理二、实现过程三、response_error信号的变化条件四、节点内部报告五、测试应用方式1&#xff1a;LIN ISC方式2&#xff1a;CAPL脚本方式 前言 在LIN专栏的文章中&#xff0c;我们介绍了 LIN的网络管理&#xff1a;LIN网络管理&#xff1a;休眠&唤…

云帆在线学习考试系统对国产化数据库的支持情况说明

云帆在线学习考试系统对国产化数据库的支持情况说明 云帆学习考试系统是一款优秀的学习和考试系统&#xff01;多年以来一直深耕在线教育板块&#xff0c;积累了丰富的行业经验&#xff0c;多年来的产品和技术沉淀&#xff0c;服务了众多政府机构、知名高校、企事业单位。 今…

反向传播算法中的误差项

背景 在反向传播算法中&#xff0c;我们需要计算每个神经元的误差项&#xff0c;以便更新网络中的权重。对于输出层的神经元&#xff0c;误差项的计算公式如下&#xff1a; 其中&#xff1a; E是损失函数&#xff08;例如均方误差&#xff09;。 zk 是输出层神经元的加权输入&a…

如何高效整合金蝶云星辰采购入库单与聚水潭系统

星辰-采购入库单集成到聚水潭的技术实现 在企业信息化管理中&#xff0c;数据的高效流转和准确对接至关重要。本文将分享一个实际案例&#xff1a;如何通过轻易云数据集成平台&#xff0c;将金蝶云星辰V2系统中的采购入库单数据无缝集成到聚水潭系统中&#xff0c;实现业务流程…

Uniapp的App环境下使用Map获取缩放比例

概述 目前我试过的就是你用vue后缀是拿不到比例的你可以用nvue当然uniapp的uvue应该是更加可以的我使用的是高德所以你得在高德的后台声请原生的Android的key才可以如果是vue3的开发模式的话不用使用this来获取当前对象使用scale对象来接受和改变缩放比例会比较友好然后直接走…