html - CSS/HTML - 当自动边距似乎不起作用时,我如何才能居中?
问题描述
这是我的菜单的 CSS 的一部分:
ul {
text-align: left;
display: inline;
margin: auto;
width: 50%;
position: fixed;
top: 0;
list-style: none;
}
我试过了auto-margin left and right
。我尝试过的所有方法都没有导致整个页面以自身为中心。
这是我对上述菜单下的主“框”所做的。
.box {
margin: auto;
width: 50%;
padding: 20px;
background-color: #FFFFFF;
word-break: break-all;
}
整页来源在:https ://pastebin.com/56HbfaGM
同样困扰我的是不同的浏览器显示不同的结果。
多年来我没有对 HTML/CSS 做太多事情,如果这是一个超级基本的问题,我很抱歉。
我只是想知道一些更全面的居中方法。
解决方案
如果您margin: 0 auto
的元素是position: fixed
. 而且您不能margin: 0 auto
在inline
元素上使用。
您遇到的另一个问题是ul
元素的左侧有填充。您需要删除它以正确居中。
最后一个问题是,即使您成功地使ul
元素居中,它也不会看起来居中,因为由于背景是透明的,因此根据屏幕的宽度,元素的一部分不会被列表项填充。您可以通过添加background: #A4A4A4
为元素提供与ul
元素匹配的纯色背景来解决此问题,或者您可以通过在元素上使用来使元素li
居中。li
text-align: center
ul
以下是正确居中固定元素以及居中列表项的示例。
ul {
text-align: center;
display: inline;
padding: 0;
width: 50%;
position: fixed;
top: 0;
left: 50%;
margin: 0 0 0 -25%;
list-style: none;
}
推荐阅读
- javascript - ReactJS 切换汉堡菜单
- python - 循环将数据保存在目录中并在python上打印
- rabbitmq - 在rabbitmq中使用默认交换时,如何允许用户仅发布到特定(而不是全部)队列?
- java - 在一个 jar 中使用 Spring boot 2.x 构建 angular 11
- python - 定位 VideoCapture() 的网络摄像头设备 ID
- sql-server - SQL Server DMV(动态管理视图)未在具有 2 个索引的表上显示上次用户更新信息
- android - 如何将标识符附加到微调器项目?
- c++ - 骑士之旅问题编译没有结束
- input - 它显示系统指标的“无法解析/无效的布尔值”错误
- javascript - 错误 AttributeError:“NoneType”对象没有属性“内核”