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

如何实现li内嵌套ul并排对齐 解决ul偏移与空li显示问题

问题背景

正在实现CSS dropright效果,目标是将li内部嵌套的ul设置为并排对齐,首个ul的偏移问题已解决,当前遇到的问题是代码中存在无内容的空li标签,为li设置border-bottom属性后,空li会异常显示。

现有代码问题
  • HTML结构不符合规范:ul的直接子元素只能是li标签,原代码中第一层ul内存在未闭合的空li,且嵌套的ul直接作为第一层ul的子元素存在,而非放在li内部,是产生空li标签的核心原因
  • 没有针对空li做样式规避处理
修复方案

1. 修正HTML结构

删除冗余空li,将嵌套ul放入需要触发dropright效果的li标签内部,符合HTML嵌套规范:

<div class="container">
  <ul class="ul-items">
    <li>Item one</li>
    <li>Item one</li>
    <li>Item one</li>
    <li>Item one</li>
    <li>
      Item one
      <ul class="ul-items">
        <li>Item one</li>
        <li>Item one</li>
        <li>Item one</li>
        <li>Item one</li>
        <li>Item one</li>
      </ul>
    </li>
  </ul>
</div>

2. 补充CSS规则

  • 新增顶层ul的偏移重置规则,避免首个ul错位
  • 新增空li隐藏规则,彻底规避空li的边框异常
.container{
  display: flex;
  position: relative;
}
/* 重置顶层ul的偏移 */
.container > .ul-items{
  left: 0;
  margin-left: 0;
}
.ul-items{
  list-style: none;
  position: absolute;
  top: 0;
  left: 100px;
  width: 100px;
  padding: 0;
  margin: 0;
}
/* 空li隐藏,规避边框异常 */
li:empty {
  display: none;
}
/* 你需要的li边框样式 */
li {
  border-bottom: 1px solid #ccc;
  padding: 4px 8px;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 13:00:00