@code-collabo/less-css-helper-library v1.0.1
less-css-helper-library
The less-css-helper-library for css, less and frontend projects. Related (css) key value pairs often used together are stored in css classes for easy use, reuse and to help quickly structure your projects. Built-in css styles are made accessible in your projects just by adding a class to an html element.
Styles & classes
The library provides some reset styles and classes which you can apply on html elements.
display-related classes:
.block.block-auto.b-container.grid.grid-auto-1-auto-row.flex.flex-auto.flex-space-btw.flex-space-btw-auto.flex-center.flex-j-center.flex-a-center.x-auto.img-wrapper.img-wrapper-rounded.img-default
Color-related classes:
Note: Color-related classes may not necessarily use built-in values. For now, only class names for text & buttons are included based on common trend.
.error.error-bold.btn-default.btn-transparent.btn-danger
How to use
Install the npm package or use the cdn option.
Install npm package:
npm i @code-collabo/less-css-helper-library
Reference the library in your project with:
node_modules/@code-collabo/less-css-helper-library/css/styles.css - For css project.
node_modules/@code-collabo/less-css-helper-library/less/styles.less - For less project.
You can just reference both in case you need to switch from css to less & vice versa. Make sure to add the reference(s) before that of your own css and/or less files.
If you are using less in an angular project for example, reference the one for less or both in the styles array in your angular.json file. You also need to import it at the top of your main .less file like so:
@import 'node_modules/@code-collabo/less-css-helper-library/less/styles.less';
Using CDN:
For projects that don't use nodejs, add the css cdn as href value for your link tag in the .html file. Make sure to add this before the other link tags used to reference your own css styles.
<link rel="stylesheet" href="https://code-collabo.github.io/less-css-helper-library/css/styles.css">
Class names:
From the class names, it's easy to tell what they do. See effect when added to an html element below:
.blockonly sets display to block..gridonly sets display to grid..flexonly sets display to flex..flex centersets display to flex, justify-content & align-items are set to center..flex-j-centeronly sets display to flex & justify-content to center..flex-a-centeronly sets display to flex & justify-content to center..flex-space-btwsets display to flex & justify-content to space-between.- Class names with suffix
-autouses same styles as their look-alikes above, but make use ofmargin: 0 auto;. When applied on an element (with width changed to less than 100%), the element is horizontally centered. .b-containeruses same style asblock-auto, but with width set & is responsive already. To be used on the body element or html element(s) acting as outermost containers.- Exception:
x-autosets overflow to auto. .grid-auto-1-auto-rowsets display to grid, grid-template-rows toauto 1fr auto, grid-template-columns to1fr& also sets the height of the element to 100%..img-wrapperhas same qualities of.flex-center, but with overflow set to hidden - to be used on the parent of animgelement..img-wrapper-roundedhas same qualities of.img-wrapperbut with border-radius set to 50% - to be used on the parent of animgelement..img-defaultis same as our reset style for images. It sets animgelement's max-width to 100% and height to auto. Note: Animgelement inside a parent that uses.img-wrapperor.img-wrapper-roundedmust be set to the reset style, therefore always add the.img-defaultclass to such img element..errorand.error-boldare for text, while other color-related classes are for buttons.
You have total control over what the width of the element (and margin in the case of -auto) should be. More details & tutorial coming soon on this topic.
How to contribute
The library is maintained by just one person at the moment - @Ifycode. Meaning that more features will be added only when needed. If you like and have started using the library in your projects but doesn't contain what you need (yet), you can help speed up the process by raising it as an issue or send a pull request.
Please take note of the following:
- Group property-value pairs that are related or are often used together in one class so that it is reusable.
- The styles or classes (names) you propose must give good idea of the property-value pairs stored in it.
- Styles or classes proposed must be usable in any section inside the body of html documents.
- Do not make changes directly in the
mainordevelopbranches. See development environment & git workflow on how to make changes to the code base and submit pull request.