首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >仅使用CSS在HTML元素之间添加空格

仅使用CSS在HTML元素之间添加空格
EN

Stack Overflow用户
提问于 2011-11-18 23:43:23
回答 12查看 322.9K关注 0票数 135

我有几个相同的HTML元素相继出现:

代码语言:javascript
复制
<span>1</span>
<span>2</span>
<span>3</span>

我正在寻找使用CSS only在元素之间添加间距的最佳方法

代码语言:javascript
复制
[no space]  [1]  [space 10px]  [2]  [space 10px]  [3]  [no space]

此外:

  • 请记下您的收款

的浏览器兼容性

更新

看起来我不太清楚。我不想使用任何额外的HTML标记,比如

代码语言:javascript
复制
<span></span>  <span></span>  <span class="last_span"></span>

我不想用桌子

我希望CSS自动针对第一个和最后一个跨度

我不想使用javascript

可选要求:最后一个跨度不能是父标签的最后一个子标签,但它将是父标签的最后一个跨度。跨度之间没有任何其他标记。

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2011-11-19 00:04:02

这样做的一个好方法是:

代码语言:javascript
复制
span + span {
    margin-left: 10px;
}

每个前面有spanspan (因此,除了第一个span之外的每个span)都会有margin-left: 10px

这里有一个类似问题的更详细的答案:Separators between elements without hacks

票数 297
EN

Stack Overflow用户

发布于 2011-11-18 23:45:18

只需使用边距或填充即可。

在您的特定情况下,只能在第二个<span>上使用margin:0 10px

更新

这里有一个很好的CSS3解决方案(jsFiddle):

代码语言:javascript
复制
span {
    margin: 0 10px;
}

span:first-of-type {
    margin-left: 0;
}

span:last-of-type {
    margin-right: 0;
}

从Internet Explorer9开始,支持使用:nth-child():last-child:first-of-type等选择器进行高级元素选择。

票数 36
EN

Stack Overflow用户

发布于 2019-03-27 11:39:16

将这些规则添加到父容器中:

代码语言:javascript
复制
display: grid
grid-auto-flow: column
grid-column-gap: 10px

很好的参考:https://cssreference.io/

浏览器兼容性:https://gridbyexample.com/browsers/

票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8184958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档