html - 将导航栏定位在 div 的垂直中心
问题描述
我需要做这样的事情:
我写了这段代码:
HTML:
<html>
<head>
<title>{% block title %} {% endblock %}</title>
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link rel="stylesheet" href="{{ url_for('static', filename='styles/style.css')}}">
</head>
<body>
<div class="nav">
<nav class="menu">
<a href="{{ url_for('home') }}" class="menu__item" data-tooltip="Home">
<i class="material-icons">home</i>
</a>
<a href="{{ url_for('about') }}" class="menu__item" data-tooltip="About">
<i class="material-icons">account_box</i>
</a>
<a href="{{ url_for('skills') }}" class="menu__item" data-tooltip="Skills">
<i class="material-icons">settings</i>
</a>
<a href="{{ url_for('projects') }}" class="menu__item" data-tooltip="Projects">
<i class="material-icons">work</i>
</a>
<a href="{{ url_for('contact') }}" class="menu__item" data-tooltip="Contact">
<i class="material-icons">email</i>
</a>
</nav>
</div>
{% block content %}
{% endblock %}
</body>
</html>
CSS:
html{
margin-left: 75px;
}
.nav{
position: fixed;
left: 0;
width: 75px;
height: 100%;
background: #181818;
font-size: 16px;
font-family: sans-serif;
}
.menu{
justify-content: center;
}
.menu__item{
position: relative;
display: flex;
align-items: center;
justify-content: center;
padding: 15px 0;
text-decoration: none;
color: #a5a5a5;
transition: background 0.3s;
}
但是,导航栏仍然显示在父 div 的顶部:
有谁知道我该如何解决这个问题?我究竟做错了什么。我通常不在 html 和 css 中工作,所以这可能很简单。
注意:我使用 python 框架来管理 html,所以不要质疑{% %}
代码中的部分。它们不是这不起作用的原因。
解决方案
推荐阅读
- java - 如何使用 Mockito 验证带有 ByteBuffer 参数的调用?
- javascript - Javascript - 根据多个字段对对象列表进行排序
- java - Jackson - 在数组中获取一个条目
- spring-mvc - Mockito 测试旧代码上的服务调用
- javascript - 使用 TypeScript 和 Redux 响应惰性
- java - 无法将 Spring MVC 应用程序连接到 AmazonMQ 代理
- c# - 在 ASP.NET Core 中使用链责任的最佳实践
- fonts - SwiftUI 字体 smallCaps() 不能与 italic() 一起使用
- python - 任何人都可以帮助这个初学者弄清楚这个基本的 Python 问题吗?
- python - 如何用彩色分割和 alpha 通道绘制图片?