ionic-team / ionic-team/ionic-framework

feat: extend CSS utilities approach

Open
#22,844 3 comments 0 reactions 0 assignees View on GitHub
package: core type: feature request
Dominant language
TypeScript
Stars
52.7k
Forks
13.3k
Avg merge
1d 15h
Merged PRs (30d)
51

Description

# Feature Request

**Ionic version:**

[x] **4.x**

**Describe the Feature Request**

At the moment, CSS utilities cover:

- Text Modification
- Element Placement
- Element Display
- Content Space
- Flex Properties
- Border Display
- Ionic Breakpoints

However, I'm missing `color` utilities between others.

On the rise of utility-first CSS approaches (TailwindCSS as an example) will be nice to extend the available CSS utilities to be able to compose more complex design easier. Prototyping could be even faster.

**Describe Preferred Solution**

1. Extend content space utilities (padding, margin) to use an `ion-p-t-{multiple}` class (`.ion-margin`) is currently fix to a default of `16px`
2. Color utilities for **text** and **background** `ion-text-{color}-{shade}` ex: `ion-text-primary-400`, `ion-text-{color}-{shade}` ex: `ion-bg-secondary-400`

It will be also beneficial to use PostCSS to the flow to purge unused generated utilities similar to what TailwindCSS offers, which would allow more customized grades of margins for example, without increasing significantly the bundle size.

**Describe Alternatives**

Of course, adding TailwindCSS directly to an ionic project could be an option, but it will be in parallel with the current ionic CSS it's a little bit overkill. Would be nice to have it "native" from Ionic.

In case the request fits the interests of the project, I can do a PR with a basic draft for this and contribute for it's implementation.

Kind regards

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.