2012-02-10 78 views
27

我有一个输入形式,我试图在中心对齐。当display: block未被添加到CSS时,通常margin-left:automargin-right: auto无法响应。我已将display: block添加到我的CSS中,但仍然不显示,因为我希望它。margin-left:auto和margin-right:自动不在输入上工作

我做了一个的jsfiddle保持更容易理解:http://jsfiddle.net/XnKDQ/97/

+0

您的jsfiddle链接似乎不起作用。作为一个建议,该项目是否具有指定的固定宽度 - 我相信这也是这种方法所必需的。 – Paddy 2012-02-10 10:20:15

+0

编辑链接。 – Xecure 2012-02-10 10:25:16

回答

55

为了使margin: 0 auto;能够正常工作,除了需要指定display:block之外,还需要指定width

+4

的中心不要忘记显示:块或者,你会认为它会显示:inline-block,但不是......这会打破它 – 2012-10-04 23:27:30

+0

@Clarence如果你仔细阅读这个问题,你可以看到,Xecure已经为该元素应用了'display:block;'。这就是为什么我没有提到这一点。 – Christoph 2012-10-05 08:07:41

+0

对,我只是说你自己的答案没有被提及,甚至比较问题和你的答案,它并不直接显示'display:block'是相关的。我想,如果你在前面加上你的回答,“除了显示:块,为了......” – 2012-10-05 19:18:45

0

你想要的三种形式一起在中心对齐?将它们包装在一个单独的div中,而不是中心。

+0

我试图对齐的形式 – Xecure 2012-02-10 10:24:06

4

我找到了解决办法为你

应指定元素宽度

input { 
    display: block; 
    margin: 10px auto 10px auto; 
    padding: 3px; 
    width:60px; 
} 
2

对我来说,这是浮动离开,我忘了,以便确保您申请浮动:没有你的输入领域。

你已经有显示:块和边距:0自动,你只需要设置宽度。

例,应该工作:

input {width:50% !important; margin:0 auto !important; display:block !important; float:none !important} 

如果不工作,尝试增加值重要,或者确保你的风格不被别的东西覆盖!

+0

这是为我工作的人。谢谢! – mikeym 2017-08-23 03:43:10

0

除了指定宽度和显示块还检查浮动属性是否设置为无。

0

对所有事物都有好处,你可以检查你的身体是否有参数位置。它可能被设置为固定。