Html 设置“;宽度:自动“;内部a<;部门>;加上;显示器:flex;弯曲方向:行“;不';行不通

Html 设置“;宽度:自动“;内部a<;部门>;加上;显示器:flex;弯曲方向:行“;不';行不通,html,css,svg,flexbox,css-grid,Html,Css,Svg,Flexbox,Css Grid,我试着把一堆div并排放在一起,从左到右。因此,我使用的是一个方向设置为行的flexbox 我希望这些div中的每一个都从里面的内容派生出它们的高度和宽度,因此我将它们的高度和宽度保留为默认值 最后,我想使用svg作为背景。为此,我使用了一个网格容器,并将svg和div放在本文建议的同一列和同一行中。Im将svg的高度和宽度设置为100%,以确保其填充整个背景 但是,当我将所有内容组合在一起时,div的宽度设置不正确。div的高度似乎由内部内容设置,但宽度似乎总是默认为300px。就我个人而言,

我试着把一堆div并排放在一起,从左到右。因此,我使用的是一个方向设置为
的flexbox

我希望这些div中的每一个都从里面的内容派生出它们的高度和宽度,因此我将它们的高度和宽度保留为默认值

最后,我想使用svg作为背景。为此,我使用了一个网格容器,并将svg和div放在本文建议的同一列和同一行中。Im将svg的高度和宽度设置为
100%
,以确保其填充整个背景

但是,当我将所有内容组合在一起时,div的宽度设置不正确。div的高度似乎由内部内容设置,但宽度似乎总是默认为
300px
。就我个人而言,我不知道这个宽度是如何计算出来的。如果内容宽度大于300px,则一切正常。但是,如果内容小于
300px
,容器就不会收缩以适应

我如何确保潜水舱始终缩小到合适的尺寸?请参见下面的代码示例:

.top{
填充:20px;
显示器:flex;
弯曲方向:行;
}
.网格容器{
背景色:红色;
显示:网格;
}
.svg{
网格柱:1;
网格行:1;
宽度:100%;
身高:100%;
}
.内容{
网格柱:1;
网格行:1;
字体大小:100px;
}
由于某种原因,此div已计算出宽度300px
ab
这是意料之中的事
abcdefghijkl

我可以通过添加
位置:相对
.grid container
位置:绝对
svg
,然后给出
.content
a
z-index:1

请看这里:

.top{
填充:20px;
显示器:flex;
弯曲方向:行;
}
.网格容器{
背景色:红色;
显示:网格;
宽度:自动;
位置:相对位置;
}
.svg{
网格柱:1;
网格行:1;
宽度:100%;
身高:100%;
位置:绝对位置;
}
.内容{
网格柱:1;
网格行:1;
字体大小:100px;
z指数:1;
}
由于某种原因,此div已计算出宽度300px
ab
这是意料之中的事
abcdefghijkl

我可以通过添加
位置:相对
.grid container
位置:绝对
svg
,然后给出
.content
a
z-index:1

请看这里:

.top{
填充:20px;
显示器:flex;
弯曲方向:行;
}
.网格容器{
背景色:红色;
显示:网格;
宽度:自动;
位置:相对位置;
}
.svg{
网格柱:1;
网格行:1;
宽度:100%;
身高:100%;
位置:绝对位置;
}
.内容{
网格柱:1;
网格行:1;
字体大小:100px;
z指数:1;
}
由于某种原因,此div已计算出宽度300px
ab
这是意料之中的事
abcdefghijkl

您可以尝试使用SVG作为
.grid容器的背景图像(内联或链接),因此不需要将其插入到每个分区中。重要的是,SVG必须具有
保留Aspectratio='none'

.top{
填充:20px;
显示器:flex;
弯曲方向:行;
}
.网格容器{
背景色:红色;
显示:网格;
背景图像:
url(“数据:image/svg+xml;utf8,”);
背景重复:无重复;
背景尺寸:封面;
}
.内容{
网格柱:1;
网格行:1;
字体大小:100px;
}

ab
abcdefghijkl

您可以尝试使用SVG作为
.grid容器的背景图像(内联或链接),因此不需要将其插入到每个分区中。重要的是,SVG必须具有
保留Aspectratio='none'

.top{
填充:20px;
显示器:flex;
弯曲方向:行;
}
.网格容器{
背景色:红色;
显示:网格;
背景图像:
url(“数据:image/svg+xml;utf8,”);
背景重复:无重复;
背景尺寸:封面;
}
.内容{
网格柱:1;
网格行:1;
字体大小:100px;
}

ab
abcdefghijkl

有一个默认的宽度/高度应用于创建此输出的SVG元素。要避免此问题,请确保将属性宽度/高度设置为0

.top{
填充:20px;
显示器:flex;
弯曲方向:行;
}
.网格容器{
背景色:红色;
显示:网格;
}
.svg{
网格柱:1;
网格行:1;
宽度:100%;
身高:100%;
}
.内容{
网格柱:1;
网格行:1;
字体大小:100px;
}
由于某种原因,此div已计算出宽度300px
ab
这是意料之中的事
abcdefghijkl

有一个默认的宽度/高度应用于创建此输出的SVG元素。要避免此问题,请确保将属性宽度/高度设置为0

.top{
填充:20px;
显示器:flex;
弯曲方向:行;
}
.网格容器{
背景色:红色;
显示:网格;
}
.svg{
网格柱:1;
网格行:1;
宽度:100%;
身高:100%;
}
.内容{
网格柱:1;
网格行:1;
字体大小:100px;
}
由于某种原因,此div已计算出宽度300px
ab
这是意料之中的事
abcdefghijkl
谢谢。我在这里发现svg