html - 导航栏不在中心
问题描述
我的导航栏有问题。我想做一个完全响应的网站。目前,除了导航栏之外的所有东西都可以工作。当我尝试拉伸网站时,导航栏下方的内容保持在中心,但导航栏向左移动。我还希望我的导航栏“固定”并随页面滚动。我想看到左侧的徽标和右侧的菜单项,但不知道该怎么做。你能帮我吗?
谈论那个页面:https ://fajferekpl.github.io/fjfr/
.grid {
display: grid;
grid-template-columns: repeat(8, 1fr);
gap: 10px;
}
.site-nav {
width: 100%;
position: fixed;
z-index: 99;
background-color: var(--background-color);
height: 5rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.nav-logo {
grid-column: 1/4;
grid-row: 1;
color: var(--first-color);
padding: 20px;
}
<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" rel="stylesheet"/>
<nav class="site-nav grid" id="header">
<div><a href="#" class="nav-logo">.fjfr()</a></div>
<div class="nav-menu">
<ul>
<li><a href="#welcome">.home()</a></li>
<li><a href="#about">.about()</a></li>
<li><a href="#portfolio">.portfolio()</a></li>
<li><a href="#skills">.skills()</a></li>
<li><a href="#contact">.contact()</a></li>
<li class="icon-navbar"><a href="https://www.github.com/fajferekpl" target="_blank"><i class="fab fa-github"></i></a></li>
<li class="icon-navbar"><img src="assets/img/sun1.png" id="icon-sun"></li>
</ul>
</div>
<div class="hamburger-menu">
<div class="bar"></div>
</div>
</nav>
解决方案
我相信这只是一个定位和宽度问题。我以以下为中心...
使用固定定位,您必须确保告诉它要定位的位置。将其从左侧定位 50%(也就是 50% 到右侧),然后添加一个transform: translate
后 50%(也就是左侧的另一个 50%)将使它居中。这是因为它从导航栏的最左角移动了 50%(而不是从它的中心),然后你必须将它向后移动 50% 以使其成为真正的中心。
.site-nav-colored {
width: 100%;
position: fixed;
z-index: 99;
background-color: var(--background-color);
height: 5rem;
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: 0 1px 4px
var(--first-color);
left: 50%;
transform: translate(-50%);
}
此外,导航栏的宽度受此部分影响。它最多只能达到 1060 像素。
media screen and (min-width: 950px)
.grid {
width: 100%;
max-width: 1060px;
margin: 0 auto;
}
因此,如果您希望它扩展屏幕的整个宽度,那么导航必须class="grid"
在您的 HTML 中的 div 之外。
推荐阅读
- php - 数量不更新
- angular - 角度不更新组件
- mysql - 如何修复无法在将标头发送到客户端后设置标头?
- javascript - 无法发布/联系 - 但我没有在我的代码中请求该帖子
- php - 在同一页面上使用相同的 gform 两次
- html - 当一个具有背景图像时,两个 div 之间的间隙
- c - ISAPI 扩展
- centos7 - 无法打开程序集“/usr/lib/mono/4.5/xsp2.exe”:没有这样的文件或目录
- android - 尝试在空对象引用上调用虚拟方法“java.lang.String com.tnbdev.ulam.model.Region.getSubregionMark()”
- java - 用标点修改Java字符串中单词的字符,但保留所述标点的位置?