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. iOS中获取本地通讯录联系人以及汉字首字母排序

    iOS中获取手机通讯录中的联系人信息: /*** 加载本地联系人*/ - (void)loadLocalContacts { //新建一个通讯录类 ABAddressBookRef addressBo ...

  2. Android特效专辑(三)——自定义不一样的Toast

    Android特效专辑(三)--自定义不一样的Toast 大家都知道,Android的控件有时候很难满足我们的需求,所以我们需要自定义View.自定义的方式很多,有继承原生控件也有直接自定义View的 ...

  3. 数据结构---栈C语言实现

    #include <stdio.h> #include <stdlib.h> #define uchar unsigned char #define uint unsigned ...

  4. twisted高并发库transport函数处理数据包的些许问题

    还是在学校时间比较多, 能够把时间更多的花在学习上, 尽管工作对人的提升更大, 但是总是没什么时间学习, 而且工作的气氛总是很紧凑, 忙碌, 少了些许激情吧.适应就好了.延续着之前对twisted高并 ...

  5. mybatis中autoCommit自动提交事务

    今天学习了下mybatis, 对其中的autoCommit自动提交事务比较好奇, 研究了下,把配置和代码都放上 mapper.xml如下: <?xml version="1.0&quo ...

  6. vue2.0-基于elementui换肤[自定义主题]

    0. 直接上 预览链接 vue2.0-基于elementui换肤[自定义主题] 1. 项目增加主题组件 在项目的src/components下添加skin文件夹 skin文件获取地址 2. 项目增加自 ...

  7. access按钮事件在子窗体打开窗体或报表

    Private Sub Com1_Click()Me.win.SourceObject = "窗体1"End Sub Private Sub Com2_Click()Me.win. ...

  8. linux上安装redis的踩坑过程2

    昨天在linux上安装redis后马上发现了其它问题,服务器很卡,cpu使用率上升,top命令查看下,原来有恶意程序在挖矿,此程序入侵了很多redis服务器,马上用kill杀掉它 然后开始一些安全策略 ...

  9. Netstat状态分类

    用netstat -an命令查看!再stat下面有一些英文,简单说一下这些英文具体都代表什么: LISTEN:(Listening for a connection.)侦听来自远方的TCP端口的连接请 ...

  10. Java 中遇到null 和为空的情况,使用Optional来解决。

    Java 中遇到null 和为空的情况,使用Optional来解决 示例代码: package crazy; import java.util.Optional; class Company { pr ...