css子绝父相什么意思?

子绝父相 这个子绝父相太重要了,是我们学习定位的口诀,时时刻刻记住的。 这句话的意思是 子级是绝对定位的话, 父级要用相对定位。 首先, 我们说下, 绝对定位是将元素依据最近的已经定位绝对、固定或相对定位)的父元素(祖先)进行定位。 就是说, 子级
子绝父相 这个“子绝父相”太重要了,是我们学习定位的口诀,时时刻刻记住的。 这句话的意思是 子级是绝对定位的话, 父级要用相对定位。 首先, 我们说下, 绝对定位是将元素依据最近的已经定位绝对、固定或相对定位)的父元素(祖先)进行定位。 就是说, 子级是绝对定位,父亲只要是定位即可(不管父亲是绝对定位还是相对定位,甚至是固定定位都可以),就是说, 子绝父绝,子绝父相都是正确。

子级是绝对定位的话, 父级要用相对定位。
其实,子级是绝对定位,父亲只要是定位即可(不管父亲是绝对定位还是相对定位,甚至是固定定位都可以),就是说, 子绝父绝,子绝父相都是正确的。
为什么要是“子绝父相”呢?
​ 因为子级是绝对定位,不会占有位置, 可以放到父盒子里面的任何一个地方。
​ 父盒子布局时,需要占有位置,因此父亲只能是 相对定位。我们用以下实例代码进行详解:
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
 
        .div1 {
            width: 300px;
            height: 300px;
            background-color: tomato;
            position: relative;
        }
 
        .div11 {
            width: 200px;
            height: 200px;
            background-color: turquoise;
            position: absolute;
            top: 100px;
        }
 
        .div12 {
            width: 200px;
            height: 200px;
            background-color: violet;
            position: absolute;
            left: 200px;
        }
 
        .div111 {
            width: 100px;
            height: 100px;
            background-color: yellow;
            position: absolute;
            top: 100px;
            left: 200px;
        }
 
        .div2 {
            width: 300px;
            height: 300px;
            background-color: steelblue;
            position: absolute;
            top: 300px;
            left: 300px;
        }
    </style>
</head>
 
<body>
    <div class="div1">
        <div class="div11">
            <div class="div111"></div>
        </div>
        <div class="div12"></div>
    </div>
    <div class="div2"></div>
</body>
 
</html>
如果div1里面包着div11  div11里面包着div111 
子绝父相:给div1设置 相对定位
                  给div11设置 绝对定位  div11会根据div1的左上角为0点移动 (top left)
                  如果要移动div111 前面都不用动  给div111设置绝对定位  top left的值 是以他的父元素   div11的左上角为原点移动
                  如果再有一个与div1同级的元素div2  想移动它  前面几个元素依然还想保留  只需要给div2设置绝对定位   但是此时div2是以页面视口区   也就是body的左上角为起点  用top left移动
 
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

分页条是web开发中常用的前端组件之一,它能将数据分批次展示给用户。我们知道诸如Bootstrap这类框架都提供了非常漂亮的分页条组件,但是你的项目可能不用到Bootstrap,你想自己定制一个属于你自己项目的漂亮的分页条,那么请看本文。 本文给大家介绍用纯CSS
CSS控制文本超出指定宽度后用省略号代替,CSS控制文本不换行。 一般的文字截断(适用于内联与块): .text-overflow { display:block;/*内联对象需加*/ width:31em; word-break:keep-all;/* 不换行 */ white-space:nowrap;/* 不换行 */ overflow:hidden;/*
css margin用于设置对象标签之间距离间隔,例如如果要使两个div标签之间有一定的间距,我们可以使用css margin属性来设置。本文章向码农介绍css margin外边距使用方法和实例,需要的朋友可以参考一下。
在网站开发中,css float是一个经常需要使用的css属性,改属性用于设置css块级元素的浮动方向(左右浮动)。本文章向码农介绍css float使用方法和实例应用,需要的码农可以参考一下。
css sprite直译过来就是CSS精灵。通常被解释为“CSS图像拼合”或“CSS贴图定位”。本文章向码农们介绍css sprite使用方法和基本使用实例,需要的码农可以参考一下。
css背景background用于设置html标签元素的背景颜色、背景图片已经其他背景属性。本文章向码农介绍CSS 背景background使用方法和基本的使用实例。需要的码农可以参考一下。