我试图将两个链接'view website'和'view project'集中在周围的div中。有人可以指出我需要做些什么来使这项工作?
JS小提琴:http://jsfiddle.net/F6R9C/
HTML
<div>
<span>
<a href="#" target="_blank">Visit website</a>
<a href="#">View project</a>
</span>
</div>
CSS
div { background:red;overflow:hidden }
span a {
background:#222;
color:#fff;
display:block;
float:left;
margin:10px 10px 0 0;
padding:5px 10px
}
答案 0 :(得分:122)
另一种选择是给出范围display:table;
并通过margin:0 auto;
span {
display:table;
margin:0 auto;
}
答案 1 :(得分:116)
一个选项是让<a>
显示inline-block
,然后在包含的块上应用text-align: center;
(同时移除浮动):
div {
background: red;
overflow: hidden;
text-align: center;
}
span a {
background: #222;
color: #fff;
display: inline-block;
/* float:left; remove */
margin: 10px 10px 0 0;
padding: 5px 10px
}
答案 2 :(得分:7)
<div style="text-align:center">
<span>Short text</span><br />
<span>This is long text</span>
</div>
答案 3 :(得分:7)
将inline-block
应用于要居中的元素并将text-align:center
应用于父块为我做了诀窍。
甚至可以在<span>
标签上使用。
答案 4 :(得分:1)
Spans可能会遇到一些棘手的问题。如果你设置教学范围的宽度,你可以使用
margin: 0 auto;
将它们居中,但它们最终会出现在不同的行上。我建议你尝试一种不同的方法。
这是我头脑中的jsfiddle:jsFiddle
编辑:
Adrift的答案是最简单的解决方案:)
答案 5 :(得分:0)
我假设你想把它们放在一条线上,而不是根据你的小提琴将它们放在两条不同的线上。如果是这种情况,请尝试以下css:
div { background:red;
overflow:hidden;
}
span { display:block;
margin:0 auto;
width:200px;
}
span a { padding:5px 10px;
color:#fff;
background:#222;
}
我删除了浮动,因为你想要将它居中,然后通过添加margin:0 auto来使链接周围的范围居中。最后,我在跨度上添加了一个静态宽度。这将链接集中在红色div中的一行上。
答案 6 :(得分:-1)