绝对定位的元素相对于谁来定位,我们就把这个"谁"叫着参照物,我们结合上面的讲解来看看下图就明白了 : 我们看一下在浏览器里的效果,我们先看看没有使用绝对定位时的样子:
然后我们给第二个块设置绝对定位:position:absolute 然后再设置一个偏移:left:150px;top:40px; 这时就变成了下图所示:
还有一点就是:在设置偏移量的时候,我们可以设置负值。 好了,既然理解了相对定位和绝对定位,那我们应该怎么把它们运用到实际案例中呢? 首先我们来看看下图: 在上图中的去购物车结算按钮左上方有一个红色的小块,用来显示购物车中有几件商品,大家在没学会绝对定位之前可能不知道这个红色的小块要怎么实现,但是现在刚刚学了绝对定位,这个问题就不再是问题了。 我还是亲自来做一下吧,我们先把这个背景图片弄出来: 然后我们写HTML: 155 去购物车结算
上面HTML代码中的 span元素就是那个用来显示购物车中商品数量的小红块,a元素中是文字描述,b元素是最右边的小三角。 我们来看一下CSS代码: .cart_btn{width:120px;height:30px;background:url(images/picA.png) no-repeat -17px 7px#f7f7f7;border:1px solid #eee;padding-left:30px;position:relative;_padding-top:5px;_height:25px;} .cart_btn span{background:url(images/picA.png) no-repeat -36px -54px;padding-left:7px;position:absolute; top:-12px;left:20px;} .cart_btn span i{float:left;height:20px;background:url(images/picA.png) no-repeat right-25px;padding-right:5px;font-style:normal;color:#fff;font-size:14px;} .cart_btn a{color:#aaa;text-decoration:none;font-size:14px;padding-left:15px;line-height:30px;} .cart_btn b{display:inline-block;border-color:transparent transparent transparent #CCCCCC;border-style:dashed dashed dashed solid;border-width:5px;height: 0;overflow: hidden;width: 0;} 上面CSS代码中我们把购物车图标作为.cart_btn的背景,这里我们发现一个问题,就是那一张图片上有三个图标,大家也发现了,我三个用到图标的元素都是用这一张图片做背景,但是显示的却不一样,这里就用到了我们前面讲过的背景定位问题,不会的朋友可认去看看前面的第十一讲: css背景属性background详细讲解-使用背景图片 CSS中的内容是什么意思这里就不讲了,要讲的话就跑题了,这些都是基本的东西,除了那个CSS三角形之外,其它的如果都还不会,那你肯定没有好好看前面的文章。再说你实在不懂的话也可以去查一查参考手册 最后我们来看看浏览器里的效果: absolute定位相对于文档body(并非窗口,相对于窗口定位的是fixed)【注意两者的区别,可以通过一张图来理解,红色边 框是窗口body的边框,紫色背景色是文档body 的部分 】
以上就是详解CSS的相对定位和绝对定位的内容,更多相关内容请关注PHP中文网(HdhCmsTestgxlcms测试数据)!