zoukankan      html  css  js  c++  java
  • 如何解决外边距叠加的问题?

    第一种

    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <meta name="Author" content="胡超">
    <title>super胡</title>
    <style>
    #a1{
    200px;
    height:200px;
    border:1px solid red;

    margin-bottom:20px;

    }
    #a2{
    margin-top:20px;
    100px;
    height:100px;
    display:inline-block;/*或者绝对定位(position:absolute)或者是浮动元素*/
    border:1px solid black;

    }

    </style>
    </head>
    <body>
    <div id="a1">
    </div>
    <div id="a2">
    </div>

    </body>

    第二种

    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <meta name="Author" content="胡超">
    <title>super胡</title>
    <style>
    #container{
    overflow:hidden;

    zoom:1;
    }
    #a1{
    border:1px solid red;
    200px;
    height:200px;
    background:green;
    margin-bottom:20px;
    }
    #a2{
    border:1px solid red;
    200px;
    height:200px;
    background:red;
    margin-top:20px;
    }
    </style>
    </head>
    <body>
    <div id="container">
    <div id="a1">
    </div>
    </div>
    <div id="container">
    <div id="a2">
    </div>
    </div>
    </body>
    </html>



    如何使元素上下margin不折叠呢?

    1.浮动元素、inline-block 元素、绝对定位元素的 margin 不会和垂直方向上其他元素的 margin 折叠(注意这里指的是上下相邻的元素)
    2.创建了块级格式化上下文的元素,不和它的子元素发生 margin 折叠
     
    第二种方法:把这两个 <div> 分别放进两个建立了 BFC (IE7- 触发 hasLayout)的父级容器里.
    要建立 BFC 的不是这两个 <div> 而是它们所在的父级容器.


    触发block formatting context即可,触发的方法:
    1. float不为none
    2. overflow不为visible
    3. display设为‘table-cell’, ‘table-caption’, 或‘inline-block’
    4. position既不是static也不是relative
    5. zoom:1, IE的hasLayout特性会建立一个新的block formatting context
  • 相关阅读:
    算法15 《啊哈算法》第四章 盒子装扑克-DFS深度优先搜索 递归
    算法14 leetcode28 实现 strStr() kmp
    markdown一些有用笔记
    算法11 leetcode274 有效的字母异位词
    Quantity? Quality!
    算法 10 leetcode344. 反转字符串
    JavaWeb —— JDBC Driver驱动及连接问题
    Python —— 4 习题练习
    Python —— 变量的作用域
    JavaWeb —— 文件上传
  • 原文地址:https://www.cnblogs.com/12606huchao/p/4927388.html
Copyright © 2011-2022 走看看