定位需要注意-20131214
程序员文章站
2022-07-12 21:30:36
...
在CSS中关于定位的内容是:position:relative | absolute | static | fixed
static 没有特别的设定,就是基本的定位规定,不能通过z-index进行层次分级。
relative 不脱离文档流,自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级。
文本流是什么:同级元素同时左浮的话,源代码在前的在左,依次向右拍;同时右浮的话,源代码在前的在右,依次向左排。
absolute 脱离文档流,通过 top,bottom,left,right 定位。选取其最近的父级定位元素,当父级 position 为 static 时,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。
fixed 固定定位,这里他所固定的对像是可视窗口而并非是body或是父级元素。可通过z-index进行层次分级。
CSS中定位的层叠分级:z-index: auto | namber;
auto 就是跟着父对象的定位
namber 无单位的整数值。可为负数
定位的原理:
可以位移的元素 (相对定位)
在本文流中,任何一个元素都被文本流所限制了自己的位置,但是通过CSS依然可以让这些元素可以改变自己的位置,可以通过float来让元素浮动,也可以通过margin来让元素有位置移动。但是事实上那并非是真正的位移,因为,那只是通过加大margin值来实现的一个方法。而真正意义上的位移是通过top,right,bottom,left针对一个相对定位的元素所产生的。
可以在任意一个位置的元素 (绝对定位)
相对定位只可以在文本流中进行位置的上下左右的移动,同样存在一定的局限性,虽然他的表现区脱离了文本流,但是在文本流却依然为它保留,但是这样很明显就会空出一块空白来,如果希望文本流抛弃这个部分就需要用到绝对定位。绝对定位不光脱离了文本流,而且在文本流中也不会给这个绝对定位元素留下专属空位。而移动出去的部分自然也就成为了*的了。
被关联的绝对定位
上面说的是单一的绝对定位,而在实际的应用中我们会需要用到一种特别的形式。即希望定位元素要有绝对定位的特性,但是又希望绝对定位的坐标原点可以固定在网页中的某一个点,当这个点被移动时绝对位定元素能保证相对于这个原坐标的相对位置。也就是说需要这个绝对定位要跟着网页移动,而并且是因定在网页的某一个固定位置。通常当网页是居中形式的时候这种效果就会显得特别的重要。要实现这种效果基本方式就是为这个绝对定位的父级设置为相对定位或是绝对定位。那么绝对定位的坐标就会以父级为坐标起始点。
最主要要说的就是这个贯连绝对定位,一般我们只知道相对定位可以移动位置,绝对定位是不能移动位置,那么在要兼容多和游览器的时候相对定位是有空白的位置无法去掉的,这个时候有的游览器自己会去掉有的不会自己去掉,这样就会让原本定位好的内容到别的游览器下出现问题,浮动定位也是一样的,会出现同样的空白地区无法删除的,这个时候就需要绝对定位的效果了,让空白地区在所有游览器下都删掉,这样就能完成在所有游览器下样式相同,因为父类是可移动的相对定位,有可以跟随的页面的大小发生位置上的变化又可以在多个游览器下不走样,这才是一个好方法
static 没有特别的设定,就是基本的定位规定,不能通过z-index进行层次分级。
relative 不脱离文档流,自身静态位置通过 top,bottom,left,right 定位,并且可以通过z-index进行层次分级。
文本流是什么:同级元素同时左浮的话,源代码在前的在左,依次向右拍;同时右浮的话,源代码在前的在右,依次向左排。
absolute 脱离文档流,通过 top,bottom,left,right 定位。选取其最近的父级定位元素,当父级 position 为 static 时,absolute元素将以body坐标原点进行定位,可以通过z-index进行层次分级。
fixed 固定定位,这里他所固定的对像是可视窗口而并非是body或是父级元素。可通过z-index进行层次分级。
CSS中定位的层叠分级:z-index: auto | namber;
auto 就是跟着父对象的定位
namber 无单位的整数值。可为负数
定位的原理:
可以位移的元素 (相对定位)
在本文流中,任何一个元素都被文本流所限制了自己的位置,但是通过CSS依然可以让这些元素可以改变自己的位置,可以通过float来让元素浮动,也可以通过margin来让元素有位置移动。但是事实上那并非是真正的位移,因为,那只是通过加大margin值来实现的一个方法。而真正意义上的位移是通过top,right,bottom,left针对一个相对定位的元素所产生的。
可以在任意一个位置的元素 (绝对定位)
相对定位只可以在文本流中进行位置的上下左右的移动,同样存在一定的局限性,虽然他的表现区脱离了文本流,但是在文本流却依然为它保留,但是这样很明显就会空出一块空白来,如果希望文本流抛弃这个部分就需要用到绝对定位。绝对定位不光脱离了文本流,而且在文本流中也不会给这个绝对定位元素留下专属空位。而移动出去的部分自然也就成为了*的了。
被关联的绝对定位
上面说的是单一的绝对定位,而在实际的应用中我们会需要用到一种特别的形式。即希望定位元素要有绝对定位的特性,但是又希望绝对定位的坐标原点可以固定在网页中的某一个点,当这个点被移动时绝对位定元素能保证相对于这个原坐标的相对位置。也就是说需要这个绝对定位要跟着网页移动,而并且是因定在网页的某一个固定位置。通常当网页是居中形式的时候这种效果就会显得特别的重要。要实现这种效果基本方式就是为这个绝对定位的父级设置为相对定位或是绝对定位。那么绝对定位的坐标就会以父级为坐标起始点。
最主要要说的就是这个贯连绝对定位,一般我们只知道相对定位可以移动位置,绝对定位是不能移动位置,那么在要兼容多和游览器的时候相对定位是有空白的位置无法去掉的,这个时候有的游览器自己会去掉有的不会自己去掉,这样就会让原本定位好的内容到别的游览器下出现问题,浮动定位也是一样的,会出现同样的空白地区无法删除的,这个时候就需要绝对定位的效果了,让空白地区在所有游览器下都删掉,这样就能完成在所有游览器下样式相同,因为父类是可移动的相对定位,有可以跟随的页面的大小发生位置上的变化又可以在多个游览器下不走样,这才是一个好方法