定位

相对定位绝对定位都是相对于父div标签的。 

相对------以这个元素的本来应该在的位置为参照点 

绝对——以父div标签的原点(左上角)为参照点。

由于外层是position:relative,所以里层是absolute的话,则会以外层的左上角为位移参考对齐。当然外层只写position:relative,写上left,top这两个值,则表示以:以这个元素的本来应该在的位置为布局参照原点进行left,top对齐。

还有一种情况是,只是一个position:absolute;外层没有position:relative,这时会找寻那个点为参考呢?这时候的原则是:如果某父级元素中有relative者,则以某父级元素为参考原点,如果没有position:relative,则以body为参考原点。如果position:absolute外层没有relative时,这两个布局上是没有区别的。

当然最后一种情况是:外层是:position:absolute;里边是position:relative,那会是什么情况?按着原来的原则,absolute会参考body为布局原点,relative会参考他本来应该在的位置为布局原点,这时候其实就是参考外层左上角为布局原点。

        /* 行内元素变为块状元素 */,块级元素以行内元素显示用display:inline,  display:inline-block;行内块元素, display:none元素隐藏
        span{
            display:block
        }
        /* 弹性盒子内容超出后自动控制在规定范围内,内容大小自动分配 写在父级元素中 */
        .d{
            width: 200px;
            display:flex;  
        }

        .d div{
            width: 50px;
            /* 块级元素变行内元素 */
            /* display: inline; */
            /* 行内块级元素并可以给他添加大小 */
            display: inline-block;
        }
 实现简单的ul列表隐藏,
        .dv{
            /* 绝对定位,和不是static的父元素定位,以父div标签的原点(左上角)为参照点   static意思是默认没有定位 */
            position: absolute ;
            /* 元素隐藏在页面找不到 */
            display:none;
            border: 1px solid #000;
            
        }
        .ul li{
            position: relative; 这是相对定位添加在父级元素中 ,是以这个元素的本来应该在的位置为参照点 
            list-style: none; 隐藏ul列表前的黑点  
    
        }
       
        .ul:hover .dv{
            display: block;  伪类选择器放到ul列表上时显示下面的div
        }
<ul class="ul">
        <li>技术文章
              <div class="dv">
                  <ul>
                      <li>1222</li>
                      <li>2222</li>
                  </ul>
              </div>
        </li>   
 </ul>
posted @ 2020-04-18 16:13  不吃肉的羊  阅读(115)  评论(0编辑  收藏  举报