淘先锋技术网

首页 1 2 3 4 5 6 7

css的四种定位方法图片

CSS 有四种常用的定位方法:静态定位(static)、相对定位(relative)、绝对定位(absolute)和固定定位(fixed),其中相对、绝对和固定定位的元素均可以使用“top”、“left”、“right” 和“bottom” 属性来控制其位置。 静态定位是默认的定位方式,不需要任何属性进行设置,所有元素都是静态定位,而静态定位的元素位置不会受到“top”、“left”、“right” 和“bottom” 属性的影响。 相对定位会使元素相对其原本位置进行定位。相对定位时,元素不会脱离文档流,因此仍会占用原来的空间,同时可以通过“top”、“left”、“right” 和“bottom” 属性进行位置调整,值为正数向下或向右移动,负数则向上或向左移动。


div {
  position: relative;  /*相对定位*/
  top: 20px;  /*向下移动20像素*/
  left: 20px;  /*向右移动20像素*/
}
绝对定位与相对定位类似,但元素会脱离文档流,不再占用原来的空间,因此可能会导致布局上的问题。绝对定位是相对于最近的定位祖先元素进行定位,如果没有定位祖先元素,则使用文档的 body 元素。使用“top”、“left”、“right” 和“bottom” 属性进行位置调整。

div {
  position: absolute;  /*绝对定位*/
  top: 50px;  /*距离定位祖先元素顶部50像素*/
  left: 50px;  /*距离定位祖先元素左边50像素*/
}
固定定位是相对于 viewport 进行定位,不随页面滚动而变化。同样,也可以使用“top”、“left”、“right” 和“bottom” 属性进行位置调整。

div {
  position: fixed;  /*固定定位*/
  top: 0;  /*距离 viewport 顶部0像素*/
  left: 0;  /*距离 viewport 左边0像素*/
}
除此之外,CSS 还提供了“sticky” 定位,可以将元素粘在 viewport 上或者相对定位元素上的某个位置上。但由于该定位在不同浏览器中有较大差异,可以使用 JavaScript 来实现兼容性的“sticky” 效果。