css - 锚标签未正确居中
问题描述
我目前正在创建一些页面作为 Free Code Camp CSS 挑战的一部分。
由于某种原因,一旦我在@media 激活时折叠网格,我的标签就无法正确居中。他们一直轻微地向右侧漂移。
完整笔的链接在这里:
https://codepen.io/alioshr/pen/KKPBPMr
我已经尝试过使用 inline-block display、justify-self to center 等。
<html>
<header id="header">
<figure>
<img id="header-img"src="https://cdn.shopify.com/s/files/1/0866/9666/files/checkout_logo_4_1024x2_37df55d3-8344-46fb-8913-ea64de22f564_500x.png?v=1509363172">
</figure>
<div>
<h1>Doce Meliponicultura</h1>
<p>Reconnect with Mother-nature</p>
</div>
<nav id="nav-bar">
<ul>
<li><a href="#top-features" class="nav-link">Top Features</a></li>
<li><a href="#products" class="nav-link">Products</a></li>
<li><a href="#social" class="nav-link">Social</a></li>
</ul>
</nav>
</header>
</html>
<style>
a {text-decoration: none; display: inline-block;}
#header {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
background: gold;
align-items: center;
justify-self: center;
position: fixed;
top: 0;
left:0;
width: 100%;
z-index: 99;
}
@media (max-width: 600px) {
#header {grid-template-areas: "title" "logo" "nav-bar";}
#header > figure {grid-area: logo;}
#header > div {grid-area: title;}
#header > nav {grid-area: nav-bar;}
}
#header > figure {
justify-self: start;
align-self: center;
display: relative;
max-height: 140px;
}
@media (max-width: 600px) {
#header > figure {
justify-self: center;
}
}
#header > nav {
justify-self: end;
}
@media (max-width: 600px) {
#header > nav {
justify-self: center;
}
}
</style>
解决方案
我也会添加我的答案,以提供有关 Flexbox 设置的更多信息。基本上我删除了所有 CSS Grid 语法以支持 Flexbox。我不确定你到底要做什么,但这会让你知道如何让它至少工作。
#header {
display: flex;
background: gold;
align-items: center;
justify-content: space-around;
width: 100%;
}
@media (max-width: 600px) {
#header {
flex-direction: column;
}
}
#header>figure {
justify-self: flex-start;
align-self: center;
max-height: 140px;
}
@media (max-width: 600px) {
#header>figure {
justify-self: center;
}
}
#header>nav {
justify-self: flex-end;
}
@media (max-width: 600px) {
#header>nav {
justify-self: center;
}
}
这是我的工作小提琴(您提供的 codepen 链接从未为我加载)。
这是一个非常棒的资源,用于学习所有 Flexbox 规则的作用等
推荐阅读
- linux - Gentoo中没有无线连接
- c++ - 安装斯坦福 C++ 库(图形、BasicGraph 类)时遇到问题
- regex - 正则表达式如何匹配 dd mmm yyyy 以仅选择年份的前两位数字
- google-maps - Pass Pins values to next page
- json - How to get the JSON of the button payloads in Rasa and display them on the User Interface
- python - 如何在自定义 tf.keras.layers.Layer 中支持遮罩
- shell - use perl to repeat a line fixed no. of times
- angular - 从 Angular 中的数据集中填充下拉列表
- java - ADMA5014E 将 Mavenized Java 应用程序安装到 WebSphere 时出现 NoModuleFileException 错误:“具有 uri 的模块元素的文件不存在”
- python - 需要帮助确定要获取哪个 youtube html 标记以便在 python 中加载视频