利用浮动属性定位只能使元素浮动形成图文混排或块级元素水平排列的效果,其定位功能仍不够灵活强大。
本节介绍的在定位属性
下的定位能使元素通过设置偏移量
定位到页面或其包含框的任何一个地方,定位功能非常灵活。
为了让元素在定位属性下定位,需要对元素设置定位属性position
,position的取值有四种:
相对于它在原来的标准位置偏移指定的距离
。如果对一个元素进行相对定位(position: relative;),它将出现在它所在的位置上。然后,可以通过设置top、left
等属性值设置垂直或水平偏移量,让这个元素“相对于”它的起点进行移动。
如果将 top 设置为 20px,那么框将在原位置顶部下面 20 像素的地方;如果 left 设置为 30 像素,那么会在元素左边创建 30 像素的空间,也就是将元素向右移动。
position: relative;
left: 30px;
top: 20px;
id="box1"
>框1</div>id="box2"
>框2</div>id="box3"
>框3</div>下例中将段落标记设置边框和背景色便于观察效果,使标记em内的文字设为相对定位,即相对原来的位置分别向右、向下偏移60px和20px
position: relative;
left: 60px;
top: 20px;
} <em>为了用JavaScript技术来编写服务端事件驱动的工具集。</em>
什么意思?简单的说,技术编程的时候,根本不需要等待一个输入输出I/O
操作完成才能去进行另一个输入输出操作。对于Node.js来说,意味着它可以在服务端做所有数据运算等工作,减轻了客户端的压力。对于一些数据处理类的APP应用来说,像是像实时应用、搜索引擎Web爬虫、文件上传,流媒体技术等等,速度是至关重要的首要环节。</p>
设置元素为相对定位的作用可归纳为两种:
相对于它原来的位置发生位移
,同时不释放它原来占据的位置,上面的例子即是将某一标记相对于原来位置发生偏移;包含框
,一般是为了帮助里面的元素进行绝对定位
,本应用将在“绝对定位”一节中举例。margin:0 2px; /*设置了左右边界,使两个a元素间有4px的水平间距*/
border: 1px solid #3399FF;
float:left; /*使a元素浮动,实现水平排列*/
}position: relative;
right: 2px; /*使鼠标悬停在元素a上时,a相对于原来位置向左偏移2px,向下偏移3px
*/
top: 3px;
原理是:在img元素外套一个外围容器,将外围容器的背景设置为灰色,作为img元素的阴影,同时不设置填充边界等值使外围容器和图片一样大,这时图像就正好把外围容器的背景完全覆盖。
再设置图像相对于原来的位置往左上方偏移几个像素
,这样图像的右下方就露出了阴影盒子右边和下边部分的背景,看起来就是img元素的阴影了
position: relative;
left: -5px;
top: -5px;
class="shadow"
>原理是:设置container的定位是相对于它原来的位置,而它原来默认的位置是在浏览器窗口中左对齐,然后将其左边框移动到浏览器的正中央
,这是通过left:50%实现的,这样就找到了浏览器的中线,再使用负边界法将盒子的一半宽度从中线位置拉回到左边
,这样就实现了水平居中。
position:relative;
width:760px;
left:50%;
margin-left:-380px;
id="container"
>©版权所有: 淮安深度人工智能科技有限公司2020, 备案号:苏ICP备2020056902号-2 | 技术支持:淮阴工学院计算机与软件工程学院《Web开发技术》教学团队