2023-11-10 10:02:13

边距和填充的区别?

在CSS中,边距和填充到底有什么区别?它似乎真的没有多大用处。你能给我举个例子说明区别在哪里(以及为什么知道区别很重要)吗?


当前回答

Padding是网页上最接近的组件之间的空间,margin是网页边缘的空间。

其他回答

我刚刚注意到一件事,但上面的答案都没有提到。如果我有一个动态创建的DOM元素,它是用空的内部html内容初始化的,如果你不希望这个空元素占用任何空间,除了它的内容被创建之外,使用边框而不是填充是一个很好的实践。

我对边距和填充的理解来自于谷歌的开发人员工具,如图所示

简单来说,边距是指元素周围的空间,padding指元素和元素内内容之间的空间。 这两种方法都用来制造间隙,但方式不同。

使用Margin创建间隙:

在创建间隙时,边缘将相邻的元素推开

使用Padding创建间隙:

使用填充来创建间隙既可以增加元素的大小,也可以缩小其中的内容

为什么知道两者的区别很重要?

了解它们的区别是很重要的,这样你就可以知道什么时候使用它们,并适当地使用它们。

同样值得注意的是,在设计网站布局时,页边距和填充很方便,因为页边距指定了一个元素是向上还是向下,向左还是向右移动,而填充指定了一个元素在容器内的外观和位置。

填充允许开发人员保持文本和它的封闭元素之间的空间。边距是元素与父DOM中的另一个元素共同维护的空间。

看到的例子:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UT-8">
    <title>Pseudo Elements</title>
    <style type="text/css">
        body{font-family:Arial; font-size:16px; background-color:#f8e6ae; color:#888;}
        .page
        {
            background-color: #fff;
            padding: 10px 30px 50px 50px;
            margin:30px 100px 30px 300px;
        }
    </style>
</head>
<body>
    <div class="page">
        Notice the distance between the top and this text. Then compare it with the distance between the bottom border and the this text. 
    </div>
</body>

有一个重要的区别:

边距——位于元素的外部,即在元素开始后应用空格移位。 Padding-在内部,另一个将在元素开始之前应用空白。

填充

Padding是一个CSS属性,用于定义元素内容与其边框(如果有边框的话)之间的空间。如果元素周围有边框,则填充将从该边框到出现在该边框中的元素内容之间留出空间。如果元素周围没有边框,那么添加填充对该元素没有任何影响,因为没有边框可以提供空格。

保证金

Margin是一个CSS属性,用于定义元素外部到下一个外部元素的间距。

边距影响有或没有边界的元素。如果一个元素有边框,则margin定义了从这个边框到下一个外部元素的空间。如果元素没有边框,则margin定义从元素内容到下一个外部元素之间的空间。

Padding和Margin的区别

所以边距和填充的区别在于填充处理内部空间,而边距处理下一个外部元素的外部空间。