全宽弹性项目 [英] Full width flex items

查看:36
本文介绍了全宽弹性项目的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试构建一个具有水平滚动功能的 div,其中每个项目的宽度取决于其内容.这是我的问题的演示:

在这里,我希望 flex 项目应该采用全宽,这取决于它不应该被包裹的内容.出于同样的原因,我提供了水平滚动,即使宽度超出页面内容应该以无换行方式可见.

下面是相同的html代码:

CSS:

.workflow_container {高度:200px;溢出-y:隐藏;溢出-x:自动;}

HTML 代码:

<div class="d-flex flex-nowrap workflow_container"><div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

<div class="d-flex flex-column bd-highlight mb-3"><div class="p-2 bd-highlight">Flex 项目 1</div><div class="p-2 bd-highlight">Flex 项目 2</div><div class="p-2 bd-highlight">Flex 项目 3</div>

解决方案

Flex 项目的初始设置是 flex-shrink: 1.这意味着弹性项目可以收缩以防止容器溢出.

只需禁用flex-shrink.

将此添加到您的代码中:

.mb-3 { flex-shrink: 0;}

https://jsfiddle.net/gvnqbju7/6/

I am trying to build a div with horizontal scrolling in which each item width is depend upon its content. Here is demo of my problem: jsFiddle

Here I want the flex items should take full width depend on its content it should not be wrapped. I have provided horizontal scrolling for the same reason even if the width is beyond the page content should be visible in no wrap fashion.

Below is html code for same:

css:

.workflow_container {
  height: 200px;
  overflow-y: hidden;
  overflow-x: auto;
}

Html code :

<div class="container">
  <div class="d-flex  flex-nowrap workflow_container">
   <div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>

  </div>
</div>

解决方案

An initial setting on flex items is flex-shrink: 1. This means that flex items can shrink in order to prevent an overflow of the container.

Just disable flex-shrink.

Add this to your code:

.mb-3 { flex-shrink: 0; }

https://jsfiddle.net/gvnqbju7/6/

这篇关于全宽弹性项目的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
前端开发最新文章
热门教程
热门工具
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆