html - 关于 "CSS Centering an Unordered List"的意见

标签 html css

在这个问题中,我不会问“如何”将无序列表水平居中,因为互联网上已经有大约 110000 个资源。

相反,我想问其中的“为什么”部分。

更准确地说,我们为什么要做this

ul {
   position:relative;
   left:50%;
}
ul > li {
   position:relative;
   right: 50%;
}

而不是这个:

ul {
   position:relative;
   left:25%;
}

当两者似乎都奏效时。 有什么想法吗?

最佳答案

原因是,因为第一种方法在每种情况下都将 ul 居中 - 独立于它有多少子 li

第二个解决方案将 ul 放在右边 25%,这在非常特殊的情况下有效,当 li 的宽度刚好占据 50% 时总宽度的一部分,但在任何其他情况下都会中断。

在父级上使用 left 并在子级上使用 right 是一种非常常见的做法,可以将具有动态尺寸(宽度)的子级居中处理动态内容时就是这种情况。

在某些情况下,text-align:center; 也可以工作,但当您必须使用绝对定位时会失败。

查看 example fiddle here .

关于html - 关于 "CSS Centering an Unordered List"的意见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12035751/

相关文章:

javascript - 当我们单击特定选项卡时,如何隐藏 Accordion 菜单项中打开的所有选项卡?

javascript - 如何在 Magento 网站页面上找到脚本的源文件?

HTML5/CSS/RWD - 在一个 div 中部署四个框

php - 如何在 WordPress 中启用图片库

html - 如何使用 flexbox 垂直定位 2x div

javascript - 为 html 中的按钮添加声音

jquery - 在 jQuery 中,如何为 "max-height"CSS 属性设置动画?

css - 如何使用 CSS 样式 AngularJS 指令?

html - CSS 选择器中的类名是否区分大小写?

html - float Bootstrap 列