CSS 定位属性position

一、position 属性:规定元素的定位类型。即元素脱离文档流的布局,在页面的任意位置显示。

有4种不同类型的定位:

absolute :绝对定位;脱离文档流的布局,遗留下来的空间由后面的元素填充。定位的起始位置为最近的父元素(postion不为static),否则为Body文档本身。

relative :相对定位;不脱离文档流的布局,只改变自身的位置,在文档流原先的位置遗留空白区域。定位的起始位置为此元素原先在文档流的位置。

fixed :固定定位;类似于absolute,但不随着滚动条的移动而改变位置。(一般很少用,浏览器不兼容!)

static :默认值;默认布局。

二、position属性只是使元素脱离文档流,要想此元素能按照希望的位置显示,就需要使用下面的属性:

left : 表示向元素的左边插入多少像素,使元素向右移动多少像素。

right :表示向元素的右边插入多少像素,使元素向左移动多少像素。

top :表示向元素的上方插入多少像素,使元素向下移动多少像素。

bottom :表示向元素的下方插入多少像素,使元素向上移动多少像素。

上面属性的值可以为负,单位:px,%。

二、position属性的应用

<style type="text/css">
div {
	width: 100%;
	height:500px;
	border:1px solid gray;
	padding:10px;
/*	margin:10px;*/
}
.d1{
	width:100px;
	height:50px;
	border:1px solid green;
	/* 绝对定位: */
	<!--position:absolute;
	left:100px;
	top:150px;-->
}

.d2{
	width:100px;
	height:50px;
	border:1px solid green;
	background:#FCF;
}

</style>
</head>


<body>
<div>
  <div class="d1">div1_absolute</div>
  <div class="d2">div2</div>
</div>

  (1)absolute 绝对定位:

 (1-1)如果没有已经定位的祖先元素,那么会以浏览器窗口为基准进行定位。

  

 效果:


  (1-2)如果以它最近的一个“已经定位”的“祖先元素” 为基准进行偏移.

.d1 {
	width:100px;
	height:50px;
	border:1px solid green;
	/* 相对定位:作为参考点 */
	position:relative;
	left:50px;
	
}
.d2 {
	width:100px;
	height:50px;
	border:1px solid green;
	background:#FCF;
	/* 绝对定位: */
    position:absolute;
	left:150px;
	top:150px;
}


效果:


  (2)relative 相对定位:

  无论是在标准流中还是在浮动流中,都不会对它的父级元素和相邻元素有任何影响,它只针对自身原来的位置进行偏移。


.d1 {
	width:100px;
	height:50px;
	border:1px solid green;
	/* 相对定位:作为参考点 */
	position:relative;
	left:50px;
	top:50px;
	
}
效果:


 

综合应用:

<style type="text/css">
#pic {
	width:60%;   /*宽度*/
	position:relative;  /*参考点*/
	border:1px solid green; /* 边框*/
	padding:80px;
	margin:0px auto; /*  水平居中*/
}
.bno {
	position:absolute; /*绝对位置的偏移 */
	left:100px;
	top:90px;
}
.title {
	position:absolute;  /*绝对位置的偏移 */
	left:-12px;
	top:15px;
}
</style>
</head>

<body>
<div id="pic">
  <div class="title"><img src="image/bg_bang.gif" alt="title" /></div>
  <img src="image/book-01.jpg" width="260" height="260" />
  <div class="bno"><img src="image/bookNo1.gif" width="27" height="48" /></div>
</div>
</body>


效果:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值