Bootstrap:居中任意跨度

Posted

技术标签:

【中文标题】Bootstrap:居中任意跨度【英文标题】:Bootstrap: center any span 【发布时间】:2013-04-22 17:31:28 【问题描述】:

我在使用类将span 居中时遇到问题:

.center 
    float:none;
    margin-left: auto;
    margin-right: auto;


<div class="row-fluid">
    <div class="center span5">
    <button></button>
    </div>
</div>

这不起作用,显然它被 bootstrap row-* CSS 覆盖。但是,如果我直接在 div 中包含相同的样式 (style="..."),它会起作用。

我认为它不起作用,因为它不知道宽度,所以我尝试使用偏移量,但是当按钮没有居中以及使用 .CSS 时。我无法指定宽度,因为我的 button 宽度是由外部 javascript 设置的。

在这种情况下如何使 .center 类工作?

【问题讨论】:

【参考方案1】:

从 Bootstrap 2.3.0 开始,您可以使用内置类 .text-center

<div class="row-fluid">

    <div class="span12 text-center">

    My content to be centered here

    </div>

</div>

它对我来说非常有效...... :)

【讨论】:

谢谢!这绝对是最干净的方法。【参考方案2】:

您可以将其居中:

.center 
   margin: 0 auto !important;
   float: none !important;

JSFiddle

或者你可以使用:

.row-fluid [class*="span"].center, .center 
    margin: 0 auto;
    float: none;

我倾向于避免使用!important,因为你永远不知道它何时可能与其他一些 CSS 不同。有趣的是,上述影响在 .row 和 .row-fluid 上都不同。

【讨论】:

请不要使用!important。这是一把大锤。如果你使用它然后想要覆盖它,那么你就不能把东西加倍!重要,所以你又遇到了同样的问题……只是到处都有 !important。 同意。起初我没有注意到它是row-fluid,并在我最初的调整中尝试了row(参见unnumbered JSFiddle)。这是我的第一次调整,让它工作,然后我让它在没有它的情况下工作。 与第二个解决方案配合得很好,很好!【参考方案3】:

使用自动边距方法时,必须为元素定义宽度。可以是任何单位,但必须定义:

.center 
    width: 50%;
    margin-left: auto;
    margin-right: auto;

:)

【讨论】:

我添加了宽度,但不知何故 span5 仍然没有居中,它的大小是正确的,当我检查元素时我看到它但它确实没有居中:/。【参考方案4】:
.class 
    margin:auto; 
    display:table;

不知道为什么,但它总是像魅力一样发挥作用。

【讨论】:

【参考方案5】:

我认为它不起作用,因为它不知道宽度

这不可能是真的,因为:

如果我直接在 div 中包含相同的样式 (style="...") 它可以工作

…如果它在一种情况下不知道宽度,那么在另一种情况下它也不会。

如果使用style 属性有效,那么这表明问题是一种特殊性。编写规则集的选择器,使specificity 大于覆盖这些属性的任何规则的选择器(或者使特异性相等,但规则集稍后出现在样式表中)。

您可以使用浏览器的开发者工具来查看哪些规则被应用到元素上,这样您就可以看到您必须比选择器更具体的选择器。

【讨论】:

确实,感谢您的解释!我接受了 pickypg 的回答,因为他提供了修复的代码示例。【参考方案6】:

对于 Bootstrap 4。说家长div你可以输入这个:

class='... justify-content-center text-center m-auto'

justify-content 用于普通情况

【讨论】:

m-auto 对我来说不是必需的

以上是关于Bootstrap:居中任意跨度的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 3网格行跨度

Bootstrap 4 Beta 0 网格系统上的行跨度

bootstrap布局中的 图片如何垂直居中

bootstrap居中

Twitter Bootstrap Legacy:跨度上的统一高度

bootstrap中文字如何做到垂直居中呢?