- From: Martijn Cuppens via GitHub <sysbot+gh@w3.org>
- Date: Sun, 06 Jan 2019 12:48:01 +0000
- To: public-css-archive@w3.org
MartijnCuppens has just created a new issue for https://github.com/w3c/csswg-drafts:
== padding-x, padding-y, margin-x & margin-y ==
Hi there,
First time I open an issue here, the title of this issue probably needs to be changed so it contains a label like the other issues, but I couldn't find anything about it in the Contributor Guidelines, so feel free to change that.
I got a proposition to add 4 new properties:
- `padding-x`
- `padding-y`
- `margin-x`
- `margin-y`
It should be clear what they do but I'll explain it shortly with some examples:
The `.selector` will have `padding-left: 1rem;` and `padding-left: 1rem;` on each side:
```css
.selector {
padding-x: 1rem;
}
```
The `.selector` will have `padding-right: 1rem;`,`padding-bottom: 2rem;`,`padding-left: .5rem;` and `padding-top: 2rem;` on each side:
```css
.selector {
padding: 2rem;
padding-x: 1rem;
padding-left: .5rem;
}
```
The `.selector` will have `padding-left: 1rem;` and `padding-left: 1rem;` on each side:
```css
.selector {
padding-left: 2rem;
padding-x: 1rem;
}
```
It would basically work the same as `padding-left` and `padding-right` currently work. The implementation of the margin variants will work alike.
## Why do we need this?
These days people make a lot of use of utility classes and generating responsive spacing utility classes can generate a lot of css. Also this would simplify the code needed to generate these classes. Some examples of frameworks that work that way:
- Foundation (https://foundation.zurb.com/sites/docs/prototyping-utilities.html#padding-left-right-horizontal-axis-)
- Bootstrap (https://getbootstrap.com/docs/4.2/utilities/spacing/#examples)
- Tailwind (https://tailwindcss.com/docs/spacing)
It would also be nice if we could use these property to only override the left/right properties in one property. Sometime this is used to set `padding-left` and `padding-right` in one property:
```css
.selector {
padding: 0 1rem;
}
```
... but this overrides the top and bottom values and could lead to unexpected results.
What do you think?
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3486 using your GitHub account
Received on Sunday, 6 January 2019 12:48:04 UTC