真正控制 layui-nav 高度的是 .layui-nav-item 的 line-height(如 48px)、padding 和 vertical-align;需同步调整 a 标签行高与字体大小比例,并注意下拉菜单的独立适配。

直接改 .layui-nav 的 height 不起作用,真正控制高度的是内部 .layui-nav-item 的行高、内边距和垂直对齐方式。文字行高需同步调整,否则会偏上或偏下。
调整导航栏整体高度
导航栏高度由子项撑开,不能只设外层容器高度。关键在 .layui-nav-item:
- 给
.layui-nav-item设置line-height(如line-height: 48px),这是最直接有效的方式 - 配合
padding: 0 20px控制左右留白,避免文字贴边 - 若需微调上下位置,可加
margin-top: 2px或vertical-align: middle(用于 inline-block 场景) - 不要对
.layui-nav直接设height,否则可能挤压子项或导致文字截断
统一文字行高与垂直居中
文字行高必须和容器高度匹配,否则会出现错位:
- 确保
.layui-nav-item a的line-height与父级.layui-nav-item一致 - 如果用了图标或 badge,建议给
a加display: flex; align-items: center;替代纯 line-height - 字体大小变化时,需同步重算行高比例,例如
font-size: 16px对应line-height: 48px,比值为 3
适配移动端或紧凑布局
小屏或精简设计时,常需压缩高度:
- 将
line-height降到36px或32px,同时减小padding(如padding: 0 12px) - 用媒体查询隔离样式:
@media (max-width: 768px) { .layui-nav-item { line-height: 36px; } } - 避免使用
height+overflow: hidden强制裁剪,会导致下拉菜单被截断
注意下拉菜单的连带影响
导航带下拉时,子菜单高度默认继承,需单独处理:
-
.layui-nav-child默认line-height: 36px,建议与主栏保持一致或略小(如32px) - 子菜单项
.layui-nav-child dd a需单独设padding和line-height,防止点击热区过小 - 若主栏高度压缩明显,建议给
.layui-nav-child加top: 100%和margin-top: 2px避免间隙











