Welcome to Plume CSS, a lightweight and highly themeable CSS Micro-Framework. Plume is meant to be the lowest CSS layer on your app. You should use Plume if you are working on a small to medium application, if you feel that you dont need all the larger frameworks features, or if you just want to code and grow all the style by yourself. Plume offers a solid, highly customizable and extendable start point. Plume was inspired by projects such as Skeleton, Milligram, MiniCss and Material, encompassing some practices found in all of them. On this page you'll find features overview, an Interactive Theme Editor, visual reference and a list of utilities and custom properties. Here are some of Plume's coolest characteristics:
plume
class, and all classes and properties are prefixed.
You can add plume on an existent project with no harm and no side effects on the outer scope.
Install with NPM (Also available with Yarn)
npm install plume-css
Then in your app
import 'plume-css'
Or download the package and add the css on your document:
<link rel="stylesheet" href="plume-css/lib/plume-all.css">
Attention: Plume is completely scoped! So, after loading it,
you must add the plume
class on a wrapper div to apply local styles
or on the body
tag to apply the styles on the entire page. You can also add the pm-container
class to have a containerized wrapper.
For advanced loading and usage, please check the Github Documentation.
<div class="plume"> ... </div>
Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn't really do it, they just saw something. It seemed obvious to them after a while. That's because they were able to connect experiences they've had and synthesize new things.
This is an example of mark tag in a paragraph, you can use them along text elements, and this is a kbd example alt + f4 representing a keyboard combination
Deserunt eiusmod ex proident ullamco magna occaecat proident pariatur. Est aute culpa nostrud ut deserunt esse occaecat nostrud esse nisi quis excepteur dolore. Occaecat quis sit cillum est ut ipsum elit deserunt. Esse cupidatat ex eu nostrud sit Lorem elit labore laboris dolor elit.
Nulla Lorem sint voluptate consequat sint. Proident laborum id irure Lorem dolore reprehenderit sint et Lorem ut sint laborum non. Culpa labore qui nisi enim laborum cillum elit minim nostrud aute. Eiusmod velit aute nulla do minim fugiat irure commodo excepteur. Amet culpa pariatur labore culpa ad et reprehenderit tempor in exercitation tempor mollit deserunt.
This is a link followed by another link
¹ When use the pm-btn-text
button type, you can use the text color utilities to change the color.
² For rounded buttons, you can use the pm-btn-round
modifier with any button from buttons family
Company | Contact | Country |
---|---|---|
Alfreds Futterkiste | Maria Anders | Germany |
Centro comercial Moctezuma | Francisco Chang | Mexico |
Ernst Handel | Roland Mendel | Austria |
Island Trading | Helen Bennett | UK |
This is a text on a pre tag another paragraph and another
@function cssvar($name, $prefix: pm) {
@return var(--#{$prefix}-#{$name});
}
This is an inline code function () {}
used in a paragraph.
Plume has a large set of utilities that helps you to alter elements styles and behavior. They are pretty useful to avoid code repetition. You can check the complete utilities list on the link below:
Attr | Description |
---|---|
.pm-container | Centered padded application container |
.pm-surface | Applies the application surface color (--pm-app-surface-color) as background-color |
.pm-ground | Applies the application ground color (--pm-app-ground-color) as background-color. Useful for divs, card, jumbotrons, etc |
.pm-font-primary | Sets font-family to the application primary font (--pm-font-family-primary) |
.pm-font-secondary | Sets font-family to the application secondary font (--pm-font-family-secondary) |
.pm-padded | Applies padding: 16px |
.pm-stacked | Applies margin-bottom: 32px |
.pm-disabled | Applies disabled style on element. Alias for [disabled], but with no semantic value |
.pm-is-hidden | Applies display:none !important style on element. Alias for [hidden], but with no semantic value |
.pm-is-invisible | Applies visibility: hidden !important; opacity: 0 !important; |
.pm-no-padding | Applies padding: 0px !important |
.pm-no-margin | Applies margin: 0px !important |
.pm-no-border | Applies border: none !important |
.pm-hgroup | Must be applied on a div which holder 2+ Headings. Almost like the deprecated hgroup element |
.pm-dont-print | Will hide the element from @print layout |
.pm-h* | Applies the heading text style to the given element. For example: .pm-h1 will apply H1 text style to the given element. You can replace the "h*" for any value on headings range: h1, h2, h3, h4, h5, h6 |
.pm-p | Applies paragraph text style to the given element |
.pm-mark | Applies mark text style to the given element |
.pm-nowrap | Forces white-space nowrap on text content |
.pm-text-black | Sets color to #000000 by default |
.pm-text-app | Sets color to the application font color (--pm-app-text-color) |
.pm-text-white | Sets color to #ffffff by default |
.pm-text-light | Sets color to #cccccc by default |
.pm-text-dark | Sets color to #444444 by default |
.pm-text-upper | Sets text transform to uppercase |
.pm-text-lower | Sets text transform to lowercase |
.pm-text-capitalize | Sets text transform to capitalize |
.pm-text-center | Sets text align to center |
.pm-text-left | Sets text align to left |
.pm-text-right | Sets text align to right |
.pm-text-primary | Sets color to the application primary-color (--pm-primary-color) |
.pm-text-secondary | Sets color to the application secondary-color (--pm-secondary-color) |
.pm-text-success | Sets text-color to the application success-color (--pm-color-success) |
.pm-text-error | Sets text-color to the application error-color (--pm-color-error) |
.pm-text-warning | Sets text-color to the application warning-color (--pm-color-warning) |
.pm-text-info | Sets text-color to the application info-color (--pm-color-info) |
.pm-link | Applies the link style to the text |
.pm-bg-black | Sets background-color to #000000 |
.pm-bg-white | Sets background-color to #ffffff |
.pm-bg-dark | Sets background-color to #444444 |
.pm-bg-light | Sets background-color to rgba(200,200,200,.1) |
.pm-bg-primary | Sets background-color to the application primary-color (--pm-primary-color) |
.pm-bg-secondary | Sets background-color to the application secondary-color (--pm-secondary-color) |
.pm-bg-success | Sets background-color to the application success-color (--pm-color-success) |
.pm-bg-error | Sets background-color to the application error-color (--pm-color-error) |
.pm-bg-warning | Sets background-color to the application warning-color (--pm-color-warning) |
.pm-bg-info | Sets background-color to the application info-color (--pm-color-info) |
.pm-bc-primary | Sets border-color to the application primary-color (--pm-primary-color) |
.pm-bc-secondary | Sets border-color to the application secondary-color (--pm-secondary-color) |
.pm-bc-success | Sets border-color to the application success-color (--pm-color-success) |
.pm-bc-error | Sets border-color to the application error-color (--pm-color-error) |
.pm-bc-warning | Sets border-color to the application warning-color (--pm-color-warning) |
.pm-bc-info | Sets border-color to the application info-color (--pm-color-info) |
.pm-button | Applies the button style to the given element |
.pm-btn-block | Sets display block + width 100% on a button |
.pm-btn-primary | Applies the primary button style |
.pm-btn-secondary | Applies the secondary button style |
.pm-btn-gradient | Applies the gradient button style |
.pm-btn-gradient | Applies the gradient button style |
.pm-btn-black | Applies the black button style |
.pm-btn-white | Applies the white button style |
.pm-btn-light | Applies the light button style |
.pm-btn-success | Applies the success button style (--pm-color-success) |
.pm-btn-error | Applies the error button style (--pm-color-error) |
.pm-btn-danger | Alias for btn-error |
.pm-btn-warning | Applies the warning button style (--pm-color-warning) |
.pm-btn-round | Applies the round button style (--pm-color-round) |
.pm-btn-text | Applies the text button style |
.pm-field | Blocked level wrapper for form controls (fieldset inherits this style) |
.pm-label | Applies label styles to the given element |
.pm-required | Must be applied on labels, .field or fieldsets to add a red asterisk (*) on text |
.pm-input-file | Use this class in a span element with an input type file inside for prettify. |
[data-pm-holder] | Must be applied on labels when wrapping elements |
[data-pm-subs] | Must be applied on range elements to show range max/min as legend |
[data-pm-success] | Show a success message on the given element bottom. Use it like data-pm-success="message" |
[data-pm-error] | Show a error message on the given element bottom. Use it like data-pm-error="message" |
[data-pm-warning] | Show a warning message on the given element bottom. Use it like data-pm-warning="message" |
[data-pm-info] | Show a info message on the given element bottom. Use it like data-pm-info="message" |
Plume has a very flexible CSS Custom Properties collection that you can override to change its default appearance.
You can use the Theme Editor by clicking on the Top left Button of this page or do it directly on your styles.
To start experimenting, open the theme editor and try to change the App Surface Color
to #000000
and the App Font Color
to #ffffff
on the editor, and voilá: you have a Dark Theme. Click
on the link below to know more about:
You can write your own theme from scratch by overriding classes on your code, you can load a pre-made custom theme from Plume's Themes
folder, or you can use the Theme Editor on the left side of this page to construct your own. When using the Theme Editor, you can just tune the
CSS Custom Properties using inputs, getting immediate visual feedback. Your modifications will be saved on the URL, so you can share your theme,
or save its URL as a documentation. You can download your theme by clicking on the "Download Theme" button or by copying its source code to a CSS file.
Just load your Custom Theme CSS file on your application after Plume's CSS, and done. For advanced usage, please read the github's documentation.