1
83f420984 2019-05-11 21:04:59 +08:00 via iPhone
absolute 的元素的位置相对于最近的已定位祖先元素进行定位的,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块。
|
2
shenyu1996 2019-05-11 21:08:51 +08:00 via Android
还有全部 Zhi
|
3
shenyu1996 2019-05-11 21:10:27 +08:00 via Android
手滑发出去了 还有全部置 0 撑满页面这种骚操作
|
4
pinews OP |
5
qdxr 2019-05-12 00:23:33 +08:00 via Android
@pinews 看下 mdn 上关于 position 和 containing box 的内容估计还会被惊讶一下。我有次调嵌套模态框样式的时候,也重新认识了一下 position
|
6
birdrally 2019-05-12 01:16:20 +08:00 via iPhone
你不发例子,在这干说
|
7
hoythan 2019-05-12 01:59:43 +08:00
张鑫旭有对 这个参数的详细视频介绍,你看完世界观会变得。
|
8
rabbbit 2019-05-12 04:13:25 +08:00 1
position 中造成奇怪现象的常见原因:
1 如果同时拥有 top:0 bottom:0 和 height 和 margin: auto, 子元素会飞到中间去自动垂直居中.原因是上下两边自动被 margin-top 和 margin-bottom 补上了.这也是一种居中方法. 2 如果 fixed 元素的祖先元素有 transform 属性, fixed 元素会相对于这个祖先元素定位,而不是视口. 3 拥有 absolute/fixed 的元素会生成 BFC,可以理解成个盒子,内外互不影响.常见的影响有里面的 margin 不会穿透了, float 元素把容器撑了起来. 4 如果子元素是 absolute 元素, 且宽度值为百分比. 这个百分比值相对于父元素 padding + width 计算. 5 position 会改变层叠上下文, 如果两个元素压在一起的话会改变顺序. |
9
rabbbit 2019-05-12 04:23:15 +08:00 1
至于为什么 auto 的时候位置没变, MDN 说的很清楚, 没有的时候就不动这个元素
``` 对于绝对定位元素,元素将忽略此属性已 bottom 属性为准,如果此时设置 height: auto,将基于内容需要的高度设置高度;如果 bottom 也为 auto 的话,元素的垂直位置就是它假如作为静态(即 static)元素时该在的位置。 ``` https://developer.mozilla.org/zh-CN/docs/Web/CSS/top |
10
rabbbit 2019-05-12 04:27:15 +08:00 1
4 如果子元素是 absolute 元素, 且宽度值为百分比. 这个百分比值相对于父元素 padding + width 计算.
--> 4 如果子元素是 absolute 元素, 且宽度值为百分比. 这个百分比值相对于包含块的 padding + width 计算. |
11
hackyuan 2019-05-12 08:36:56 +08:00 via Android 1
作为过来人,友情提示不要折腾 CSS,能用就行,你专心学三四个月 JavaScript 可以和面试官吹牛逼了,三四个月 CSS 你还是一脸懵逼。
|
12
pinews OP |
13
rabbbit 2019-05-12 09:44:24 +08:00 1
|
14
lqzhgood 2019-05-12 10:44:34 +08:00
CSS 就是一个 奇淫技巧 支撑的 “语言”。
|
15
falcon05 2019-05-12 10:46:38 +08:00 via iPhone
css 就是依靠经验和积累
|
16
mostkia 2019-05-12 14:54:25 +08:00
你使用 position:absolute,如果不对父元素也做定位,那它有可能会跑到外太空去(其实就是跑到更上一级去寻找定有 postiton 定位的容器了)。css 其实难就难在太过松散,没什么规律,很多规则又互相影响,不踩一些坑没法写好的。
|
17
azh7138m 2019-05-12 17:33:54 +08:00
|
18
pinews OP |
19
wtf12138 2019-05-13 10:06:58 +08:00 1
absolute 什么时候相对于 body 了 你确定你学过 css 吗
|
20
yhyh 2019-05-13 15:50:01 +08:00
额。absolute 是相对父元素(带有 relative 的元素) 绝对定位, 你认为是 body 是 body 最外层的元素
|