我有一个宽度为20%的输入字段,如下所示:
<input id="saveServer" width="20%" class="depth"></input>
因此,为了使其居中,我在输入字段之前和之后添加两个span元素,宽度:40%,以使输入字段居中。就像你在这里看到的那样:
<span style="width:40%"></span>
<input id="saveServer" width="20%" class="depth"></input>
<span style="width:40%"></span>
但不知何故,inut领域并不以自己为中心。我不知道如何集中它!来自德国的问候!谢谢!
在小提琴上有同样的例子:http://jsfiddle.net/bmkc2/
答案 0 :(得分:8)
我认为更多背景有助于澄清问题,
但这就是你追求的吗?一种方法
中心输入本身是通过添加规则:
margin: 0 auto;
答案 1 :(得分:5)
坚持你的方法,这是一个工作小提琴:http://jsfiddle.net/bmkc2/1/
span
这样的内联元素。首先,您必须将其显示为内联块。display: block
将单独显示在它自己的行上。再次,内联阻止或浮动。box-sizing: border-box
将避免使用20%宽度的边框和填充(请查看caniuse.com以获取添加-moz-的完整前缀列表等。)编辑:
for
属性相关联)也没有标题属性,是不是因为它是演示? margin: 0 auto
如另一个答案中所述,text-align: center
比仅添加2个空元素更适合居中。我只是想让你的第一次尝试工作。答案 2 :(得分:1)
您的代码无法正常工作的原因是因为input元素和span元素都是浮动元素。为了让它们以你正在思考的方式工作,你需要将它们显示为内联块元素。
添加以下代码,它将以您期望的方式运行。
span, #saveServer {
display:inline-block;
}
jsFiddle:http://jsfiddle.net/bmkc2/2/