【发布时间】:2021-05-19 11:04:46
【问题描述】:
我正在开发一个带有导航栏的网站,并使用自动前缀来实现“最近 5 个版本”的兼容性。 为了在标题中定位元素,我使用 grid-template。
firefox v.82.0 中发生了一些奇怪的事情 如果我仅使用“fr”测量单位定义模板列的尺寸,则会破坏布局。但是如果我将至少一个列单位大小更改为 px 或 % 它会突然起作用
这是代码(已清理,因为我正在使用 React 和 SCSS 模块,而且它伤了眼睛,太吵了):
.header-bar {
display: grid;
-ms-grid-rows: 1fr;
-ms-grid-columns: 1fr 2fr auto;
grid-template: "logo nav socials" 1fr / 1fr 2fr auto;
background-color: rgba(#000, 1);
text-transform: uppercase;
color: white;
min-height: 4rem;
max-height: 6rem;
width: 100%;
}
.logo {
grid-area: logo;
justify-content: center;
display: inline-flex;
align-items: center;
padding: 10px;
img {
min-width: 100px;
}
}
.nav-bar {
grid-area: nav;
}
.social-links-group {
grid-area: socials;
display: flex;
padding-right: 10px;
width: 100%;
justify-content: center;
align-items: center;
}
.social-link {
margin: 0 1vw;
width: 3%;
padding: 2px;
min-width: 25px;
svg {
fill: rgba($primaryFontColor, 1);
}
svg:hover {
fill: rgba($secondaryColor, 1);
}
}
<header class="header-bar">
<div class="logo">
<img src=".../" />
</div>
<nav class="desktop-nav-bar">
<ul>
<li><a aria-current="page" class="link active" href="">Link1</a></li>
<li><a class="link" href="">Link2</a></li>
<li><a class="link" href="">Link3</a></li>
<li><a href="" class="link">Link4</a></li>
<li><a class="link" href="">Link5</a></li>
</ul>
</nav>
<div class="social-links-group">
<a href="" class="social-link">
...
</a>
<a href="" class="social-link">
...
</a>
<a href="" class="social-link">
...
</a>
</div>
</header>
现在,你们中的一些人可能会注意到我在 HTML 中不存在的类选择器“导航栏”上应用了样式。 但是,如上所述,即使不解决此特定问题,如果我仅将列单位大小之一替换为 px 或 %,问题也可以解决。
有人可以就为什么会发生这种情况提出合理的解释吗?
【问题讨论】:
-
您好,抱歉,已更新。在 .header-bar 中
-
无法在 FF85 或 Chrome 中复制
-
@Paulie_D - 谢谢。你能建议我能提供什么让复制成为可能吗?我不介意在此处发布所有文件...但是感觉太混乱了...会更好吗?还有其他选择吗?
-
您只需要编辑 sn-p 并使用足够的代码来演示问题。目前它没有这样做。
-
@Paulie_D - 缺少什么?代码最初是用 react 编写的,我给出了完整的渲染 HTML(没有 base64 img src,或不需要的 svg 组件)。我将更新 css 以包含所有代码......你还想让我放什么?
标签: css reactjs css-grid css-modules react-css-modules