CSS中一般通过浮动定位来对标签进行位置操作。下面我们来讨论一下定位的用法和需要注意的地方。

1.首先,说一下position的几个属性值

  (1)none属性值,这个是定义不进行定位,默认为不定位,这个就不做DOM了

  (2)relative属性值,相对定位。相对定位是以自己原来的位置为基础,相对于自己原来的位置进行移动。

    现在我们先建立3个div作为素材

      代码如下:

      

      

      效果如下:

       

      现在我们对这里面的名字叫做d2的div进行相对定位操作。

        我们加入下述代码:

          

          结果如下:

          

       对上述操作稍加分析可得出以下结论:

          1.相对定位 relative,他没有脱离文本流。也就是说,他原来占据的地方还在,把d2稳稳的卡在了下边

          2.他定位以后在z轴的显示是高于普通元素的,这个想图层一样,所以红色盖住了蓝色

          3.他是相对于自己原来的位置进行移动的

          *4.这里提一下,position定位后,使用 top left right bottom进行调整对象的位置,但是margin也是可以调整的。

            而且,相对定位的主要作用是来限制绝对定位的,一般不用来调节位置,这个后边咱再说。

      以上就是相对定位relative属性值的常用方法。

  (3)绝对定位position,和浮动作用类似,不过破坏性更大,使用很灵活。

      我们现在修改d2的CSS代码,将其改为绝对定位,代码如下:

          

      其结果如下:

          

      观察上图,我们发现红色的d2跑了,我们的父容器 d 竟然包不住他了,这是怎么回事呢,其实是这样的:

        当对一个元素定义绝对定位absolute时,他会脱离文本流,整个会浮起来,不受定义之前任何效果的约束。此时如果用top之类的调整他的位置,这时

       这个绝对定位的元素会往上寻找,查看他的父元素有没有使用定位,如果他的父元素或者更上一层的元素有 absolute relative或者fixed任意一个定义过,

       那么他就会以这个容器为标准,相对于他进行移动。

      

      现在我们,修改一下代码,试试绝对定位的用法

        修改后的CSS代码如下:

            

        显示结果如下:

            

        分析以上现象,我们总结出以下结论:

          1.绝对定位会完全脱离文档流,完全浮在其他元素的上边,由图可知蓝色已经占据了原来红色的地方

          2.绝对定位会依据他的有定位的祖先容器为标准,这里d这个div有相对定位,所以可以束缚住这个红色的d2。所以d2会出现在现在的位置

          3.由图可知,红色是盖住蓝色的,所以据对定位也是会覆盖如同元素

          4.当元素的祖先容器都没有定位时,他就说相对于浏览器的content区进行定位

          *5.注意: absolute和relative一般都是一起使用的,一般使用据对定位后,都会在他的父容器中加上相对定位,对他进行限制。

               这样做的原因是:relative定位后,只要不调top left之类的,这个属性对自身不会有任何影响,但却会限制子容器的绝对浮动

  (4)fixed 相对于浏览器定位

        我们观察如下代码:

          

        效果如下:

         

           

            可以看出他是相对于浏览器定位的,但是这个定位,在网页上下滚动的时候,被定位区域是不变化位置的,效果就像被固定在屏幕上一样

     以上就是定位的几个常用属性。

 

关于CSS定位属性 position 的使用的更多相关文章

  1. CSS定位属性Position详解

    CSS中最常用的布局类属性,一个是Float(CSS浮动属性Float详解),另一个就是CSS定位属性Position. 1. position:static 所有元素的默认定位都是:position ...

  2. CSS - 定位属性position使用详解(static、relative、fixed、absolute)

    position 属性介绍 (1)position 属性自 CSS2 起就有了,该属性规定元素的定位类型.所有主流浏览器都支持 position 属性. (2)position 的可选值有四个:sta ...

  3. css 定位属性position的使用方法实例-----一个层叠窗口

    运行结果: <!DOCTYPE html> <html> <head> <title>重叠样式窗口</title> <style ty ...

  4. CSS定位属性position相关介绍

    position属性用来定义元素的定位方式. 定位相关属性值 1.static 默认值 2.absolute 绝对定位 3.fixed 固定定位 4.relative 相对定位 5.sticky 粘性 ...

  5. css中的定位属性position(转)

    css中的定位属性position   同样的也是上课的时候发现学生难以理解的一些问题拿出来记录一下,希望帮助初学者. 在css中定位属性position的运用在页面中是很常用的,特别是一些结合js来 ...

  6. css3-7 如何让页面元素水平垂直都居中(元素定位要用css定位属性)

    css3-7 如何让页面元素水平垂直都居中(元素定位要用css定位属性) 一.总结 一句话总结:元素定位要用css定位属性,而且一般脱离文档流更加好操作.先设置为绝对定位,上左都50%,然后margi ...

  7. 定位属性position

    定位属性position小结 1.元素为fixed(固定的),则是固定定位,即使是子元素,也不参考父元素的位置,即以浏览器作为参考定位.相当于电脑屏幕的一只蚂蚁,你无论怎么滑动屏幕,还是在原来的位置. ...

  8. CSS定位属性

                  定位属性                                                              position属性 1.      s ...

  9. 前端~定位属性position(relative、absolute、fixed)的分析

    前端~定位属性position(relative.absolute.fixed)的分析 1,简单了解: relative:移动自身时,参考自身的原来位置而移动,移动子元素(子元素设置了absolute ...

随机推荐

  1. git使用中checkout生成临时br的问题(吓出一身冷汗啊)

    git中几天前漫不经心的使用了git checkout ver_hash的命令,结果push到远程库都提示everything is up-to-date,实际神马都没提交上去啊!但看本地log中的确 ...

  2. 一个div在另一个div中水平垂直的方法

    html <div id="main"> <div id="box"> 一个div在另一个div中垂直居中实现方法 </div&g ...

  3. Java中使用有返回值的线程

    在创建多线程程序的时候,我们常实现Runnable接口,Runnable没有返回值,要想获得返回值,Java5提供了一个新的接口Callable,可以获取线程中的返回值,但是获取线程的返回值的时候,需 ...

  4. section元素与div、article元素的区别

    section元素是对网站或应用程序中页面上的内容进行分块,一个section元素通常有标题和内容组成.但section元素并非一个普通的容器元素,当一个容器需要直接定义样式或通过脚本定义行为时,推荐 ...

  5. js定义数组的方法

    1.定义时赋值 var mycars=new Array("a","b","c") 2.new一个数组对象 var mycars=new A ...

  6. 前端技术之_CSS详解第三天

    前端技术之_CSS详解第三天 二.权重问题深入 2.1 同一个标签,携带了多个类名,有冲突: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 ...

  7. Unity使用C++作为游戏逻辑脚本的研究(二)

    文章申明:本文来自JacksonDunstan的博客系列文章内容摘取和翻译,版权归其所有,附上原文的链接,大家可以有空阅读原文:C++ Scripting( in Unity) 上一篇文章写完,有同学 ...

  8. windows环境下zookeeper安装和使用

    一.简介        zooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一 ...

  9. Windows下Markdown软件的选择

    从开始Java学习这个系列的同时,我也开始改用Markdown而不是无比蛋疼的博客园默认编辑器来进行博客管理.但是Windows下想找一个比较好的Markdown编辑器蛮困难的,可以说专门的Markd ...

  10. Django入门四之数据库相关

    1. 数据库设置 在settings.py中配置数据库 我首先使用的是sqlite3,所以配置如下 2. 数据库的数据结构定义 #blog/models.py #定义了一个表(Student),表里两 ...