绝对定位 的元素基于最近的 position 为 relative/absolute/fixed 祖先元素进行定位。如果没有找到 position 为 relative/absolute/fixed 的元素,则基于是以整个 canvas (渲染内容的空间) 的坐标原点(左上)为基准,以 viewport (也就是浏览器视窗内渲染 HTML 的空间)为大小的矩形进行定位, 并不是基于根元素定位 。
固定定位 的元素基于viewport(浏览器视窗)进行定位。
1. 绝对定位 和 固定定位 的元素若没有设置 top/right/left/bottom 的值。其位置为原来在文档流中的位置。其他文档流元素会占据其原来位置。
要使绝对定位或固定定位的元素水平居中,需要设置其 width 为固定值,并且 left: 0; right: 0; 。
2. 绝对定位 和 固定定位 的元素,若其宽度 width 或高度 height 的单位为 百分比 ,宽度和高度值是相对于其基于定位的元素计算的。(在使用一些stick插件时尤其要注意这点)。
例子
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>
<body style="height:1000px;">
<div>
<div id="nomove" style="background:#999999; width:100px; height:100px; left:0; bottom:0; position:fixed;">
</div>
</div>
</body>
</html>
时间: 2024-10-28 03:40:34