我需要在多个span元素之间插入一个虚拟空间。即;需要在“帮助”和“反馈”之间插入空格
我该怎么做?
HTML
<div id="header">
<span>Help</span>
<span> </span>
<span>Feedback</span>
<span>help</span>
</div>
CSS
#header{
background-color:red;
}
答案 0 :(得分:4)
您也可以使用:before
伪元素。查看 DEMO 。
CSS喜欢
span:before{
content:" ";
display:inline-block;
width:32px;
}
HTML代码
<div id="header">
<span>Help</span>
<span> </span>
<span>Feedback</span>
<span>help</span>
</div>
另外如果需要删除不必要的跨度,可以使用:nth-of-type
#header span:nth-of-type(2)
{
display:none;
background-color:green;
}
另一个 JSBin 链接。
答案 1 :(得分:3)
左右span
元素margin
:
#header span {
margin: 0 10px;
}
如果您只想在第一个和第二个span
元素之间添加空格(忽略示例中的空格),则可以使用:first-child
选择器来应用仅margin-right
到第一个span
:
#header :first-child {
margin-right: 20px;
}
或者,您可以修改HTML,为第一个span
元素class
提供一个:first-child
,而不是{{1}}选择器。
答案 2 :(得分:2)
您可以使用填充
span {
padding-left: 5px;
padding-right: 5px;
}
..或只是填充右边。
答案 3 :(得分:2)
使用常规空格或
答案 4 :(得分:0)
如果您只想在该特定元素之前留出空格,请为其指定一个类和样式:
<div id="header">
<span>Help</span>
<span class="feedback">Feedback</span>
<span>help</span>
</div>
#header{
background-color:red;
}
.feedback {
margin-left: 1em;
}
答案 5 :(得分:0)
span {
padding-right: 50px;
}
答案 6 :(得分:0)
我认为 
是您搜索内容的最佳答案,如果您不使用div来“存储”该菜单。
答案 7 :(得分:0)
将您的元素包装在容器中,然后使用CSS GRID,course,然后使用为此特定目的创建的grid-gap:value
span{
border:1px solid red;
}
.inRow{
display:grid;
grid-template-columns:repeat(auto-fill,auto);
grid-gap:10px /*This add space between elements, only works on grid items*/
}
.inColumn{
display:grid;
grid-template-rows:repeat(auto-fill,auto);
grid-gap:15px;
}
&#13;
<div class="inrow">
<span>1</span>
<span>2</span>
<span>3</span>
</div>
<div class="inColumn">
<span>4</span>
<span>5</span>
<span>6</span>
</div>
&#13;
至于你的问题,你应该使用行示例
答案 8 :(得分:0)
父级
display: inline-table;