zoukankan      html  css  js  c++  java
  • css四种定位

    概述:元素定位属性主要包括的模式和边偏移两部分,也就是说以后定位要和边偏移量搭配使用。边偏移加定位定位模式才能构成一个完整的定义方式。

    偏移量说明:

    边偏移属性   描述
    top:        顶端偏移,定义元素相对于其父元素上边线的距离
    bottom:     底部偏移,定义元素相对于其父元素下边线的距离
    left:       左侧偏移,定义元素相对于其父元素左边线的距离
    right:      右侧偏移,定义元素相对于其父元素右边线的距离

    定位模式的分类

    值       描述
    static   自动定位(默认定位方式)
    relative 相对定位,相对于其元文档流的位置进行定位
    absolute 绝对定位,相对于其上一个已经定位的父元素进行元素定位
    fixed    固定定位,相对于浏览器窗口进行对位

    一、静态定位

    是所有元素的默认定位方式,当position属性的取值为static,可以将元素设置为静态,也就是各个元素在html中默认的位置,其实就是标准流的意思
    对边偏移无效,一般用来清除定位

    二、相对定位

    position:relative
    1.相对对位最重要的一点是它可以通过边偏移移动位置,但是原来的所占位置继续占有。 2.其次,每次移动的位置是,自己在左上角为基点移动 (相对自己来移动) 相对对位的盒子仍然在标准流中,它后面的盒子仍然以标准流的方式对待它(相对定位不脱标)

    三、绝对定位

    position: absolute
    绝对定位可以通过边偏移量移动位置,但是完全脱标,完全不占位置
    
    父级没有定位
    如果父元素没有定位,孩子以浏览器为基准对齐
    绝对定位是根据最近的定位(绝对、相对、或者固定)的父元素(祖先)进行定位
    
    一般会结合相对定位使用 (子绝父相)
    
    
    加了绝对定位的盒子设置margin 左右auto不会生效
    解决水平的方法:先设置盒子left: %50  然后margn-left: 盒子的负一半
    left: 50%;
    margin-left: -50px;
    
    水平居中也是同样的原理  
    top:50%;
    margin-top: -20px; 另一种完美的写法:transform: translateX(-50%);

    四、固定定位

    position: fixed;
    
    固定定位也是完全脱标的特性
    固定定位的盒子一定要写宽和高,除非有内容撑开的不用写
    以浏览器为基点

    五、叠放层次z-index

    当对多个元素同时设置定位时,定位元素之间有可能发生重叠
    可以通过优先级来解决
    注意点:
    1. z-index的默认值是0,取值越大,定位元素在层叠元素中越居上
    2. 如果取值相同,则根据书写顺序,后来者居上
    3. 后面数字一定不能加单位
    4. 只有相对定位,绝对对位,固定定位由此属性,其余标准流,,浮动,静态无此属性

    六、定位的模式转换

    当元素添加了相对定位和绝对定位,元素模式也会转换成行内块
    
    (浮动的盒子会转换成行内块,没给宽度的情况下  以内容撑开宽度)
    如果盒子本身就需要添加浮动后者绝对固定定位就不需要转换了
  • 相关阅读:
    mysql如何查询最新插入的数据
    nodejs express开发
    在线考试实现倒计时的代码
    centos的vsftp修改上传下载速度
    centos vsftpd
    ul和li里面的list-style
    算法竞赛入门经典 暴力求解法 7.1简单枚举 最大乘积
    算法竞赛入门经典 暴力求解法 7.1简单枚举 最大乘积
    算法竞赛入门经典 暴力求解法 7.1简单枚举 除法
    算法竞赛入门经典 暴力求解法 7.1简单枚举 除法
  • 原文地址:https://www.cnblogs.com/guniang/p/11935578.html
Copyright © 2011-2022 走看看