CSS margin-left 属性

CSS margin-left 语法

在 CSS 中,margin-left 属性用于单独定义元素的左外边距。从下图所示的 CSS 盒子模型中可以看出,margin-left 位于 border 的左边。

CSS 盒子模型 2

语法:

margin-left: 数值;

说明:

margin-left 的取值是一个数值,比如像素值(px)、百分比(%)、em、rem 等。

对于 margin-left 属性,小伙伴们要清楚以下几点。

  • margin-left 是 margin 简写属性的组成部分。
  • margin-left 属性会影响元素与其左侧元素之间的距离。
  • margin-left 属性可以接受负值,这可能导致元素向左移动,与左侧元素重叠。
  • margin-left 百分比值是相对于父元素的宽度进行计算的。
  • 与垂直外边距不同,水平外边距(margin-left 和 margin-right)不会发生重叠。
  • 对 inline 元素(如 spanstrong 等)设置 width 和 height 是无效的,但对它们设置 padding 和 margin 是有效的。

CSS margin-left 摘要

属于 CSS 外边距
使用频率
是否继承
默认值 0
兼容性 查看
官方文档 查看
MDN 查看

CSS margin-left 示例

接下来,我们通过几个简单的例子来讲解一下 CSS margin-left 属性是如何使用的。

示例 1:margin-left 基本用法

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        #father {
            display: inline-block;            /* 转换为inline-block元素 */
            border: 1px solid blue;
        }
        #son {
            display: inline-block;            /* 转换为inline-block元素 */
            padding: 20px;
            margin-left: 50px;
            border: 1px solid red;
            background-color: #FFDEAD;
        }
        .brother {
            height:50px;
            background-color: skyblue;
        }
    </style>
</head>
<body>
    <div id="father">
        <div class="brother"></div>
        <div id="son">绿叶网</div>
        <div class="brother"></div>
    </div>
</body>
</html>

页面效果如下图所示。

margin-left 基本用法

示例 2:margin-left 使用负值

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
    <style>
        div {
            display: inline-block;
            width: 200px;
            height: 100px;
            border: 1px solid gray;
        }
        .box1 {
            background-color: hotpink;
        }
        .box2 {
            margin-left: -100px;
            background-color: lightskyblue;
        }
    </style>
</head>
<body>
    <div class="box1"></div>
    <div class="box2"></div>
</body>
</html>

页面效果如下图所示。

margin-left使用负值

分析:

由于我们给 box2 设置了 margin-left: -100px;,因此 box2 会向左移动 100px。此外由于 box2 是在 box1 后面,因此可以看成 box1 是被 box2 覆盖了。

margin 的派生子属性

margin 是一个复合属性,它有 4 个派生子属性(如下表所示),用于单独设置某个方向的 margin。

margin 派生子属性
子属性 说明
margin-top 上外边距
margin-right 右外边距
margin-bottom 下外边距
margin-left 左外边距

上一篇: margin-bottom

下一篇: border

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号