html - 水平对齐按钮

标签 html css button

我正在尝试使用 CSS 水平对齐按钮。这是我的标记:

<button type="button" class="primary-button download-button">Download</button>

还有我的相关 CSS:

.primary-button {
    font-family: Arial, sans-serif;
    font-size: 1.3em;
    color: #fff;
    border: 1px solid #004487;
    background-image: -webkit-gradient(linear, top, bottom, from(#5288bd), to(#2f659a));
    background-image: -webkit-linear-gradient(top, #5288bd, #2f659a);
    box-shadow: inset 0px 1px 0px rgba(255, 255, 255, 0.4), inset 0px 0px 0px 1px rgba(255, 255, 255, 0.2), 0px 1px 0px rgba(255, 255, 255, .7);
    text-shadow: 0px -1px 0px black;
    cursor: pointer;
}

.download-button {
    padding: 10px 20px;
    border-radius: 5px;
    display: block;
    margin: 10px auto 0px auto;
}

但是,它仍然是左对齐的。我认为设置 margin: 10px auto 0px auto; 会水平对齐它,因为它现在是 block 元素,但显然不是。

我也尝试过将它包装在一个 div 中并使用 text-align: center 但这也不起作用。

最佳答案

给按钮一个宽度。看到这个 jsFiddle example.

.download-button {
    padding: 10px 20px;
    border-radius: 5px;
    display: block;
    width: 130px;
    margin: 10px auto 0px auto;
}​

没有宽度,你试图将一个 block 级元素居中,它是它容器的整个宽度。通过明确设置宽度(例如按钮上的 130 像素),边距居中规则有效。

关于html - 水平对齐按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10935878/

相关文章:

Javascript onclick 函数更改元素的所有实例?

html - 带有两行标题的 Bootstrap 3 选项卡

javascript - jQuery CSS 浏览器的不同结果

javascript - 能够在向下滚动弹出窗口时访问内容

android - 如何在 Android 中创建一个带有 fontawesome 字符串作为 "icon"和普通文本作为标签的按钮?

html - 我在尝试将按钮放在导航栏旁边时遇到问题

html - css3 多个具有不同持续时间的动画

html - 在垂直布局中结合固定和流动

css - 媒体查询最小宽度不考虑低于一定宽度的设备

html - 如何使这些 div 元素正确显示?