Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 使弹性项在列方向容器中包裹_Css_Flexbox_Word Wrap_Css Grid - Fatal编程技术网

Css 使弹性项在列方向容器中包裹

Css 使弹性项在列方向容器中包裹,css,flexbox,word-wrap,css-grid,Css,Flexbox,Word Wrap,Css Grid,因此,要使用行布局将元素包装到flex div中,我需要做的就是: div{ 显示器:flex; 弹性方向:行;/*我想将其更改为列*/ flex-wrap:wrap;/*wrap似乎对列不起作用,只对行起作用*/ } 这些 意志 包裹 默认情况下,块级元素占据其包含块的整个宽度。实际上,这将解析为宽度:100%,这将在水平方向上设置内容流的中断 因此,默认情况下,flex项可以包装在行方向容器中 然而,HTML或CSS中的任何内容都不会设置块级元素的默认高度。高度由内容驱动(height:

因此,要使用行布局将元素包装到flex div中,我需要做的就是:

div{
显示器:flex;
弹性方向:行;/*我想将其更改为列*/
flex-wrap:wrap;/*wrap似乎对列不起作用,只对行起作用*/
}

这些

意志

包裹


默认情况下,块级元素占据其包含块的整个宽度。实际上,这将解析为
宽度:100%
,这将在水平方向上设置内容流的中断

因此,默认情况下,flex项可以包装在行方向容器中

然而,HTML或CSS中的任何内容都不会设置块级元素的默认高度。高度由内容驱动(
height:auto

这意味着元素将垂直流动,而没有任何理由中断

(我猜在进化的过程中,可能是在可用性研究的基础上,web应用程序可以垂直扩展,但不能水平扩展。)

这就是为什么flexbox不会自动按列方向包装项目。它需要作者定义的高度作为断点


但是,布局的高度通常是动态的,因此无法设置特定的高度。这使得flexbox无法沿列方向包装项目。一个很好的替代方案是CSS,它不需要容器上的高度设置:

div{
显示:网格;
栅隙:10px;
}
第n个孩子(3n+1){
网格行:1;
背景色:浅绿色;
}
第n个孩子(3n+2){
网格行:2;
背景颜色:橙色;
}
第n个孩子(3n+3){
网格行:3;
背景颜色:浅绿色;
}
p{
保证金:0;
填充:10px;
}

一个

两个


默认情况下,块级元素占据其包含块的整个宽度。实际上,这将解析为
宽度:100%
,这将在水平方向上设置内容流的中断

因此,默认情况下,flex项可以包装在行方向容器中

然而,HTML或CSS中的任何内容都不会设置块级元素的默认高度。高度由内容驱动(
height:auto

这意味着元素将垂直流动,而没有任何理由中断

(我猜在进化的过程中,可能是在可用性研究的基础上,web应用程序可以垂直扩展,但不能水平扩展。)

这就是为什么flexbox不会自动按列方向包装项目。它需要作者定义的高度作为断点


但是,布局的高度通常是动态的,因此无法设置特定的高度。这使得flexbox无法沿列方向包装项目。一个很好的替代方案是CSS,它不需要容器上的高度设置:

div{
显示:网格;
栅隙:10px;
}
第n个孩子(3n+1){
网格行:1;
背景色:浅绿色;
}
第n个孩子(3n+2){
网格行:2;
背景颜色:橙色;
}
第n个孩子(3n+3){
网格行:3;
背景颜色:浅绿色;
}
p{
保证金:0;
填充:10px;
}

一个

两个


行按原样工作,当项目达到视口/容器的宽度时,它将进行包装,但对于列,并且由于视口没有高度(默认值为
auto
),它将继续增长,因此要实际包装,它需要设置高度。啊,你非常明智。我在父元素上设置了高度,但没有直接在flex box上设置。我刚把它设定为继承,瞧!它起作用了!谢谢!这是否意味着视口只跟踪宽度而不跟踪高度?是的,页面的正常流动是向下的,因此当内容变大时,它将简单地开始滚动,而横向滚动则不太好。但是,现在我的flex box div不包含内容包装时生成的新列。flex box div的宽度仅包含第一列。有什么方法可以让我的flex box扩展以包含其内容吗?有很多答案已经涵盖了这一点,Michael_B给出的答案更正确,因此继续这样做,
flex:1
Is on me:)行按原样工作,当项目达到视口/容器的宽度时,它会进行包装,但对于列,由于视口没有高度(默认值为
auto
),它只会继续增长,因此它需要一个设置的高度才能真正包裹。啊,你太聪明了。我在父元素上设置了高度,但没有直接在flex box上设置。我刚把它设定为继承,瞧!它起作用了!谢谢!这是否意味着视口只跟踪宽度而不跟踪高度?是的,页面的正常流动是向下的,因此当内容变大时,它将简单地开始滚动,而横向滚动则不太好。但是,现在我的flex box div不包含内容包装时生成的新列。flex box div的宽度仅包含第一列。有什么方法可以让我的flex box扩展以容纳它的内容吗?已经有很多答案涵盖了这一点,Michael_B给出的答案更为正确,所以继续吧,
flex:1
在我身上:)谢谢,我会尝试一下。我目前正在使用
写作模式:垂直lr
弹性方向:行
来克服flexbox无法适应包装内容的小缺陷,我在flexbox上设置了一个高度来包装内容。谢谢,我会尝试一下。我目前正在使用
写入模式:垂直lr
柔性方向:行
来克服flexbox无法适应wrappe的小缺陷