zoukankan      html  css  js  c++  java
  • 绝对定位

    绝对定位
    当浮动元素被设置为绝对定位
    某个元素
    ```
     float:left;
       position:absolute;
    ```
    - 则他的float属性会被强制设置为none
    - 绝对定位元素对其他元素不会造成任何影响,原来的位置不会占用
    - 绝对定位的位置
    可通过left,top,right,bottom来设置(四个方向都可取负值)
     绝对定位分类
     *  fixed 固定位置
     *  absolute 绝对位置

    固定位置
    包含块:`position:fixed;`
    参考位置:视口的左上角
    设置此属性的盒子会脱离文档流
    eg:若要将固定在右下角

        bottom:0px;
        right:0px;
    如果是固定位置标签,最好写在结束标签之前
    绝对位置
    包含块:`position:absolute;`
    参考位置:视口左上角
    1. 依次判断(从里到外)元素是否拥有position不等于static的祖先元素;
    2. 如果有,则该元素的填充盒的左上角为当前绝对元素的起点;如果没有,则以初始化包含块的左上角为元素的起点。

    建议包含块position属性取值为relative
    原因:不会破坏布局,因为absolute或者fixed会脱离文档流,下面文档流会上移,破坏布局。
    ##元素重叠的问题
    堆叠级别:决定了元素谁显示在前,谁显示在后
    通常情况下,堆叠级别越高,显示越靠前
    设置:通过z-index属性设置元素级别
    z-index
    元素属性不可继承;默认值:auto(书写顺序靠后的元素靠前显示);取值:auto,数值。
    取值:正无穷到负无穷;(一般是(-1~5))
    注意
     1. 不用于静态位置的元素(一般用于固定位置(fixed)或者绝对位置(absolute))
     2. 尽量不使用z-index
    块级格式化上下文
    全称:Block Formatting Content
    简称:BFC
    它是一个独立的渲染区域,他规定了在该区域中常规流块盒的布局
    解释:
    独立的:不同的BFC区域,它们进行渲染时互不干扰(外边距不合并)
    BFC渲染区域:这个区域由某个HTML元素创建,以下元素会在其内部创建BFC区域:
    根元素
    浮动和绝对定位元素
    overflow不等于visible的块盒

    具体规则
    1. 创建BFC的元素,它的自动高度需要计算浮动元素
    2. 创建BFC的元素,它的边框盒不会与浮动元素重叠
    3. 创建BFC的元素,不会与它的子元素进行外边框合并

    何时用both和overflow
    `clear:both;`:控制外面的东西不影响自己
    `overflow`:控制BFC里面的内容不影响其他元素
    eg:一个div标签,有2个兄弟元素,3个子元素
    当2个兄弟元素的定位体系影响到我,用clear;
    当3个子元素影响到2个兄弟元素的位置时,就用overflow(即创建BFC)
    雪碧图
    步骤:设置宽高  图片路径  图标位置;

  • 相关阅读:
    2021 3 11 结队博客
    第一周 2021.03.07
    2021 3 5 知识点总结
    2021 3 3 每日总结
    2021 3 2 新学期的第一篇博客
    十天冲刺09
    二阶段之四
    安卓开发之实现手机验证码登录
    安卓布局(三)
    安卓布局(二)
  • 原文地址:https://www.cnblogs.com/1301774939-/p/9497125.html
Copyright © 2011-2022 走看看