You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使页面标题与导航栏垂直居中且导航栏位于标题下方?

解决方案

问题根源是你给#main设置了display: flex,但flex布局默认主轴方向为水平(row),所以标题容器和导航栏会水平堆叠。只需要调整flex方向,再修正导航的默认样式就能实现需求:

修改步骤

  1. 给#main添加flex-direction: column,让子元素垂直排列,同时保留align-items: center和justify-content: center实现整体垂直水平居中
  2. 清除<ul>的默认内边距(浏览器默认给ul加了padding-left),并让导航项居中对齐
  3. 可选:给标题和导航之间添加间距,优化视觉效果

修改后的完整CSS代码

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400&display=swap');
body {
    height: 100vh;
    width: 100vw;
    margin: 0;
    padding: 0;
}

#main {
    display: flex;
    flex-direction: column; /* 关键修改:垂直排列子元素 */
    align-items: center;
    justify-content: center;
    height: 100vh;
    gap: 20px; /* 标题与导航的间距,替代单个元素margin更易维护 */
}

#title {
    color: black;
    font-size: 50px;
    font-family: 'Montserrat', sans-serif;
}

nav ul {
    padding-left: 0; /* 清除浏览器默认内边距 */
    text-align: center; /* 导航项居中对齐 */
}

.navlink {
    display: inline-block;
    padding: 5px;
    list-style: none;
}

.navlink a {
    font-size: 20px;
    font-family: 'Poppins', sans-serif;
    text-decoration: none;
    color: black;
}

额外说明

  • gap是flex布局中控制子元素间距的原生方案,比给单个元素加margin更简洁易维护
  • 清除ul、ol这类列表元素的默认样式是前端开发的常规操作,避免浏览器默认样式干扰自定义布局

内容的提问来源于stack exchange,提问作者revert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 15:45:30