¿Cuál es exactamente la diferencia entre margen y relleno en CSS? Realmente no parece tener mucho propósito. ¿Podría darme un ejemplo de dónde se encuentran las diferencias (y por qué es importante saber la diferencia)?
También tenga en cuenta que Internet Explorer suma los márgenes / bordes / ancho de relleno de manera diferente (en el modo predeterminado sin peculiaridades) que casi todos los demás navegadores.
David R Tribble
1
Si el margen no funciona, intente
rellenar
Respuestas:
410
paddinges el espacio entre el contenido y el border, mientras que margines el espacio fuera del borde. Aquí hay una imagen que encontré de una búsqueda rápida en Google, que ilustra esta idea.
Sin embargo, ¿cómo se relaciona esto con el ancho y la altura establecidos del contenido? ¿Dónde se mide eso en todo esto?
Nyerguds
128
Una cosa clave que falta en las respuestas aquí:
Los márgenes superior / inferior son plegables.
Entonces, si tiene un margen de 20 píxeles en la parte inferior de un elemento y un margen de 30 píxeles en la parte superior del siguiente elemento, el margen entre los dos elementos será de 30 píxeles en lugar de 50 píxeles. Esto no se aplica al margen izquierdo / derecho ni al relleno.
Tenga en cuenta que hay circunstancias muy específicas en las que los márgenes verticales colapsan, no solo dos márgenes verticales lo harán. Lo que lo hace aún más confuso (a menos que esté muy familiarizado con el modelo de caja).
BoltClock
76
El margen se aplica al exterior de su elemento, lo que afecta la distancia de su elemento con respecto a otros elementos.
El relleno se aplica al interior de su elemento y, por lo tanto, afecta la distancia del contenido de su elemento del borde.
Además, el uso del margen no afectará las dimensiones de su elemento, mientras que el relleno hará que las dimensiones de sus elementos (altura establecida + relleno), por ejemplo, si tiene un div de 100x100px con un relleno de 5 px, su div sea en realidad 105x105px
Creo que el relleno se aplica a todos los lados, por lo que el elemento sería 110x110px
2013Profesor
Ehm, el relleno de afaik no cambia el ancho de tu elemento si ese ancho se ha establecido en otra cosa que no sea auto. Si el ancho es auto, entonces el relleno adicional aumentará el ancho del elemento acolchado en consecuencia (y desde ambos lados, como se menciona en @ 2013Asker)
Flater
1
Creo que es un poco engañoso decir que tu div será de 110 px por 110 px porque el ancho de tu div seguirá siendo de 100 px (suponiendo que el tamaño de la caja esté configurado como caja de contenido).
wmock
44
Recuerda estos 3 puntos:
El margen es el espacio extra alrededor del control.
El acolchado es espacio extra dentro del control.
El relleno de un control externo es el margen de un control interno .
Imagen de demostración: (donde el cuadro rojo es el control del deseo)
Esto no responde por qué es importante saber la diferencia.
GreenAsJade
38
La defensa más simple es; El relleno es un espacio dado dentro del borde del elemento contenedor y el margen se da afuera. Para un elemento que no es un contenedor, el relleno puede no tener mucho sentido, pero un margen defensivo ayudará a organizarlo.
El relleno es una propiedad CSS que define el espacio entre el contenido de un elemento y su borde (si tiene un borde). Si un elemento tiene un borde alrededor, el relleno dará espacio desde ese borde al contenido del elemento que aparece en ese borde. Si un elemento no tiene un borde a su alrededor, la adición de relleno no tiene ningún efecto en ese elemento, ya que no hay un borde para dar espacio.
Margen
El margen es una propiedad CSS que define el espacio exterior de un elemento a su próximo elemento exterior.
El margen afecta a los elementos que tienen o no tienen bordes. Si un elemento tiene un borde, el margen define el espacio desde este borde hasta el siguiente elemento externo. Si un elemento no tiene un borde, el margen define el espacio desde el contenido del elemento hasta el siguiente elemento externo.
Diferencia entre relleno y margen
Entonces, la diferencia entre el margen y el relleno es que, si bien el relleno trata con el espacio interior, el margen trata con el espacio exterior para el siguiente elemento exterior.
Una de las principales diferencias entre margen y relleno no se menciona en ninguna de las respuestas: detección de clics y desplazamiento
Aumentar el relleno aumenta el tamaño efectivo del elemento. A veces tengo un ícono más pequeño que no quiero hacer visiblemente más grande, pero el usuario aún necesita interactuar con ese ícono. Aumento el relleno del ícono para darle una huella más grande para los clics y el desplazamiento. Aumentar el margen del icono no tendrá el mismo efecto.
Una respuesta a otra pregunta sobre este tema da un ejemplo.
La mayoría de las respuestas principales se refieren a que el relleno está "dentro" del elemento y los márgenes están "fuera" del mismo, lo que ya implica que el relleno contribuye a un área de clic más grande. Sin embargo, no es tan obvio cuando se trata de una caja completamente transparente ...
BoltClock
9
margen = espacio alrededor (fuera) del elemento desde el borde hacia afuera.
relleno = espacio alrededor (dentro) del elemento desde el texto hasta el borde.
Es bueno saber sobre las diferencias entre marginy padding. Que yo sé:
El margen es el espacio exterior de un elemento, mientras que el relleno es el espacio interior de un elemento. En otras palabras, el margen es el espacio fuera del borde de un elemento, mientras que el relleno es el espacio dentro de su borde.
Puede establecer el autovalor al margen. Sin embargo, no está permitido el relleno. Mira esto .
Nota: Use margin: autopara centrar un elemento de bloque dentro de su elemento primario horizontalmente. Además, es posible centrar un elemento dentro de un flexbox vertical u horizontalmente o ambos, configurando el margen en automático. Mira esto .
El margen puede ser cualquier número flotante, pero el relleno no debe ser negativo.
Cuando diseñe un elemento, también se aplicará el relleno; Pero no margen. El margen obtiene el estilo del elemento padre. Por ejemplo, cuando establece la background-colorpropiedad en negro, su espacio interior (es decir, relleno) será negro, pero no su espacio exterior (es decir, margen).
El margen es espacio fuera de la caja; El relleno es espacio dentro de la caja. Es difícil ver la diferencia con un relleno blanco, pero con un relleno de color puedes verlo bien.
El margen y el relleno son ambos tipos de relleno realmente ... Uno (margen) sale del borde de los elementos para distanciarlo de otros elementos y el otro (relleno) sale del contenido de los elementos para distanciar el contenido del borde de los elementos.
El relleno permite al desarrollador mantener el espacio entre el texto y su elemento envolvente. El margen es el espacio que el elemento mantiene con otro elemento del DOM padre.
Ver ejemplo:
<head><metahttp-equiv="Content-Type"content="text/html; charset=UT-8"><title>Pseudo Elements</title><styletype="text/css">
body{font-family:Arial;font-size:16px;background-color:#f8e6ae;color:#888;}.page
{background-color:#fff;padding:10px30px50px50px;margin:30px100px30px300px;}</style></head><body><divclass="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>
El margen es una propiedad en CSS que se usa para crear espacios alrededor de los elementos, fuera del borde. El programador puede establecer el margen superior, derecho, inferior e izquierdo. En otras palabras, puede establecer esos valores usando margin-top, margin-right, margin-bottom y margin-left.
Los valores de margen pueden ser de los siguientes tipos.
Primero, auto permite que el navegador calcule el margen. Además, la longitud denota un margen en px, pt o cm, mientras que% ayuda a describir un margen como un porcentaje relativo al ancho del elemento contenedor. Finalmente, heredar denota que el margen tiene que heredar del elemento padre.
El relleno es una propiedad en CSS que ayuda a crear espacio alrededor de un elemento dentro del borde. El programador puede configurar el relleno para arriba, derecha, abajo e izquierda. En otras palabras, puede establecer esos valores usando padding-top, padding-right, padding-bottom y padding-left.
Los valores de Relleno pueden ser de los siguientes tipos.
La longitud describe el relleno en px, pt o cm, mientras que% denota el relleno como un porcentaje relativo al ancho del elemento contenedor. Finalmente, heredar describe que el relleno debe heredarse del elemento padre.
El margen es una propiedad CSS que se usa para crear espacio alrededor del elemento fuera del borde definido, mientras que el relleno es una propiedad CSS que se usa para crear espacio alrededor del elemento, dentro del borde definido. Por lo tanto, esto explica la principal diferencia entre margen y relleno.
Valores
Además, los valores de margen pueden ser automáticos, longitud,% o heredar, mientras que los valores de relleno pueden ser longitud,% o tipo de herencia. Por lo tanto, esta es otra diferencia entre margen y relleno.
En resumen, el margen y el relleno son dos propiedades en CSS que permiten diseñar las páginas web. No es posible asignar valores negativos para esas propiedades. La principal diferencia entre margen y relleno es que el margen ayuda a crear espacio alrededor del elemento fuera del borde, mientras que el relleno ayuda a crear espacio alrededor del elemento dentro del borde.
Intente poner un color de fondo en un bloque div con ancho y alto. Verá que el relleno aumenta el tamaño del elemento, mientras que el margen simplemente lo mueve dentro del flujo del documento.
El margen es específicamente para cambiar el elemento.
Una cosa que acabo de notar pero ninguna de las respuestas anteriores mencionó. Si tengo un elemento DOM creado dinámicamente que se inicializa con contenido html interno vacío, es una buena práctica usar margen en lugar de relleno si no desea que este elemento vacío ocupe ningún espacio excepto que se cree su contenido.
Margen: está en el exterior del elemento, es decir, se aplicará el cambio de espacio en blanco "después" de que comience el elemento. El relleno está en el interior, el otro aplicará el espacio en blanco "antes" de que comience el elemento.
El margen se aplica al exterior de su elemento, lo que afecta la distancia de su elemento con respecto a otros elementos.
El relleno se aplica al interior de su elemento y, por lo tanto, afecta la distancia del contenido de su elemento del borde.
Además, el uso del margen no afectará las dimensiones de su elemento, mientras que el relleno hará que las dimensiones de sus elementos (altura establecida + relleno), por ejemplo, si tiene un div de 100x100px con un relleno de 5 px, su div sea en realidad 105x105px
¿Notaste que esta respuesta ya se ha dado? - y con un énfasis agregado y apropiado?
JerryOL
-1
Básicamente, la diferencia entre el relleno y el margen viene en términos del fondo. ¡El relleno decidirá el espacio entre el contenido, mientras que el margen decidirá el borde exterior de los elementos!
padding vs margin
. Creo que necesitamos agregar flechas a la barra de búsqueda y hacer verde.Respuestas:
padding
es el espacio entre el contenido y elborder
, mientras quemargin
es el espacio fuera del borde. Aquí hay una imagen que encontré de una búsqueda rápida en Google, que ilustra esta idea.fuente
Una cosa clave que falta en las respuestas aquí:
Los márgenes superior / inferior son plegables.
Entonces, si tiene un margen de 20 píxeles en la parte inferior de un elemento y un margen de 30 píxeles en la parte superior del siguiente elemento, el margen entre los dos elementos será de 30 píxeles en lugar de 50 píxeles. Esto no se aplica al margen izquierdo / derecho ni al relleno.
fuente
El margen se aplica al exterior de su elemento, lo que afecta la distancia de su elemento con respecto a otros elementos.
El relleno se aplica al interior de su elemento y, por lo tanto, afecta la distancia del contenido de su elemento del borde.
Además, el uso del margen no afectará las dimensiones de su elemento, mientras que el relleno hará que las dimensiones de sus elementos (altura establecida + relleno), por ejemplo, si tiene un div de 100x100px con un relleno de 5 px, su div sea en realidad 105x105px
fuente
auto
. Si el ancho esauto
, entonces el relleno adicional aumentará el ancho del elemento acolchado en consecuencia (y desde ambos lados, como se menciona en @ 2013Asker)Recuerda estos 3 puntos:
Imagen de demostración: (donde el cuadro rojo es el control del deseo)
fuente
La defensa más simple es; El relleno es un espacio dado dentro del borde del elemento contenedor y el margen se da afuera. Para un elemento que no es un contenedor, el relleno puede no tener mucho sentido, pero un margen defensivo ayudará a organizarlo.
fuente
El relleno es espacio dentro del borde, mientras que Margen es espacio fuera del borde.
fuente
Relleno
El relleno es una propiedad CSS que define el espacio entre el contenido de un elemento y su borde (si tiene un borde). Si un elemento tiene un borde alrededor, el relleno dará espacio desde ese borde al contenido del elemento que aparece en ese borde. Si un elemento no tiene un borde a su alrededor, la adición de relleno no tiene ningún efecto en ese elemento, ya que no hay un borde para dar espacio.
Margen
El margen es una propiedad CSS que define el espacio exterior de un elemento a su próximo elemento exterior.
El margen afecta a los elementos que tienen o no tienen bordes. Si un elemento tiene un borde, el margen define el espacio desde este borde hasta el siguiente elemento externo. Si un elemento no tiene un borde, el margen define el espacio desde el contenido del elemento hasta el siguiente elemento externo.
Diferencia entre relleno y margen
Entonces, la diferencia entre el margen y el relleno es que, si bien el relleno trata con el espacio interior, el margen trata con el espacio exterior para el siguiente elemento exterior.
fuente
Una de las principales diferencias entre margen y relleno no se menciona en ninguna de las respuestas: detección de clics y desplazamiento
Aumentar el relleno aumenta el tamaño efectivo del elemento. A veces tengo un ícono más pequeño que no quiero hacer visiblemente más grande, pero el usuario aún necesita interactuar con ese ícono. Aumento el relleno del ícono para darle una huella más grande para los clics y el desplazamiento. Aumentar el margen del icono no tendrá el mismo efecto.
Una respuesta a otra pregunta sobre este tema da un ejemplo.
fuente
margen = espacio alrededor (fuera) del elemento desde el borde hacia afuera.
relleno = espacio alrededor (dentro) del elemento desde el texto hasta el borde.
ver aquí: http://jsfiddle.net/robx/GaMpq/
fuente
Es bueno saber sobre las diferencias entre
margin
ypadding
. Que yo sé:auto
valor al margen. Sin embargo, no está permitido el relleno. Mira esto .Nota: Use
margin: auto
para centrar un elemento de bloque dentro de su elemento primario horizontalmente. Además, es posible centrar un elemento dentro de un flexbox vertical u horizontalmente o ambos, configurando el margen en automático. Mira esto .background-color
propiedad en negro, su espacio interior (es decir, relleno) será negro, pero no su espacio exterior (es decir, margen).fuente
El margen es espacio fuera de la caja; El relleno es espacio dentro de la caja. Es difícil ver la diferencia con un relleno blanco, pero con un relleno de color puedes verlo bien.
fuente
El margen y el relleno son ambos tipos de relleno realmente ... Uno (margen) sale del borde de los elementos para distanciarlo de otros elementos y el otro (relleno) sale del contenido de los elementos para distanciar el contenido del borde de los elementos.
fuente
El relleno permite al desarrollador mantener el espacio entre el texto y su elemento envolvente. El margen es el espacio que el elemento mantiene con otro elemento del DOM padre.
Ver ejemplo:
fuente
El margen es una propiedad en CSS que se usa para crear espacios alrededor de los elementos, fuera del borde. El programador puede establecer el margen superior, derecho, inferior e izquierdo. En otras palabras, puede establecer esos valores usando margin-top, margin-right, margin-bottom y margin-left.
Los valores de margen pueden ser de los siguientes tipos.
Primero, auto permite que el navegador calcule el margen. Además, la longitud denota un margen en px, pt o cm, mientras que% ayuda a describir un margen como un porcentaje relativo al ancho del elemento contenedor. Finalmente, heredar denota que el margen tiene que heredar del elemento padre.
El relleno es una propiedad en CSS que ayuda a crear espacio alrededor de un elemento dentro del borde. El programador puede configurar el relleno para arriba, derecha, abajo e izquierda. En otras palabras, puede establecer esos valores usando padding-top, padding-right, padding-bottom y padding-left.
Los valores de Relleno pueden ser de los siguientes tipos.
La longitud describe el relleno en px, pt o cm, mientras que% denota el relleno como un porcentaje relativo al ancho del elemento contenedor. Finalmente, heredar describe que el relleno debe heredarse del elemento padre.
Diferencia entre margen y relleno
El margen es una propiedad CSS que se usa para crear espacio alrededor del elemento fuera del borde definido, mientras que el relleno es una propiedad CSS que se usa para crear espacio alrededor del elemento, dentro del borde definido. Por lo tanto, esto explica la principal diferencia entre margen y relleno.
Valores Además, los valores de margen pueden ser automáticos, longitud,% o heredar, mientras que los valores de relleno pueden ser longitud,% o tipo de herencia. Por lo tanto, esta es otra diferencia entre margen y relleno.
En resumen, el margen y el relleno son dos propiedades en CSS que permiten diseñar las páginas web. No es posible asignar valores negativos para esas propiedades. La principal diferencia entre margen y relleno es que el margen ayuda a crear espacio alrededor del elemento fuera del borde, mientras que el relleno ayuda a crear espacio alrededor del elemento dentro del borde.
fuente
Intente poner un color de fondo en un bloque div con ancho y alto. Verá que el relleno aumenta el tamaño del elemento, mientras que el margen simplemente lo mueve dentro del flujo del documento.
El margen es específicamente para cambiar el elemento.
fuente
El relleno es el espacio entre los componentes más cercanos en la página web y el margen es el espacio desde el margen de la página web.
fuente
Una cosa que acabo de notar pero ninguna de las respuestas anteriores mencionó. Si tengo un elemento DOM creado dinámicamente que se inicializa con contenido html interno vacío, es una buena práctica usar margen en lugar de relleno si no desea que este elemento vacío ocupe ningún espacio excepto que se cree su contenido.
fuente
Hay una diferencia importante:
Margen: está en el exterior del elemento, es decir, se aplicará el cambio de espacio en blanco "después" de que comience el elemento. El relleno está en el interior, el otro aplicará el espacio en blanco "antes" de que comience el elemento.
fuente
El margen se aplica al exterior de su elemento, lo que afecta la distancia de su elemento con respecto a otros elementos.
El relleno se aplica al interior de su elemento y, por lo tanto, afecta la distancia del contenido de su elemento del borde.
Además, el uso del margen no afectará las dimensiones de su elemento, mientras que el relleno hará que las dimensiones de sus elementos (altura establecida + relleno), por ejemplo, si tiene un div de 100x100px con un relleno de 5 px, su div sea en realidad 105x105px
fuente
Básicamente, la diferencia entre el relleno y el margen viene en términos del fondo. ¡El relleno decidirá el espacio entre el contenido, mientras que el margen decidirá el borde exterior de los elementos!
fuente
El relleno es el espacio entre tu contenido y el borde. Donde como Margen es el espacio entre el borde y el otro elemento.
fuente