无法在 AngularJS ui-view 中居中链接

Posted

技术标签:

【中文标题】无法在 AngularJS ui-view 中居中链接【英文标题】:Cannot center link in AngularJS ui-view 【发布时间】:2015-10-01 01:10:12 【问题描述】:

我有一个看起来像按钮的链接,需要水平位于页面中心。

这是链接:

<a href="#top" target="_self" class="btn btn-info btn-xs">Return to Top</a>

我试过了:

style = "margin: 0 auto"
style = "text-align: center"
class="btn btn-info btn-xs center-block"

没有任何作用。是因为我的 ui-view 是这样设置的吗?

<div class="col-md-10 col-md-offset-1">
    <ui-view></ui-view>
</div>

我该怎么办?

【问题讨论】:

要使用margin: 0 auto,您需要为链接设置一个固定的width。如果它不是一个选项,text-align: center 需要应用于&lt;ui-view&gt;&lt;/ui-view&gt; 并且可能是width: 100% 【参考方案1】:

您可以将按钮包装在 div 中,并将 text-center 类添加到 div 中,如下所示:

<div class="text-center">
  <a href="#top" target="_self" class="btn btn-info btn-xs">Return to Top</a>
</div>

【讨论】:

您好 jme11,这里的问题实际上不仅仅是按钮居中。这里的主要问题是......没有宽度使按钮居中。看看我的小提琴。并阅读 Imgonzalves 的另一个答案。 @AngularJR - 实际上,div 是块级元素。因此,它将自动占用父元素宽度的 100%。该按钮是一个内联元素,因此当您将其包装在一个 div 中并添加 text-center 类时,该类只需添加 text-align: center,按钮就会居中。如果你愿意,可以测试一下。 嗨,我明白了,但是这个人在这里没有使用div 元素。是的,如果使用您的 div 示例会这样做。但是这个例子使用的是&lt;ui-view&gt;&lt;/ui-view&gt;。再看看小提琴第二块。【参考方案2】:

axc,您好。正如Imgonzalves所说的那样。 你需要给 center 里面的东西一些宽度。

看看这个Fiddle。 您将看到按钮的顶部块居中。 使用放置在父级中的引导类text-center,然后它将使该div内的所有文本和其中的所有文本居中。 父级具有宽度,因为它使用类col-md-10

此演示中的第二个橙色块向您展示了您尝试执行的操作。

希望这表明您需要给 div 一些宽度以使按钮居中。

【讨论】:

谢谢,但是center-block不应该自动将按钮放在页面中间吗? @AngularJR 嗨,在这种情况下是和否。正如你在我的小提琴和第二个橙色块中看到的,我给&lt;ui-view class="block2 text-center"&gt; 一个颜色重做橙色并给它一些左/右填充,这样我们就可以看到这个块在哪里。但是这个块在左边,只有按钮的宽度加上填充。因为&lt;ui-view&gt; 没有继承父级的全宽。这就是为什么我们在这种情况下说,&lt;/ui-view&gt; 需要指定一个宽度。目前宽度只是按钮的宽度。这是否有助于在这里看到差异。 @AngularJR 你必须明白浏览器基本上会忽略它遇到的任何非标准标签。这就是html 2 规范告诉他们要做的事情。这就是为什么,如果我们想要支持non-standard browsers like IE8,我们必须自己为它们创建 CSS 规则,或者只使用指令作为属性。在这种情况下,我们将 ui-view 指令视为不存在,然后继承来自 col-md-10 div。

以上是关于无法在 AngularJS ui-view 中居中链接的主要内容,如果未能解决你的问题,请参考以下文章

angular-ui-grid 在嵌套的 ui-views 中无法正确呈现

如何在 ui-router angularjs 中保持父级相同的同时仅更改子级 ui-view?

Angularjs-ui-router,ui-view 不工作。

angularJs ui-router路由之多视图实现菜单缓存切换

base.html 中的 js 未应用于 ui-view 中加载的 angular/materializecss 模板

ng-click 不触发,深入 ui-views