CSS里的定位主要有几种方法?

html-css056

CSS里的定位主要有几种方法?,第1张

定位方案有四种:静态定位、相对定位、绝对定位和固定定位。你可以使用CSS 3中的「position」属性来决定要使用的定位方式。

在这四种方案中,静态和相对定位不会影响整个文档的布局,而绝对和固定定位会与文档分开,因此页面不会为这两种类型的定位元素保留空间。 在默认状态下,所有元素都是静态放置的,即元素从上到下以及从左到右的顺序排列。

只要为元素设置了“ position”属性,就可以使用“ top”,“ right”,“ bottom”和“ left”属性精确定义其位置。

扩展资料:

相对定位中的“top”,“right”,“bottom”和“left”用于设置距元素原始位置的偏移量,但是绝对定位的四个属性不同。

在绝对定位中,“top”是指所定位元素上方的外部边界与容纳块上方的内部边界之间的距离。 换句话说,已定位元素的边距和包含块的边界将影响top的值,进而影响绝对定位元素的位置,但包含块的填充将不起作用。

在相对定位中,“top”是指被定位元素上方的外边界与其原始位置的上边缘之间的距离。“bottom”的含义类似于“top”,是指定位元素下方的外部边界与容纳块下方的内部边界之间的距离,“left”和“right”也是如此。

div的层叠关系吧,

<div class="div1"><div class="diva">form1</div><div class="divb">form2</div></div>

<style type="text/css">*{margin:0padding:0}.div1{width:500pxheight:500pxposition:relative}.diva{width:200pxheight:200pxposition:absolutetop:0left:0z-index:1border:1px solid #ccc}.divb{width:100pxheight:100pxposition:absolutetop:50pxleft:50pxz-index:11 border:1px solid #ccc}</style>

细节自己修改,border:1px solid #ccc这个只是用来显示参考的,没实际作用

不懂可以追问

在谈论如何使用时。我们先来看看CSS对position属性的相关定义:

static:无特殊定位,对象遵循正常文档流。top,right,bottom,left等属性不会被应用。

relative:对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。

absolute:对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。

什么是文档流? 文档流是将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,即为文档流。只有三种情况会使得元素脱离文档流,分别是:浮动、绝对定位和相对定位。

在实际开发当中,通常都是我们相对定位搭配绝对定位使用。例如下面伪代码

<div class="content">

<div id="content_body1"> //图片代码块

</div>

</div>

CSS

.content{

clear: left

margin: 0 auto

position: relative

width: 990px

}

.content_body1{

overflow: hidden

position: absolute

}

这里用两个div包了一个图片段代码。外层div采用了相对定位,内层采用了绝对定位。 为什么这样做呢? 这样的好处