css-grid div 在 React 组件中使用时不调整大小

css-grid div not resizing when used in react component

我在我制作的样本投资组合页面中制作了一个 css 网格布局,当我只使用 html / css 时,它工作正常并且响应迅速:代码在这里: https://codepen.io/abhinavthinktank/full/YevQNq/

没有响应的托管在这里: https://abhinav-m.github.io/

相同的反应组件在这里:https://github.com/abhinav-m/personal-portfolio/tree/master/src/components

我用 react、sass 和 node 做了同样的事情,但是这个没有响应,确切地说 div 和 class techStack 不是调整大小。 这是网格布局 css:

.gridContainer {
 display: grid;
 grid-template-rows: 15px 10% 20% 10% 20% 20% 20% 25px;
 grid-template-columns: 10% 80% 10%;
 grid-row-gap: 25px;
 justify-items: center; }

div class='techStack' css:

.techStack {
 grid-row: 6 / 7;
 grid-column: 2 / 3;
 background: bisque; }

这两个CSS好像是一样的!我不明白为什么其中之一不起作用。

LINK FOR JSFIDDLE:https://jsfiddle.net/69z2wepo/121098/(无响应)

我看了一下,但无法弄清楚造成差异的原因。我猜这是页面上其他地方的样式,或者是因为元素的结构略有不同。

但是,如果您将图标的样式设置为 display: inline-block,那么问题就解决了。

您的图像图标 (.dev-icon-* colored) 是 inline-level ::before pseudo-elements 的列表,每个图标都包含在 inline-level i 元素,它们都包含在 block-level div 元素中。

图标由第三方服务提供(devicon)。

无论出于何种原因,这些 pseudo-elements、作为 devicon 图标,不要换行。

但是,如果您将 devicon 代码(例如 content: "\e845")切换为纯文本(例如 content: "text text text text"),则 pseudo-elements 会换行。

或者,如果您将 div 容器从 display: block(默认值)切换到 display: flex,devicons 也会换行。

所以问题似乎归结为块容器中的 devicons。

这是一个简单的整体解决方案:

div.icons {
    display: flex;
    flex-wrap: wrap;
}