HTML 位置 :relative

标签 html css position

给定以下CSS

li.menuitem{
position:relative;
top:0;
left:20px;
display:inline;

我希望每个 li 比没有相对位置时更靠左 20 像素。

但是,当我更改 left, all 的值时,如果菜单项相对于左侧位置一起移动,会发生什么情况。换句话说,元素之间的空间不会改变。

虽然还有其他方法可以实现我想要的效果,但我很好奇为什么两个元素都移动了,但两者之间的距离却没有改变。

谢谢, -dmd-

最佳答案

因为这就是 margin-left 的用途。

举个例子:如果你和我并排走,我们都向前走 20 步,你和我仍然是并排的。

同样,position: relative 不考虑周围其他 position: relative 元素的新定位。它们都相对于它们自然所在的位置移动,而不是相对于其他元素现在所在的位置。

MDN entry对于 position: relative 状态:

This keyword lays out all elements as though the element were not positioned, and then adjust the element's position, without changing layout (and thus leaving a gap for the element where it would have been had it not been positioned).

关于HTML 位置 :relative,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37512718/

相关文章:

php - 如何在 HTML 网站上以 list 形式显示 MySQL 数据?

css - Div高度100%格式化问题

python - 在 Pelican 静态网站中托管原始 HTML 页面

html - @font-face 不在本地或浏览器中显示

html - 为什么我的菜单栏不能居中?

html - Chrome 打印时莫名其妙的空白区域

jquery - 更改 jQuery 下拉菜单的样式

jquery - 如何在共享按钮上获得白色/黑色效果?

html - Tailwind - 绝对位置与相对位置下拉列表

css - 如何使 float 元素列表跳过居中元素(书脊对齐/中心标记)?