margin-block
es una propiedad abreviada en CSS que establece los valores margin-block-start
y de un elemento margin-block-end
, los cuales son propiedades lógicas. Se crea un espacio alrededor del elemento en la dirección en línea, que se determina por el elemento de writing-mode
, direction
y text-orientation
.
La propiedad forma parte de la especificación de nivel 1 de valores y propiedades lógicas de CSS, que actualmente se encuentra en estado Borrador del editor. Eso significa que la definición y la información al respecto pueden cambiar entre ahora y la recomendación oficial.
.element ( margin-block: 30px 60px; writing-mode: vertical-rl; /* Determines the block start direction */ )
Si writing-mode
se establece en horizontal-lr
, la margin-block
propiedad actuará como establecer margin-top
y margin-bottom
. Un aspecto interesante de esta propiedad es que es una de las propiedades lógicas que no tiene un mapa uno a uno con una propiedad no lógica. No existe una propiedad anterior que establezca ambos (y solo) los márgenes de dirección del bloque.
Pero cambie el elemento writing-mode
a algo así vertical-lr
y el borde "inferior" se gira en la dirección vertical, actuando más como las propiedades margin-left
y margin-right
.
Sintaxis
margin-block: (1,2)
Es un poco extraño ver que la sintaxis de una propiedad hace referencia a la sintaxis de otra propiedad CSS en la documentación, pero eso es realmente. Lo que básicamente está tratando de decir es que la propiedad acepta los mismos valores que margin-top
(hasta dos veces) que sigue esta sintaxis:
margin-top: | | auto;
- Valor inicial:
0
- Se aplica a: todos los elementos excepto los elementos internos de la tabla, los contenedores base ruby y los contenedores de anotaciones ruby
- Heredado: no
- Porcentajes: en cuanto a la propiedad física correspondiente
- Valor calculado: igual que las
margin-*
propiedades correspondientes - Tipo de animación: por tipo de valor calculado
Valores
Si está familiarizado con la margin
propiedad de la taquigrafía, margin-block
se sentirá muy familiar. La única diferencia es que funciona en dos direcciones en lugar de cuatro.
/* Length values */ margin-block: 20px 40px; margin-block: 2rem 4rem; margin-block: 25% 15%; margin-block: 20px; /* a single value sets both values */ /* Keyword values */ margin-block: auto; /* Global values */ margin-block: inherit; margin-block: initial; margin-block: unset;
Manifestación
Soporte de navegador
ES DECIR | Borde | Firefox | Cromo | Safari | Ópera |
---|---|---|---|---|---|
No | No | 66+ | 87+ | No | No |
Android Chrome | Android Firefox | Navegador de Android | Safari de iOS | Opera Mobile |
---|---|---|---|---|
sí | sí | No | No | 59+ |
Otras lecturas
Artículo el 31 de agosto de 2018Propiedades lógicas CSS
Jwahir Sundai Almanac el 5 de enero de 2021modo de escritura
.element ( writing-mode: vertical-rl; )
Robin Rendle