卡片 position: relative;角标 position: absolute; top: 8px; right: 8px。
卡片宽度变化时角标始终贴在右上角,标题与价格的正常流不被挤压。
产品与设计 · 布局基础
选对 position 与定位参照,让元素在正常流、父级或视口之间保持可预测的位置。
同一个「新品」角标,选不同 position、切换父级是否定位、拖动偏移与滚动,观察角标的位置、占位框的有无和锚点读数。
当前 position: absolute:角标脱离正常流(占位框消失),锚定到最近定位祖先——父级卡片。下一步:取消「父级 position: relative」,看锚点跳到谁。
面板里刚看到的差异,命名并总结如下;离流与否、相对谁是判断的主轴。
position≠static 的祖先决定;一个都没有就落到初始包含块(视口)。先有具体症状或需求,再选值;别把 position 当成万能对齐工具。
relative + 子级 absolute。fixed,并留安全边距、可关闭路径与键盘焦点。sticky(详见 sticky 卡)。relative,原位仍占位。最短路径是先定参照系,再设值,最后用真实宽度与滚动验收。
position: relative(或让它成为滚动容器)。position + top/right/bottom/left。目标都是把「新品」角标放在卡片右上角;只改定位与父级参照,看用户后果。
卡片 position: relative;角标 position: absolute; top: 8px; right: 8px。
卡片宽度变化时角标始终贴在右上角,标题与价格的正常流不被挤压。
角标靠 margin-left/margin-top 推到右上;或父级未设 relative 就 absolute。
宽度一变角标就错位;或角标跑到页面角落,因为定位祖先不是卡片。
做一个滚动时始终贴住屏幕右下角的「在线客服」按钮,该选哪种 position?为什么不是 absolute?
术语的技术定义和行为以这些一手或权威资料为准。
和本知识点经常一起出现的概念。