下面的css为什么用绝对定位?用相对定位不更好吗?
.deleteDiv{position:absolute;top:-5px;left:65px;width:29px;height:20px;line-height:20...
.deleteDiv{position: absolute;top:-5px;left:65px;width:29px;height:20px;line-height:20px;}
展开
3个回答
展开全部
这里用绝对定位应该是作者考虑了当时的情况,你没有给出<img>和<p>的样式,不好直接就说相对定位更好。
从你提供的这些内容来判断, deleteDiv 应该是作者想放在<li>内部右上部位的,而在这个div之前还有img和p两个同级别块元素,如果用相对定位,deleteDiv就会受到img和p的影响。
大多数时候,用绝对定位是比较方便省事的,因为定位精确,且不容易受到同级元素的干扰。
从你提供的这些内容来判断, deleteDiv 应该是作者想放在<li>内部右上部位的,而在这个div之前还有img和p两个同级别块元素,如果用相对定位,deleteDiv就会受到img和p的影响。
大多数时候,用绝对定位是比较方便省事的,因为定位精确,且不容易受到同级元素的干扰。
更多追问追答
追答
其实很简单,按你的想法来写一下代码,把绝对定位改成相对定位,看能否实现最初开发时的需求,或者看下实现同样的需要,用绝对定位是不是比用相对定位能节省更多的代码(工作量)。
在你这个例子中,用了相对定位,deleteDiv的位置就会相对于img和p来变动,这样就得把img和p标签也给定死,可是img也许图像大小是不固定的,p标签的内容也许也不是固定大小的,这样就不适合把img和p定死
简单来说,如果对deleteDiv做相对定位,就不得不对img和p标签做更多的样式管理,而用绝对定位只要把deleteDiv自己定好位置就行,不受同级别其它元素影响,显而易见的,在这个例子中,用绝对定位会更加合适。
======
补充:
从你在别人追答中发的效果图看,img p div三个元素并不是从上而下顺序排列的,第三个元素div反而要在中间的位置显示,这样的话,用相对定位就很难做到,还是直接对Div进行绝对定位,而不用管img 和p ,这样最方便
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询