31

我有以下页面结构:

<div class="main-container">
    <div class="content">
        <table>

        </table>
    </div>
</div>

我希望外部 divmain-container拥有max-width: 800px;,内部 div 被包裹在一张桌子上,并与桌子一样。也<div class="content">应该在他的父 div 内居中 - main-container。我在这里做错了什么?jsfiddle

工作示例: jsfiddle

4

8 回答 8

51

我有一个类似的问题。环境

margin-left: auto;
margin-right: auto;

在内部 div 上为我工作。

于 2015-03-09T21:09:47.557 回答
19

如果您需要.contentinline -block,只需设置 containertext-align: center和 content text-align: left您将无法使用margin: auto.

于 2013-08-01T12:03:39.870 回答
15

我试过了,它奏效了

.element-container{
   width:100%;
   max-width: 700px;
   margin: 0px auto;
}
.element{
   width: 80%;
   max-width: 700px;
   height: auto;
   margin-left: 10%;
}
于 2014-03-19T16:48:02.707 回答
4

您可以使用display: flex,因为它减少了很多 CSS 代码,如下所示;

.main-container {
    display:flex;
    justify-content: center;
}

演示

于 2019-03-20T13:22:18.850 回答
3

您可以将显示更改为table. http://jsfiddle.net/4GMNf/14/

CSS

.main-container {
    max-width: 800px;
    margin: auto;
    position: relative;
    background-color: red;
}
.content {
    margin: auto;
    max-width: 600px;
    height: 300px;
    background-color: gray;
    display: table;
}

table 
{
    width: 200px;
}
于 2013-08-01T12:24:27.187 回答
1

尝试这个

http://jsfiddle.net/4GMNf/10/

CSS

.main-container {
    max-width: 800px;
    margin: auto;
    position: relative;
    background-color: red;
}
.content {
    margin: auto;
    max-width: 600px;
    height: 300px;
    background-color: gray;
}
table {
    width: 200px;
}
于 2013-08-01T12:02:58.150 回答
1

display: inline-block;.contentCSS 类中移除

演示

于 2013-08-01T12:01:01.360 回答
1

实际上,不采用宽度父级的内联块元素仍然包含宽度,因为内联块元素位于块和非块或内联之间的中间。所以,当你谈论这个元素是 inline-block 时,然后谈论父文本对齐中心。

这里的代码:

答案一:

.main-container {
    max-width: 800px;
    margin: auto;
    position: relative;
    background-color: red;
    text-align: center;
}
.content {
    margin: auto;
    max-width: 600px;
    height: 300px;
    background-color: gray;
    display: inline-block;
    text-align:left;
}

table 
{
    width: 200px;
}
<div class="main-container">
    <div class="content">
        <table>
            <thead>
                <tr>
                     <h1>Name</h1>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <input type="text" Text="" id="txt">
                </tr>
            </tbody>
        </table>
    </div>
</div>

答案 2:

.main-container {
    max-width: 800px;
    margin: auto;
    position: relative;
    background-color: red;
}
.content {
    margin: auto;
    max-width: 400px;
    height: 300px;
    background-color: gray;
}

table 
{
    width: 200px;
}
<div class="main-container">
    <div class="content">
        <table>
            <thead>
                <tr>
                     <h1>Name</h1>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <input type="text" Text="" id="txt">
                </tr>
            </tbody>
        </table>
    </div>
</div>

于 2019-03-20T13:02:34.807 回答