zoukankan      html  css  js  c++  java
  • margin的理解

    1.盒子模型


    在进行网页设计的时候,我们使用的是盒子模型,其内容如下:

    整个网页就是大盒子套小盒子,小盒子又套更小的盒子来实现的。但是在做网页设计时总是搞不清margin和padding的使用方式,在此特地探讨一下。

    2.margin


     1.margin-top

    只有块元素有margin-top,行内元素是没有margin-top的。margin-top是以兄弟元素的下边界或以有上边框的父元素为参考点来计算的。css中的高度和宽度是content的高和宽

    • 父元素无上边框
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>驾校注册</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!--[if lt IE 9]>
    <script src="js/html5shiv.min.js"></script>
    <script src="js/respond.min.js"></script>
    <![endif]-->
    <style type="text/css">
        body{
            min-width: 1024px;
            margin: 0px auto;
            font-family:'微软雅黑';
        }
        .fdiv{
            width:200px; height:200px; background:#ccc;
            margin: 0;
            padding: 0;
        }
        .cdiv{
            width: 100px;
            height: 100px;
            background: #FFF7DC;
            margin-top: 20px;
            border: 1px solid black;
        }
        a{
            border:1px solid black;
        }
    </style>
    </head>
    <body>
    <div class="fdiv">
        <div class="cdiv">
        </div>
    <div>
    </body>
    </html>

    由于米色部分的div找不到参考点,结果我们发现是显示的结果很奇葩,是以body上边界作为参考点的。

    • 父元素有上边界
     .fdiv{
            200px; height:200px; background:#ccc;
            margin: 0;
            padding: 0;
            border-top: 1px solid black;
      }

    我们发现一旦父元素设置了上边界,margin-top就显示正常了。

    • 以兄弟元素为参考
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>驾校注册</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!--[if lt IE 9]>
    <script src="js/html5shiv.min.js"></script>
    <script src="js/respond.min.js"></script>
    <![endif]-->
    <style type="text/css">
        body{
            min-width: 1024px;
            margin: 0px auto;
            font-family:'微软雅黑';
        }
        .fdiv{
            width:200px; height:200px; background:#ccc;
            margin: 0;
            padding: 0;
            border: 1px solid black;
        }
        .cdiv{
            width: 100px;
            height: 100px;
            background: #FFF7DC;
            margin-top: 20px;
            border: 1px solid black;
        }
        a{
            border:1px solid black;
        }
    </style>
    </head>
    <body>
    <div class="fdiv">
        <a>ffasdfasdfasfdafdasdf</a>
        <div class="cdiv">
        </div>
    <div>
    </body>
    </html>

    米色部分div的margin-top是以a标签的下边界为参考线,来计算自己需要向下的偏移量(20px)。

     

  • 相关阅读:
    【项目管理】WBS工作分解结构
    【代理篇】内网穿透利器——Termite
    【漏洞分析】Discuz! X系列全版本后台SQL注入漏洞
    【代理篇】内网穿透利器——EarthWorm
    【漏洞复现】Apache Solr远程代码执行(CVE-2019-0193)
    【漏洞复现】Apache Solr via Velocity template远程代码执行
    【漏洞复现】PHPStudy后门
    记一次织梦cms渗透测试
    Mybatis源码手记-从缓存体系看责任链派发模式与循环依赖企业级实践
    Dubbo源码手记-服务注册
  • 原文地址:https://www.cnblogs.com/xidongyu/p/5417880.html
Copyright © 2011-2022 走看看