推荐通过 CSS 覆盖 .layui-layer-title 高度来精确控制弹窗标题栏,需同步设置 height、line-height 和 padding 并加 !important;可全局统一设置,也可用 .layui-layer-alert .layui-layer-title 等选择器精准作用于特定类型;动态修改时须用 cssText 一次性写入带 !important 的完整样式。

需要精确控制 layui layer 弹窗标题栏的高度,比如适配紧凑布局、避免文字被截断或与自定义图标错位。直接改 height 会破坏 layer 内部 padding 和 line-height 的比例关系,必须同步调整内边距和行高才能保持视觉对齐。
通过 CSS 覆盖 .layui-layer-title 高度
这是最稳定、最推荐的方式,无需改动 JS 逻辑,所有弹窗统一生效。
在页面 <head> 中或全局样式文件里添加以下 CSS:
【必须加 !important】 因为 layer 使用内联样式设置 .layui-layer-title 的 height,默认优先级高于普通 CSS 规则。
.layui-layer-title { height: 42px !important; line-height: 42px !important; padding-left: 20px !important; padding-right: 16px !important; }
注意:line-height 必须与 height 完全一致,否则文字会垂直偏移;若启用了关闭按钮(closeBtn: 1),右侧 padding 要预留至少 16px 给 × 按钮,否则按钮会被裁切。
仅修改某类弹窗(如 alert)的标题高度
当只需要调整特定类型弹窗(比如仅 alert 或 confirm)的标题高度时,用更精确的选择器避免影响其他弹窗。
例如只改 alert 类型:
.layui-layer-alert .layui-layer-title { height: 36px !important; line-height: 36px !important; padding: 0 16px !important; }
这个写法利用了 layer 自动为不同 type 添加的 skin 类名(alert → layui-layer-alert),无需额外配置 skin 参数即可生效。
动态修改已打开弹窗的标题高度
适用于弹窗已打开、后续根据状态需要临时调整高度的场景,比如加载完成后再压缩标题栏节省空间。
第一步:调用 layer.open() 时保存返回的索引值
const index = layer.open({ type: 1, content: '内容' });
第二步:用该索引定位到对应弹窗的标题节点,并直接修改 style
document.querySelector(`.layui-layer[layer-id="${index}"] .layui-layer-title`).style.cssText = "height: 32px !important; line-height: 32px !important; padding: 0 16px !important;";
注意:不要用 element.style.height = "32px" 这种写法——layer 内部会频繁重设内联样式,单属性赋值大概率被覆盖;必须用 cssText 一次性写入全部关键样式,并保留 !important 声明才有效。


















