提问者:小点点

CSS-Margin左右自动不工作,尽管内联块和父元素具有固定宽度[重复]


我正在尝试将一对按钮居中放置在窗体中。 这些按钮被包装在

中,display:inline-block与其相对应,因此
仅与按钮一样宽。 作为
元素的
的父级设置了固定宽度:290px

但是,在

上,当我设置Margin-left:auto; 边距-右:自动
不在中居中。 我甚至还针对元素设置了display:block,但没有效果。

我做错了什么?

HTML:

<form id="schemeForm">
    <!--Other HTML elements-->
    <div id="formButtons">
        <input type="button" value="Back" />
        <input type="submit" value="Submit" />
    </div>
</form>

CSS:

#schemeForm {
    width: 290px;
    display: block;
}

#formButtons {
    display: inline-block; /*to make it only as wide as buttons*/
    margin-left: auto;
    margin-right: auto;
}

示例代码段:

null

#schemeForm {
    width: 290px;
    display: block;
    background-color: black;
}

#formButtons {
    display: inline-block; /*to make it only as wide as buttons*/
    margin-left: auto;
    margin-right: auto;
    background-color: orange;
}
<html>
<body>
<form id="schemeForm">
    <!--Other HTML elements-->
    <div id="formButtons">
        <input type="button" value="Back" />
        <input type="submit" value="Submit" />
    </div>
</form>
</body>
</html>

null


共3个答案

匿名用户

您可能需要将text-align:center设置为#schemeForm

<html>
    <style>
        #schemeForm {
        width: 290px;
        display: block;
        background-color: black;
        text-align: center;
}

#formButtons {
        display: inline-block; /*to make it only as wide as buttons*/
        background-color: orange;
}
    </style>
<body>
    <form id="schemeForm">
        <div id="formButtons">
            <input type="button" value="Back" />
            <input type="submit" value="Submit" />
        </div>
    </form>
</body>
</html>

匿名用户

保持#FormButtonsDisplay:Block并设置Text-Align:Center

null

#schemeForm {
  width: 290px;
  display: block;
}

#formButtons {
  display: block;
  text-align: center;
}
<html>
<body>
<form id="schemeForm">
    <!--Other HTML elements-->
    <div id="formButtons">
        <input type="button" value="Back" />
        <input type="submit" value="Submit" />
    </div>
</form>
</body>
</html>

匿名用户

您似乎希望display:block;而不是display:inline-block;