CSS中的定位
position 属性规定应用于元素的定位方法的类型(static、relative、fixed、absolute )。
HTML 元素默认情况下的定位方式为 static(静态)。静态定位的元素不受 top、bottom、left 和 right 属性的影响。position: static; 的元素不会以任何特殊方式定位;它始终根据页面的正常流进行定位.
position: relative; 的元素相对于其正常位置进行定位。设置相对定位的元素的 top、right、bottom 和 left 属性将导致其偏离其正常位置进行调整。不会对其余内容进行调整来适应元素留下的任何空间。
position: absolute; 的元素相对于最近的定位祖先元素进行定位(而不是相对于视口定位,如 fixed)。然而,如果绝对定位的元素没有祖先,它将使用文档主体(body),并随页面滚动一起移动。注意:“被定位的”元素是其位置除 static 以外的任何元素。
还有一个是重叠元素,应用也非常广泛,Z-index,Z-index 仅能在定位元素上奏效!最近我发现有几种情况这个是不会奏效的,我把情况和解决办法写在了下面;
①、父元素position为relative时,子元素的z-index失效。
解决:父元素position改为absolute或static
②、该元素没有设置position属性为非static属性。
解决:设置该元素的position属性为relative,absolute或是fixed中的一种。
③、该标签在设置z-index的同时还设置了float浮动
解决:float去除,改为display:inline-block;
2021-11-07 16:02:28