zoukankan      html  css  js  c++  java
  • margin padding width height left top right bottom 百分比

    当元素的margin padding为百分比时,相对的是距离当前元素最近的父元素的宽度而言(不包含 border padding margin的值,如果父元素没有宽度,则实际宽度还包括父元素的margin负值);

    当元素的没有设置宽度/高度时,margin负值会改变元素的宽度/高度,如果设置有宽度/高度,则之后影响元素的位置

    1 实现元素宽高相等的想法:

    <div class='demo'>
    
      <div class='li'></div>
    
    </div>
    
    .demo{
    
    200px;
    
    }
    .demo .li{
    
    100%;
    
    padding-top:100%;
    
    }

    width height 百分比,分别对应的是最近父元素的宽度和高度(包含padding值)

    margin负值:

    1 实现队列等高布局,子元素设置padding-bottom比较大的值,这时候父元素的高度就会别撑大,再设置子元素margin-bottom负值为padding-bottom的值,两个值相互抵消,父元素的高度就不会变了,(margin-bottom负值会影响文档流,本来文档流的高度使从父元素的顶端到子元素的最低端的高度,margin负值,文档流就向上退回相应的值)但是子元素的高度是已有高度值与padding-bottom的和,所以需要设置父元素overflow:hidden;子元素高度改变时,其他子元素就跟着改变了

    <div class='demo1'>
           <div class='left'></div>
            <div class='right'></div>
    </div>
    
    
    .demo1{
      display: flex;
     overflow: hidden;
      .left{
       200px;
      padding-bottom: 2000px;
      margin-bottom: -2000px;
      background-color: red;
      }
      .right{
        flex:1;
        height: 200px;
        padding-bottom: 2000px;
      margin-bottom: -2000px;
      background-color: blue;
      }
    }

    定位left top right bottom 百分比值,left right 是相对于父元素的宽度*百分比,top bottom是相对于高度值*百分比

  • 相关阅读:
    运算符重载
    责任链模式
    MFC一些常见面试问题
    浅拷贝&深拷贝
    下雨的效果
    本地时间使用与倒计时
    钟表效果
    一种水纹波浪效果
    一个相册效果
    在Flash中管理鼠标右键
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/12869731.html
Copyright © 2011-2022 走看看