问题描述 之前在项目中,遇到了一个场景,需要实现相对于父元素的fixed定位:在父元素内拖动滚动条时,"fixed"定位的元素不能滑动,在外层拖动滚动条时,父元素及父元素内的所有元素跟着一起滑动。但是position: fixed是相对于窗口进行的定位,不能直接实现我们需要的效果。在网上搜索看到 ...
尝试方案 父元素relative定位,子元素fixed,但是没法直接实现 解决方案 我们想让特定子元素相对于父元素 fixed 定位,也就是说,剩余的子元素不定位。 那我们可以分开来想,如果添加一个祖先元素assistor,有两个祖先元素,一个用于辅助定位,一个用于包裹不定位的内容,这个问题不就解决了吗。像这样 child是我们要定位的元素 具体原理:child: absolute 的元素会相对于 ...
2020-11-10 11:51 0 736 推荐指数:
问题描述 之前在项目中,遇到了一个场景,需要实现相对于父元素的fixed定位:在父元素内拖动滚动条时,"fixed"定位的元素不能滑动,在外层拖动滚动条时,父元素及父元素内的所有元素跟着一起滑动。但是position: fixed是相对于窗口进行的定位,不能直接实现我们需要的效果。在网上搜索看到 ...
首先,大家都清楚,元素使用fixed之后,若不设置top与left则会相对于最近的使用定位的父元素,并位于父元素的原点位置设置top与left值时,则会相对于窗口定位。但无论如何,此时仍相对于窗口定位,在此不过多描述。 今天发现的是当某一元素使用transform属性后,其所有使用fixed定位 ...
借知乎的回答如下解释: 首先,我想告诉你的是,如果父级元素是绝对定位(absolute)或者没有设置,里面的绝对定位(absolute)自动以body定位。这句话是错的。正确的是:只要父级元素设了position并且不是static(默认既是static),那么设定了absolute的子元素 ...
position:fixed是对于浏览器窗口定位的,要实现相当于父元素定位,可以这样: 不设置fixed元素的top,bottom,left,right,只设置margin来实现。 这种方法本质上fixed元素还是相当于窗口定位的,实现效果上是相对于父元素定位。 此外,position ...
之前在项目中,遇到了一个场景,需要实现相对于父元素的fixed定位:在父元素内拖动滚动条时,"fixed"定位的元素不能滑动,在外层拖动滚动条时,父元素及父元素内的所有元素跟着一起滑动。但是position: fixed是相对于窗口进行的定位,不能直接实现我们需要的效果。 我们想让特定 ...
position:fixed默认是相对浏览器定位的 原理:fixed定位相对父级容器定位,不添加:top,bottom,left,right样式,通过margin定位 代码:http://jsbin.com/tegodideyi/edit?html,css,output HTML布局 ...
position:fixed 默认是相对浏览器窗口定位的,本人无意中了解到它还有另一种用法,可实现相对父级元素定位。但这种用法本人认为滥用了该属性,一般不这么用,极少特殊情况可以选择这么使用。代码如下: <!DOCTYPE html> <html> ...
如果一个元素具有固定或相对大小,要使其不管如何调整窗口大小或滚动页面,始终位于浏览器窗口中间,可使用如下方法: 效果如图: 那如何让一个元素相对于其父元素水平垂直居中呢?首先,要把元素的position属性值改为absolute,使其有可能相对于父元素定位,而不是相对于浏览器 ...