【发布时间】:2019-03-29 07:45:33
【问题描述】:
我正在尝试使用 CSS Flex 创建以下布局。这看起来很简单,但其中有一个棘手的部分,我将在下面解释。
HTML:
<div class="flex">
<div class="icon-col">
<div class="icon" style="max-width:120px;">
<svg>image code here...</svg>
</div>
</div>
<div class="text-col">
<h4>Awesome Design</h4>
<p>Nullam vel sem. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur blandit mollis lacus. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc.</p>
</div>
</div>
CSS:
.flex {
display: flex;
flex-direction: row;
}
.icon-col, .text-col {
flex: 1;
}
.icon {
width: 100%;
}
Codepen 预览: https://codepen.io/anon/pen/KEjJeO
正如您在预览中看到的那样,图标和文本之间的空间太大。图标必须为内联 CSS 中指定的 120 像素,并且文本列的宽度应根据图标大小增大或缩小。
尝试棘手的部分:
图标具有动态宽度。
我可以仅使用 HTML 中的内联样式在 HTML 中的 .icon 元素中定义图标的宽度。
就添加动态宽度而言,我无法控制.icon-col 元素。如果我可以将宽度添加到.icon-col,那就很容易了。
我也无法为.text-col 添加宽度,因为它必须根据图标大小自动调整大小。
如何.icon-col 与其子元素.icon 的宽度相同并自动调整文本列的大小?
【问题讨论】:
-
解释太宽泛了。你能在评论中做个简短的说明
-
非常混乱。你能完善你的问题吗?
-
您的 codepen 链接也不起作用。编辑问题并按预期添加带有屏幕截图的简短说明。
-
@Saravana codepen 网站似乎已关闭
-
简而言之,我想在图片中创建布局,但只能为
.icon元素添加宽度