1

我有一个顶部带有选项卡导航的页面(此处为页面; 选项卡为“生产”、“故事与发展”等)。我想确保选项卡行在页面上水平居中。我如何才能做到这一点?如果我没弄错的话,现在是一点点偏离中心。

按照W3学校CSS中心页面,我通过设置接近:

显示:块;边距:自动;宽度:99%;

但我不确定这是否是正确/最佳的解决方案。是否有不需要设置的解决方案宽度:99%?

如果重要的话,这个网站是用WordPress构建的。

谢谢。

  • 假设所有浏览器默认页边距和填充仍然适用,99%是安全的。 2017年10月24日12:24
  • 你试过flex吗?类似于:.ut-nav-tabs{显示:flex;justify-content:中心;}.ut-nav-tabs li{边距:0 1px;}? 2017年10月24日12:30
  • flex方法应该适用于您,您可以使用上面的样式 2017年10月24日12:33

2个答案2

重置为默认值
1

你有两种方法可以做到这一点:

这个文本对齐:居中方法

.ut-nav-标签li{显示:嵌入式块;float:无;垂直对齐:顶部;}.ut-nav-tabs li:最后一个子级{边距-右:0px;}.ut-nav-标签{文本对齐:居中;}

只有当你声明文本对齐:居中在包含父元素上-父元素必须是块元素。嵌套的子元素必须是内联块元素(例如:显示:内联块)没有浮动他们宣布的规则,浮动s将否定以这种方式以及大多数其他方式水平居中对齐元素的任何尝试。

这个显示:柔性方法

.ut导航选项卡{显示:flex;justify-content:空间-圆形;}.ut-nav-标签li{float:无;边距-右:0px;}

这是块上的“新孩子”,是目前任何与CSS有关的对齐问题的“热修复程序”,我冒昧地说这是CSS的“jQuery”。无论如何,这是有充分理由的,柔性接线盒规则允许您指定总体对齐(水平和垂直),并允许浏览器进行所有精确定位的计算&这也是为什么也是一个流行的响应解决方案。

浏览器兼容性:不过,这是一个警告,柔性接线盒对旧式浏览器的支持较差或非常有限,较旧的浏览器可能会给您带来意外的结果,因此,如果担心这一点,您应该在生产代码中谨慎使用。

4
  • 好的,谢谢,成功了。我去了文本对齐:居中方法,因为您警告对的支持有限柔性接线盒。如果这两种方法都能很好地工作,我将继续使用支持度稍高的方法。一个挥之不去的小问题是屏幕宽度较低时的布局。元素变为轻微地不对齐(屏幕截图:imgur.com/uTIaT0D). 你可以看到它,尤其是445像素的屏幕宽度。对此有何想法?
    – 笼8f
    2017年10月25日13:40
  • 打得好。这些是您在列表项上声明的边距,您可以将其全部删除,也可以这样声明规则:.ut-nav-tabs li:nth-child(偶数){margin-right:0px;}为了这些决议。您可能必须以这种方式调整规则,以降低一些分辨率——这只是响应式设计的一部分(但这超出了此问题的范围)。您可以通过设置@媒体断点来声明设置屏幕大小所需的新规则(例如: @媒体(最大宽度:445px)) 2017年10月25日14:42
  • 请参见: smashingmagazine.com/2011/01/… 2017年10月25日14:42
  • 好了,大家都明白了。我将单独处理响应性。让我们考虑一下这个问题的答案。
    – cag8f型
    2017年10月26日5:03
0

我认为这样更好:

.ut-nav-标签{宽度:100%;文本对齐:居中;}.ut-nav-标签li{宽度:179px;float:无;显示:嵌入式块;缩放:1;垂直对齐:中间;}
1
  • 谢谢你。我采用了@UncaughtTypeError提出的解决方案。它起作用了,但我也有点犹豫要不要使用缩放属性。我从未见过它,所以我对它进行了一些研究。本页(css-tricks.com/almanac/properties/z/zoom)我有点害怕使用它。你使用它的动机是什么?这真的是为了解决IE中的渲染问题吗(正如文章所提到的)?
    – 笼8f
    2017年10月25日13:44

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策.

不是你想要的答案吗?浏览标记的其他问题问你自己的问题.