我如何居中对齐表格

时间:2013-09-06 20:07:39

标签: html css

如何将此表格对齐?我试过了,margin-left:auto;,margin:50px ;, margin:0 auto 0 auto;和其他几个代码似乎没有任何作用。我希望它能使所有内容都居中对齐,如果我想添加其他项目,它们也会居中。

这是jsfiddle:http://jsfiddle.net/ffKKN/1/

这是css:

.radio div[type='radio'] {
background: transparent;


border:0px solid #dcdcdc;
border-radius:10px;
padding:0px;
float:left;
margin-left: 10px;
cursor:pointer;
}
.radio div.active {
box-shadow:0 0 2px 0px transparent inset;
}
.tablebuttons img {
width: 60px;
height: 55px;
border: 0px solid #666;
background: #fff;
display:block;
border-radius: 10px;
-moz-border-radius: 10px;
-webkit-border-radius: 10px; 
}
.question {
margin-left: auto;
display: none;
clear: both;
}
.question:nth-child(1) {
display:block;
}

#linkDiv {
margin: 0;
}
.clear {
clear: both;
}

5 个答案:

答案 0 :(得分:6)

问题是表单显示block,并扩展到其容器的100%宽度。您可以将显示切换到inline-block,然后根据表单的子项进行传播。

无需固定宽度。

body {
    text-align: center;
}
#quiz {
    overflow: hidden;
    display: inline-block;
}

jsFiddle Demo

答案 1 :(得分:3)

设置宽度,然后使用margin:0px auto;

#quiz {
    width: 320px;
    margin: 0px auto;
}

此外,如果您希望文本在容器中居中,请使用

body {
    text-align: center;
}

jsFiddle example

答案 2 :(得分:1)

在你的CSS中加上这一行:

#quiz { margin:0 auto; width:350px; }  

答案 3 :(得分:1)

如果您将用于代替单选按钮的<div class="iphone3gscarrier">更改为<span>标记,请使用以下css:

body {
text-align: center;
}

他们现在居中。您可以根据需要添加任意数量的标签,一切都将保持居中。

http://jsfiddle.net/ZBMgZ/

答案 4 :(得分:1)

如果您可以使用flexbox布局,这是使元素居中而不依赖于表格,文本对齐或固定宽度的唯一方法。

http://jsfiddle.net/tuu4y/

HTML

<form>
    <label>Hello <input /> </label>    
</form>

CSS

form {
    display: inline block;
   /* flexbox, por favor */
   display: -webkit-box;
   -webkit-box-orient: horizontal;
   -webkit-box-pack: center;
   -webkit-box-align: center;

  display: -moz-box;
  -moz-box-orient: horizontal;
  -moz-box-pack: center;
  -moz-box-align: center;

  display: box;
  box-orient: horizontal;
  box-pack: center;
  box-align: center;    
}

如果您必须支持旧浏览器,则可以对宽度http://jsfiddle.net/tuu4y/4/进行硬编码

form {
    width: 300px;
    margin: 5px auto;   
}

如果您无法对宽度进行硬编码,则可以使用三种技巧中的任何一种,有些不会验证,有些则会被避开。它们都需要制作inline-block

形式

在包装容器中使用text-align:center

如果您不希望文本居中对齐,则必须将text-align:left放在表单上http://jsfiddle.net/tuu4y/2/

body {
    text-align: center;
}
form {
    display: inline-block;   
    text-align: left;
}

放一个包装<form align="center">...</form>

不验证http://jsfiddle.net/tuu4y/1/

<form align="center">
    <label>Hello <input /> </label>    
</form>