Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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
Html 如何使用css网格重复不同类型、不同宽度的行?_Html_Css_Css Grid - Fatal编程技术网

Html 如何使用css网格重复不同类型、不同宽度的行?

Html 如何使用css网格重复不同类型、不同宽度的行?,html,css,css-grid,Html,Css,Css Grid,我想利用css网格使用repeat(x)模式显示下表: 蓝色框是标题,只出现一次。他们应该根据列中最大的蓝/绿框使用自动宽度 绿色框也使用自动宽度,基于列中最大的蓝色/绿色框 黄色框的宽度为所有3列宽度的100% 绿色+黄色框应能重复X次 如果这不是一个使用网格的好例子,请随意展示不同的替代方案 蓝色框是标题,只出现一次。他们应该使用 自动宽度,基于列中最大的蓝/绿框。 根据css相对于父元素宽度和高度的设置,每行中的子元素将由css中设置的网格模板列/行分数决定网格模板行网格模板列。如果

我想利用css网格使用
repeat(x)
模式显示下表:

  • 蓝色框是标题,只出现一次。他们应该根据列中最大的蓝/绿框使用自动宽度
  • 绿色框也使用自动宽度,基于列中最大的蓝色/绿色框
  • 黄色框的宽度为所有3列宽度的100%
绿色+黄色框应能重复X次

如果这不是一个使用网格的好例子,请随意展示不同的替代方案

蓝色框是标题,只出现一次。他们应该使用 自动宽度,基于列中最大的蓝/绿框。

根据css相对于父元素宽度和高度的设置,每行中的子元素将由css中设置的网格模板列/行分数决定<代码>网格模板行
网格模板列
。如果您有三列,每列宽度为1fr,则它们将跨越CSS中为该行设置的宽度和间距=>
网格模板区域:“el-el”
等于el+gap+el+gap+el=CSS中父级声明的宽度

黄色框的宽度为所有3个框宽度的100% 列。

对于只包含一个元素的行,即黄色行,您希望将这些行放置在网格模板区域中,如
网格模板区域:“row3 row3 row3”
,其中该元素=
row3

“绿色+黄色框应能重复X次。”

使用网格布局您必须对CSS进行编码以适应这种情况

  • HTML必须为该行中的每一新行/元素反映一个类选择器
  • 该新行的类选择器必须添加到父元素(main在下面的示例中)CSS
    网格模板区域:
    网格模板行:重复(8,1fr)规则必须在此处反映正确的重复行数=>
    repeat(8,1fr)
    ,8是布局中的行数
  • 该行中的每一新行/元素都需要将网格区域设置为其类选择器
:根目录{
--橙色:242、202、4;
--绿色:85,205,75 ;;
--蓝色:80137245;
}
#续{
显示器:flex;
证明内容:中心;
对齐项目:居中;
}
梅因先生{
显示:网格;
网格模板列:重复(3,1fr);
网格模板行:重复(8,1fr);
间隙:20px 20px;
宽度:100vw;
高度:100vh;
最小高度:500px;
网格模板区域:
“col1-row1 col2-row1 col3-row1”
“col1-row2 col2-row2 col3-row2”
“第3行第3行第3行”
“col1-row4 col2-row4 col3-row4”
“第5行第5行第5行”
“col1-row6 col2-row6 col3-row6”
“第7行第7行第7行”
“子弹。”;
}
.col1-row1{
网格区域:col1-row1;
边框:2倍实心rgb(颜色(--蓝色));
背景:rgba(var(--蓝色),0.5);
}
.col2-row1{
网格区域:col2-row1;
边框:2倍实心rgb(颜色(--蓝色));
背景:rgba(var(--蓝色),0.5);
}
.col3-row1{
网格区域:col3-row1;
边框:2倍实心rgb(颜色(--蓝色));
背景:rgba(var(--蓝色),0.5);
}
.col1-row2{
网格区域:col1-row2;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.col2-row2{
网格区域:col2-row2;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.col3-row2{
网格区域:col3-row2;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.row3{
网格区域:第3行;
边框:2个实心rgb(颜色(--橙色));
背景:rgba(var(--橙色),0.5;
}
.col1-row4{
网格区域:col1-row4;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.col2-row4{
网格区域:col2-row4;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.col3-row4{
网格区域:col3-row4;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.row5{
网格区域:第5行;
边框:2个实心rgb(颜色(--橙色));
背景:rgba(var(--橙色),0.5;
}
.col1-row6{
网格区域:col1-row6;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.col2-row6{
网格区域:col2-row6;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.col3-row6{
网格区域:col3-row6;
边框:2个实心rgb(颜色(--绿色));
背景:rgba(var(--绿色),0.5;
}
.row7{
网格区域:第7行;
边框:2个实心rgb(颜色(--橙色));
背景:rgba(var(--橙色),0.5;
}
.子弹{
网格区域:子弹;
显示器:flex;
证明内容:周围的空间;
对齐项目:结束;
}
.子弹跨度{
高度:10px;
宽度:10px;
边框:2倍实心#AAA;
背景:#CCC;
边界半径:20px;
}

蓝色框是标题,只出现一次。他们应该使用 自动宽度,基于列中最大的蓝/绿框。

根据css相对于父元素宽度和高度的设置,每行中的子元素将由css中设置的网格模板列/行分数决定<代码>网格模板行
网格模板列
。如果您有三列,每列宽度为1fr,则它们将跨越CSS中为该行设置的宽度和间距=>
网格模板区域:“el-el”
等于el+gap+el+gap+el=CSS中父级声明的宽度

黄色框的宽度为所有3个框宽度的100% 列。

就你的