圣杯布局中margin-left:-100%的含义

首先,双飞翼布局代码:

<!DOCTYPE html>

<html>

  <head>

    <meta charset="utf-8" />

    <title>实现三栏水平布局之圣杯布局</title>

    <style type="text/css">

      /*基本样式*/

      .left, .right, .main {

        min-height: 300px;

      }

      .left {

        width: 200px;

        background-color:thistle;

      }

      .main {

        background-color: #999;

      }

      .right {

        width: 300px;

        background-color: violet;

      }

      /* 圣杯布局关键代码 */

      .left, .main, .right {

        float: left;

        position: relative;

      }

      .main {

        width: 100%;

      }

      .container {

        padding-left: 200px;

        padding-right: 300px;

      }

      .left {

        margin-left: -100%;

        left: -200px;

      }

      .right {

        margin-right: -100%;

      }

    </style>

  </head>

  <body>

    <div class="container">

      <div class="main">main</div>

      <div class="left">left</div>

      <div class="right">right</div>

    </div>

  </body>

</html>

其中:最左侧样式margin-left:-100%,最右侧样式中margin-right:-100%,让人费解。后面查资料才知道,margin-left为负是子元素相对于父元素的最右侧位置,100%的意思就是相对于父元素右边框距离为100%,这样,子元素左边框与父元素左边框重合,实现元素居左。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。