CSS如此简单:5种添加元素间距方法

前端应用中,我们经常需要处理元素间的距离,看上去更美观。本文介绍5种添加元素间距的方法,当然方法不止5种。

约定

由于CSS样式及应用的复杂性,本文只以ul+li列表来展示和说明。目的是起到抛砖引玉的作用,不是宝典枚举所有情况。5种方法实现的效果都是一致的,如下图所示:
元素间距
ul的于li元素的边距是10px,li和li的间距也是10px;

方法展示

html代码如下:

<ul class="list">
   <li>1</li>
   <li>2</li>
   <li>3</li>
   <li>4</li>
   <li>5</li>
   <li>6</li>
</ul>

list为基础样式,例子中采用样式叠加的方式。例如方法1,样式list-1,ul的完整样式是list list-1,以此类推。

.list {
    display: inline-flex;
    padding: 10px;
    margin: 0;
    border-radius: 4px;
    background-color: #000;
}
.list li {
    display: inline-flex;
    padding: 10px;
    border-radius: 4px;
    background-color: #4cd23e;
    color: #fff;
}

方法1

  • CSS代码
.list-1 li + li {
   margin-left: 10px;
}
  • 说明
    采用+选择相邻节点,给相邻节点增加左边距10px。这种方法和我们的思维习惯贴合,好理解。

方法2

.list-2  li:first-child ~ li {
    margin-left: 10px;
}
  • 说明
    li:first-child选择第一个li元素,~选择所有的同级元素。用一句话描述:选择第一个li元素的所有同级元素,添加左边距10px。

方法3

  • CSS代码
.list-3  li:not(:first-child) {
    margin-left: 10px;
}
  • 说明
    使用:first-child选择第一个元素,:not()表示否定逻辑。用一句话描述:选择除第一个元素外的li元素,添加左边距10px。

方法4

  • CSS代码
.list-4 {
    padding: 10px 10px 10px 0;
}
.list-4 li {
    margin-left: 10px;
}
  • 说明
    ul除左边添加padding10px,li元素都添加左边距10px。

方法5

  • CSS代码
.list-5 {
   display: inline-grid;
   grid-auto-flow: column;
   grid-gap: 10px;
}
  • 说明
    使用inline-grid布局模式,grid-auto-flow: column列自动流布局,grid-gap:10px元素的间距为10px。

对比

方法描述对比
1采用+选择相邻节点,给相邻节点增加左边距10px符合思维习惯
2选择第一个li元素的所有同级元素,添加左边距10px选择较复杂
3选择除第一个元素外的li元素,添加左边距10px选择较复杂
4ul除左边添加padding10px,li元素都添加左边距10px。选择简单,但不符合思维习惯
5使用inline-grid布局模式,grid-auto-flow: column列自动流布局,grid-gap:10px元素的间距为10px通过gird-gap控制元素间距,其它4个方法都是控制li的margin-left来实现。

总结

本文使用特定的例子,通过5种添加间距的方法展示,给大家简单直观地,了解CSS选择器和网格布局的应用。大家根据自己的喜好选择方法,或者尝试其它方法。感兴趣的朋友可以下载代码。【点击免费下载】无需积分、VIP和付费

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

八爪虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值