1
rabbbit 2019-04-29 05:50:31 +08:00
|
2
rabbbit 2019-04-29 06:22:09 +08:00 2
|
3
pinews OP 不太明白,意思是 IE 是对的?
|
4
yushiro 2019-04-29 08:15:24 +08:00 via iPhone
外框绝对定位有宽度吗?如果没设宽度,那 img100%是多宽?
|
5
pinews OP @yushiro 原本是外框的外框是设定有宽度的,我原以为外框继承,然后 img 继承,没想到遇到绝对定位中断继承了,这个 100%是因为图片本身的尺寸和我想要的尺寸是一样的,所以我原以为 chrome 是正确的,ie 出 bug 了,现在看来并不是那么回事,所以请教大家的看法
|
6
pinews OP 换言之,绝对定位必须显性的声明宽度咯?
|
7
aa1072551507 2019-04-29 09:13:57 +08:00
你父元素都脱离文档流了,子元素怎么可能再去继承文档内的元素?很难理解吗.....
|
8
yushiro 2019-04-29 09:24:57 +08:00 via iPhone
@pinews 看来你对 position 的 absolute,relative,static 这 3 个属性需要再去复习一下。
尽量不要百度查,去 google 上搜 |
9
grewer 2019-04-29 09:25:55 +08:00
子元素也绝对定位试试
|
10
rabbbit 2019-04-29 09:47:33 +08:00
无法复现,给个 demo 吧.
如下这个结构在 ie 中是没问题的 <style> img { width: 100%; position: absolute; height: 200px; } </style> <body> <div> <img src="logo.jpg"> </div> </body> |
11
pinews OP <!doctype html>
<html> <head> </head> <body> <div style="position:absolute;"> <img src="http://toyota.com.cn/mainvisual/ad/32.jpg" style="width:100%;height:100px;" /> </div> </body> </html> |
12
pinews OP |
13
rabbbit 2019-04-29 10:29:21 +08:00
火狐的表现和 ie 一样,应该是 chrome 的实现不合标准.
|
15
b0x 2019-04-29 12:33:48 +08:00
1.不显式声明是 relative 的元素默认是 static.
2.absolute 元素的参照是离他最近的一个 relative 父元素. 如果都不是,则参照是 html. 3. 建议先引入 normalize.css,抹平各浏览器的默认样式差异 |
16
aa1072551507 2019-04-29 14:13:50 +08:00 1
@pinews 你外层 DIV 脱离文档,那么他的宽只会显式的继承有相对 /绝对 /flex 定位的父元素或者 body,你父 div 绝对定位之后都没有设置宽度即使以 body 进行参考那宽度也是 0,怎么可能显示出来更不要说子元素 IMG 了?
|
17
pinews OP @aa1072551507 body 宽度怎么是?
|
18
aa1072551507 2019-04-30 09:16:54 +08:00
@pinews 你想指的是 body 宽度为什么是 0? 我说过了 绝对定位只会显式的继承,跟父元素宽度多少没有干系
|