ul li 两个放在一行 使用display:inline

这篇博客讨论了前端页面结构优化,原代码使用了两个div来展示列表内容,每个div包含多个li元素。为了简化后期的数据绑定和处理,建议将这些li元素整合到一个div内。通过设置CSS样式.display:inline,可以实现行内排列,达到同样的视觉效果,同时减少代码复杂性和提高灵活性。这种方法尤其适用于数据数量不确定的情况,如3条或6条数据,避免了额外的条件判断。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

页面如图:
在这里插入图片描述
原来美工写的是:

 <div class="article">
                <ul>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                </ul>
            </div>
            <div class="article">
                <ul>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                    <li><img src="img/dot_unclick.png" alt=""><a>需求方案编制规范——建设类项目(试行)5.1建设类项目(试行)5.15.1……</a>
                    </li>
                </ul>
            </div>

用了两个div 中写。但是后期绑定数据的话,考虑到当数据有3条,6条这种情况的话,写在一个div ul 里面比较好。不用多去判断数据情况了。
修改样式:

 .li {
        display: inline; 
        float: left;
        margin:5px 5px 18px 40px; //这里根据自己的样式情况调整
    }

display : inline 将元素显示为行内元素,高度,行高以及底边距不可改变,高度就是内容文字或者图片的宽度,不可以改变。多个相邻的行内元素排在同一行里,知道页面一行排列不下,才会换新的一行。

### 使用 CSS 实现横向导航栏 为了将 HTML 无序列表转换为横向导航栏,可以采用多种方法。以下是每种选项的具体说明及其适用场景: #### 方法一:`float:left` 通过设置 `li` 元素的 `float:left` 属性,可以让它们在同一行显示[^1]。此方法简单易懂,但在现代布局中可能不够灵活。 ```css ul { list-style-type: none; margin: 0; padding: 0; } li { float: left; } ``` 这种方法的优点在于兼容性强,缺点是需要额外清理浮动带来的影响。 --- #### 方法二:`position:absolute` 虽然可以通过绝对定位来控制每个 `li` 的位置,但这通常不推荐用于创建简单的横向导航栏。原因是它会使布局变得复杂且难以维护。 ```css ul { position: relative; list-style-type: none; margin: 0; padding: 0; } li { position: absolute; top: 0; } /* 需要手动调整每个 li 的水平偏移 */ li:nth-child(1) { left: 0; } li:nth-child(2) { left: 80px; } /* 假设每个项宽度为80px */ ``` 这种做法适合特定需求下的精确控制,但对于通用导航条来说并不理想。 --- #### 方法三:`display:inline-block` 利用 `inline-block` 可以让 `li` 元素像内联元素一样排列,同时保留块级特性。这是实现横向导航的一种常见方式。 ```css ul { list-style-type: none; margin: 0; padding: 0; } li { display: inline-block; } ``` 这种方式既保持了灵活性又易于管理,但可能会遇到空白字符引起的间距问题(可通过删除HTML中的多余空格解决)。 --- #### 方法四:`display:flex` Flexbox 是一种强大的布局工具,能够轻松实现复杂的响应式设计。对于横向导航而言,它是目前最现代化的选择之一。 ```css ul { display: flex; list-style-type: none; margin: 0; padding: 0; } li { /* 默认情况下无需特别指定方向 */ } ``` 相比其他技术,flex 提供更好的对齐功能以及动态分配空间的能力,非常适合构建自适应界面。 --- 综上所述,在实际开发过程中建议优先考虑 **`display:flex`** 或者 **`display:inline-block`** 来完成此类任务,因为这两种方案兼顾了效率与可维护性的同时也具有较好的跨浏览器支持度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值