保证金:0px auto;不会中心元素

时间:2015-08-15 11:53:30

标签: html css

我正在尝试使用保证金将我的按钮'浏览器组合'居中:0px auto; 。请有人可以使用下面的html和CSS来解释为什么这不起作用?

<div class="portfolio">
    <div class="container">
        <h3>Portfolio</h3>
        <div class="group1">
            <img src="http:....." style="height: 506px; width: 675px">

            <div class="group2">
                <h3>Client</h3>
                <h4>JPMorgan</h4>
                <h3>Role in Project</h3>
                <h4>Project Lead</h4>
                <h3>Project Included</h3>
                <h4>Mobile and Web Interface</h4>
                <a href="#">Browser</a>
            </div>
        </div>
        <div class="group3">
            <a href="#">Browser Portfolio</a>
        </div>
    </div>
</div>

<style>
    .portfolio .group3 {
        font-size: 0.9em;
        padding: 0.7em 1.5em;
        color: #5EC7E5;
        border-radius: 5px;
        font-weight: 600;
        border: 1px solid red;
        position: relative;
        margin: 0px auto;
        display: inline-block;
        width: 100%;
    }
</style>

3 个答案:

答案 0 :(得分:3)

要使用margin: auto来居中元素,他们必须使用display: block并具有明确的宽度。

将此类添加到您的CSS将使其工作:

.group3 a {
    display: block;
    width: 110px;
    margin: 0 auto;
}

或者,您可以使用text-align: center作为其他答案。

请参阅JS Fiddle:http://jsfiddle.net/rbuzach0/

修改:当您问为什么某些属性没有从您的<div>包含到您的<a>时,这里有一个列表(来自CSS2.1规范) ,但这就是我能用简洁的形式找到的,哪些属性会继承,哪些属性不会:http://www.w3.org/TR/CSS21/propidx.html

检查“继承?”柱。你会看到Display和Margin都没有继承。

答案 1 :(得分:1)

只需将text-align:center添加到.group3元素:

.group3 {
     text-align:center;
}

http://jsfiddle.net/8stggrpy/

如果在对象上指定了已应用margin的宽度:0 auto to,则该对象将集中在其父容器中。

答案 2 :(得分:0)

在CSS中定义文本对齐:

添加此行

.portfolio .group3 {
text-align: center;  //Missing in your code.
}

参见演示here