zoukankan      html  css  js  c++  java
  • 定位流之子绝父相

    定位流:position
    分类:1.相对定位:(relative)不脱离标准流,还会占空间配合,相对在标准流的位置运动(top,right同一个方向上只用一个属性等使(相对以前在标准流的位置来移动)(在相对定位中用margin和padding属性会影响整个网页布局)
    应用场景:(1)用于对元素微调(2)配合绝对定位使用
    2.绝对定位:(absolute)脱离标准流,默认相对于body中的位置运动,在标准流里行内和块级元素是会被区分的行内不能设置宽高,但在脱离标准流后就可以设置了,如定位流和浮动流;看把(absolute放在哪)如果放在你需要移动的盒子里那就直接相对body运动,如果放在它的父盒子里那就相对父盒子运动。放在它爷盒子里就相对爷盒子里;如果自己,父盒子,爷盒子都有绝对定位,则以最近的盒子做参考点(父盒子,爷盒子)(只有静态定位不满足)
    重要注意:这里的body是指打开浏览器网页的那个窗口大小,用绝对定位盒子在左下角只是在窗口的最下角,不是真正的body,绝对定位会忽略父元素的padding 水平居中:(margin:0 auto;不适用于绝对定位)用百分比距离盒子的哪边永远是多少距离不会随着宽高而变化,永远距离整个宽度的百分之几
    实现水平居中代码:left:50%;margin-left:-150px(这个长度是盒子本身长度的一般)容易理解
    3.静态定位:默认情况在标准流中就是静态定位
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>定位流</title>
     6     <style>
     7         *{
     8             margin: 0;
     9             padding: 0;
    10         }
    11         div{
    12             width: 200px;
    13             height: 200px;
    14         }
    15         .box1{
    16             position: relative;
    17             background-color:red;
    18             top: 20px;
    19         }
    20         .box2{
    21             position: absolute;
    22             right: 0px;
    23             bottom: 0px;
    24             background-color:green;
    25         }
    26         .box3{
    27             background-color:yellow;
    28         }
    29     </style>
    30 </head>
    31 <body>
    32 <div class="box1"></div>
    33 <div class="box2"></div>
    34 <div class="box3"></div>
    35 </body>
    36 </html>
    只用相对定位不脱离标准流,对网页布局还是有影响的
    只用绝对定位,位置会随窗口的宽高而变化
    同时使用(子绝父相):子盒子会以父盒子做参考点(企业开发中常用)
     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>子绝父相</title>
     6     <style>
     7         ul{
     8             list-style: none;
     9             width: 600px;
    10             height: 50px;
    11             margin: 0 auto;
    12             margin-top: 100px;
    13             background: grey;
    14             line-height: 50px;
    15         }
    16         li{
    17             float: left;
    18             width: 100px;
    19             height: 50px;
    20             text-align: center;
    21         }
    22         .quan{
    23             background: #cccccc;
    24             position: relative;
    25         }
    26         img{
    27             /*position: relative;*/
    28             /*right: 16px;*/
    29             /*top: -15px;*/
    30             /*position: absolute;*/
    31             /*right: 548px;*/
    32             /*top: 100px;*/
    33             position: absolute;
    34             right: 0px;
    35             top: 0;
    36         }
    37     </style>
    38 </head>
    39 <body>
    40 
    41 <ul>
    42     <li>服装</li>
    43     <li>美妆</li>
    44     <li>京东超市</li>
    45     <li class="quan">
    46         全球购
    47         <img src="//m.360buyimg.com/babel/jfs/t14287/250/2085505084/2379/5a9b10c1/5a6a9058N36d84e8a.png" width="40px"></li>
    48     <li>闪购</li>
    49     <li>拍卖</li>
    50 </ul>
    51 </body>
    52 </html>
  • 相关阅读:
    洛谷.1110.[ZJOI2007]报表统计(Multiset Heap)
    洛谷.1110.[ZJOI2007]报表统计(Multiset)
    洛谷.3809.[模板]后缀排序(后缀数组 倍增) & 学习笔记
    洛谷.2801.教主的魔法(分块 二分)
    洛谷.2709.小B的询问(莫队)
    COGS.1901.[模板][国家集训队2011]数颜色(带修改莫队)
    COGS.1822.[AHOI2013]作业(莫队 树状数组/分块)
    COGS.1689.[HNOI2010]Bounce 弹飞绵羊(分块)
    COGS.264.数列操作(分块 单点加 区间求和)
    COGS.1317.数列操作c(分块 区间加 区间求和)
  • 原文地址:https://www.cnblogs.com/myErebos/p/8588054.html
Copyright © 2011-2022 走看看