同一个div里的两个元素,为什么前面的用定位,后面的用浮动,浮动会被盖住,后面的用定位就可以出来?

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title><style... <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style type="text/css">
.k1{
width:600px;
height:300px;
border: 1px solid;
margin: 100px auto;
position: relative;
}
.k2{width: 600px;
height:200px;
background: green;

position: absolute;
top:0;
left: 0;}

.k3{
/*float: left;*/
position: absolute;
}

</style>
</head>
<body>
<div class='k1'>
<div class="k2"></div>
<div class='k3'>2222</div>
</div>

</body>
</html>
把class为k3的css定位注释掉,放出浮动,汉字2222就会被遮住,用定位不用浮动就遮不住,求解释。
问题:原本style里的k3里的float:left;的注释取消掉,然后把position:absolute注释掉,k3内容会消失;但是如果是注释的是float:left;而不是position:absolute;则2222会显示出来
展开
 我来答
小花猫等你宠28
2017-08-24
知道答主
回答量:26
采纳率:0%
帮助的人:10万
展开全部
absolute是浮动层,浮动层位于普通层之上,所以K3没有浮动时会被K2盖住。如果需要像你说的那样K3去掉浮动还能显示就需要通过z-index设置浮动层的叠加位置,把K2的z-index设置成-1就会显示K3了(普通层的z-index相当于0,设置成-1就把K2放在K3下面了)
跟float:left就没有关系,float:left只是表示这个层靠左.显不显示只跟absolute和z-index有关
i看世界影视剪辑
2017-08-24 · 注重细节,追求完美
i看世界影视剪辑
采纳数:387 获赞数:1010

向TA提问 私信TA
展开全部
定位会导致div脱离文档流,意思就是,本来占据的位置会没有了,所以后面的div就自动排到前面去了,而定位的元素默认的层级会高些,所以会导致把后面的div给挡住了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
多镶e
2017-08-24 · TA获得超过885个赞
知道小有建树答主
回答量:799
采纳率:50%
帮助的人:349万
展开全部
给你这一边文章你看看,相信你会明白的,我也是正在学习html+css.
http://www.cnblogs.com/wangfupeng1988/p/4322680.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式