最新回答 / ikonorion
是可以用,但没有效果而已。意思是0像素的顶部外边框距,是没有效果的。所以不需要写上这段代码。要达到“设置顶部与#mainbody顶部紧贴着”的效果,只需要:#mainbody{position:relative;}#content{position:absolute;top:0px;}就可以了。另:根据练习题要求“任务3. 请补充代码使#content与#sidebar之间的间距为20px”,你的代码应该是:margin-left:20px;而不是200px
2016-03-25
最赞回答 / 慕少7532173
题主的意思很明确,既然是脱离普通文档流,也没有设置top/left,那么元素应该就在整个HTML的左上角啊?这是因为我们对absolute的属性认知不完全而造成的。absolute具有跟随性,当没有设置top/left等偏移值时,这个元素只是脱离了文档流,会对后面的元素产生影响,但它自身原来在什么位置,现在还是在什么位置。另外,absolute的属性实在太猛了,建议多了解下。比如absolute跟float一样具有包裹性,即由内容撑开宽高,absolute会使inline元素块状化;当同时设置absolu...
2016-03-23
最新回答 / qq_惭愧惭愧_0
clear:both写在有决对定位的块中是没效果的 我试过了 可能是因为 有position:absolute的块也是脱离文档流的 所以三个都是脱离文档流的还是会 变成没内容 ,因此也就不占空间了,至于“这里#right块要是写了clear:both,为什么即使是写了position:absolute;top:0还是会排到#left之下呢?” 这个问题我能看下你写的样式吗
2016-03-21
最赞回答 / Acelit
你虽然设置了width:100%;但是mainbody的高度没有设置,完全是自适应的,子级块元素设置float后更能会撑破mainbody,导致mainbody无法正常显示,使用overflow:hidden;相当于一把剪刀,将包含子级块元素之外的部分剪裁掉,使mainbody的高度取到子元素高度的最大值。补充一句:如果你提前就设置了mainbody的高度,就不会出现子级块元素带来的影响了。但是,一般不会这样做,因为mainbody里面的内容不知道有多少,还是自适应比较合适。
2016-03-20