zoukankan      html  css  js  c++  java
  • 06-CSS相对定位、绝对定位、固定定位

    1、定位:position
     
      (注:浮动float浮动页面上、定位position固定于一个位置上。)
     
    定位包括定位属性模式和边偏移两部分
    (1)定位模式:选择器{ position:属性值};
                       属性值:static默---唯一用处是取消定位
                                     relative相对定位
                                     absolute绝对定位
                                     fixed固定定位
    (2)边偏移:top、left、right、bottom
     
     
     
    2、相对定位:relative
         相对于原来位置进行偏移,以自己的左上角为基点移动,移动幅度又left、right、top、bottom属性来确定,原本占据的空间任然保留。
     
     
    3、绝对定位:absolute
         相对于父容器进行位置定位,父元素必须是有定位(即非static)的容器。如果没有父元素,或者父元素没有定位会以当前屏幕对齐。父级有定位,会根据最近的已经定位(绝对、相对或固定)的父元素进行定位。
         元素框从文档流中完全删除,原先的位置会关闭。(和float类似)
         注:只有绝对定位是完整意义的脱标,float里面的内容并不会和背景一起浮动上去
     
     
    子绝父相:子级是绝对定位的话,父级要用相对定位
     
    (1)绝对定位产生的问题:绝对定位的盒子如何水平/垂直居中对齐
            用position定位过后的盒子,margin:0 auto;会失效,不能居中对齐了。
            所以:首先left:50%,跑到父盒子一半那;然后自己外边距负的一半值margin-left即可。
     
          {  width:200px;
              height:200px;
              position:absolute;
              // 水平:
              left:50%;
              margin-left:-100px;
              //垂直:
              top: 50%;
              margin-top:-100px;
              }
     
     
    4、3个定位的例子:哈根达斯图片、顺丰导航栏、淘宝轮播图片
     
     
    5、固定定位:fixed
          脱离文档流,不占据位置,位置以浏览器进行定位,无关父级。
     
     
    6、以上定位之后的特性----定位模式转换
      (行内元素无法直接给宽高,要先转变成行内块元素,display:block;inline-block;/position:relative;absolute;fixed/float:left;right)
      (行内元素的高度和宽度和内容有关,背景图片在盒子底下,无法撑开,要给宽)
     
      和浮动一样,元素添加了绝对定位和固定定位之后,元素模式也会发生转换,换为行内模式,因此,如果行内元素添加了绝对定位或者固定定位浮动之后,可以不用转换模式,直接宽高。
     
      如果是一个背景图片,添加了固定定位,有了行内模式之后,要给width的值才会显示。
     
     
    7、叠放次序:z-index
            调整重叠定位元素的堆叠顺序,可以对定位元素应用z-index层叠等级属性,取值正负整数、0。
            无单位,和font-weight一样。
           (只有相对定位、绝对定位、固定定位有此属性,其余标准流、浮动、静态定位都无)
         
     
    8、一个例子
            如果并列的几个盒子hover的时候border显示,因为隔壁的左右border重叠,hover有些盒子只有三边,在hover属性中添加position:relative;即可。
     
     
     
     
     
  • 相关阅读:
    JS 教程
    linux查询机器信息
    linux Python2.7 离线安装pip、numpy、scipy、sklearn等
    Linux系统安装numpy、scipy指定版本库
    Fiddler显示服务器ip地址列(方便查看host是否生效)
    搭建CDH大数据平台(CentOS6.4+CHD5.1)
    ssh登录立即退出( Exit status 254)
    搭建CDH大数据平台(CentOS7+CDH5.7)
    大数据平台环境搭建
    Exception in thread "main" java.lang.NoSuchMethodError: scala.runtime.VolatileByteRef.create(B)Lscala/runtime/VolatileByteRef;
  • 原文地址:https://www.cnblogs.com/chencaiyun/p/13225774.html
Copyright © 2011-2022 走看看