css-freedom
Version:
CSS FreeDOM - a light-weight simplified and improved version of Bootstrap.
335 lines (292 loc) • 22.2 kB
Markdown
# CSS Freedom
CSS Freedom is a light-weight, powerful, and extremely flexible CSS framework that is suitable for bringing any design idea to life without the need to leave your HTML. It includes a range of features and utilities for styling and layout, including responsive grids, pre-designed UI elements, and utility classes for quickly styling common elements.
## Getting Started
To get started with CSS Freedom, simply include the `freedom.css` file in your project.
## Benefits of Using CSS Freedom
- **Lightweight:** CSS Freedom is designed to be lightweight and fast, ensuring minimal impact on your website's performance.
- **Flexible:** The framework is highly flexible, allowing you to customize the styles to match your specific design requirements.
- **Easy to Use:** CSS Freedom is easy to learn and use, with a simple and intuitive class naming convention.
- **Responsive:** The framework includes responsive styles that adapt to different screen sizes, ensuring your website looks great on all devices.
- **Comprehensive:** CSS Freedom provides a wide range of features and utilities, including layout, typography, components, and hover effects.
## Available Classes and Features
### Display
- `.d-*` or `.display-*`: Sets the display property. Available options: `flex`, `inline`, `inline-grid`, `table`, `list-item`, `block`, `grid`, `none`.
- `.position-*` or `.pos-*`: Sets the position property. Available options: `absolute`, `fixed`, `inherit`, `initial`, `relative`, `revert`, `static`, `sticky`, `unset`.
- `.flex-order-*` or `.order-*`: Sets the flex order. Available options: 0-10.
- `.zi-*` or `.z-index-*`: Sets the z-index. Available options: 0-10.
- `.hide` or `.hidden`: Hides the element.
- `.show`: Shows the element.
- `.invisible`: Makes the element invisible.
- `.visible`: Makes the element visible.
- `.flex-*` or `.f-*`: Sets the flex direction. Available options: `row`, `column`.
- `.flex-*` or `.f-*`: Sets the flex wrap. Available options: `inherit`, `initial`, `nowrap`, `revert`, `unset`, `wrap`, `wrap-reverse`.
- `.fb-*` or `.flex-basis-*`: Sets the flex basis. Available options: 0-100.
- `.fg-*` or `.grow-*` or `.flex-grow-*`: Sets the flex grow. Available options: 0-10.
- `.fs-*` or `.shrink-*` or `.flex-shrink-*`: Sets the flex shrink. Available options: 0-10.
- `.justify-content-*` or `.jc-*`: Sets the justify-content property. Available options: `center`, `justify`, `right`, `left`, `start`, `end`, `space-around`, `space-between`, `space-evenly`, `flex-start`, `flex-end`, `unset`.
- `.align-content-*` or `.ac-*`: Sets the align-content property. Available options: `stretch`, `center`, `flex-start`, `flex-end`, `space-between`, `space-around`, `initial`, `inherit`.
- `.align-self-*` or `.as-*`: Sets the align-self property. Available options: `auto`, `stretch`, `center`, `flex-start`, `flex-end`, `baseline`, `initial`, `inherit`.
- `.align-items-*` or `.ai-*`: Sets the align-items property. Available options: `stretch`, `center`, `flex-start`, `flex-end`, `baseline`, `initial`, `inherit`.
- `.overflow-*`: Sets the overflow property. Available options: `auto`, `hidden`, `scroll`, `visible`.
- `.overflow-x-*`: Sets the overflow-x property. Available options: `auto`, `hidden`, `scroll`, `visible`.
- `.overflow-y-*`: Sets the overflow-y property. Available options: `auto`, `hidden`, `scroll`, `visible`.
- `.top-*`, `.bottom-*`, `.right-*`, `.left-*`: Sets the top, bottom, right, and left positions. Available options: 0-25 (increments of 4px).
### Image
- `.img-fit-*` or `.image-fit-*` or `.img-object-fit-*` or `.image-object-fit-*` or `.img-of-*` or `.image-of-*`: Sets the object-fit property. Available options: `contain`, `cover`, `fill`, `inherit`, `initial`, `none`, `revert`, `scale-down`, `unset`.
- `.img-rounded` or `.image-rounded`: Sets the border-radius to 6px.
- `.img-circle` or `.image-circle`: Sets the border-radius to 50%.
- `.img-thumbnail` or `.image-thumbnail`: Sets the thumbnail style.
- `.img-hover-light` or `.image-hover-light`: Sets the hover light effect.
- `.img-hover-shadow` or `.image-hover-shadow`: Sets the hover shadow effect.
- `.img-responsive` or `.image-responsive`: Makes the image responsive.
- `.img-filter-blur` or `.filter-blur` or `.if-blur`: Sets the blur filter.
- `.img-filter-brightness` or `.filter-brightness` or `.if-brightness`: Sets the brightness filter.
- `.img-filter-contrast` or `.filter-contrast` or `.if-contrast`: Sets the contrast filter.
- `.img-filter-grayscale` or `.filter-grayscale` or `.if-grayscale`: Sets the grayscale filter.
- `.img-filter-huerotate` or `.filter-huerotate` or `.if-huerotate`: Sets the hue-rotate filter.
- `.img-filter-invert` or `.filter-invert` or `.if-invert`: Sets the invert filter.
- `.img-filter-opacity` or `.filter-opacity` or `.if-opacity`: Sets the opacity filter.
- `.img-filter-saturate` or `.filter-saturate` or `.if-saturate`: Sets the saturate filter.
- `.img-filter-sepia` or `.filter-sepia` or `.if-sepia`: Sets the sepia filter.
- `.img-filter-shadow` or `.filter-shadow` or `.if-shadow`: Sets the drop-shadow filter.
- `.img-flip` or `.flip` or `.flipped`: Flips the image horizontally.
- `.img-flip-x` or `.flip-x` or `.flipped-x`: Flips the image horizontally.
- `.img-flip-y` or `.flip-y` or `.flipped-y`: Flips the image vertically.
- `.img-avatar` or `.avatar`: Sets the avatar style.
### Margin
- `.m-auto` or `.margin-auto`: Sets margin to auto.
- `.m-*` or `.margin-*`: Sets margin. Available options: 0-25 (increments of 0.25rem).
- `.mt-auto` or `.margin-top-auto`: Sets margin-top to auto.
- `.mt-*` or `.margin-top-*`: Sets margin-top. Available options: 0-25 (increments of 0.25rem).
- `.mb-auto` or `.margin-bottom-auto`: Sets margin-bottom to auto.
- `.mb-*` or `.margin-bottom-*`: Sets margin-bottom. Available options: 0-25 (increments of 0.25rem).
- `.mr-auto` or `.margin-right-auto`: Sets margin-right to auto.
- `.mr-*` or `.margin-right-*`: Sets margin-right. Available options: 0-25 (increments of 0.25rem).
- `.ml-auto` or `.margin-left-auto`: Sets margin-left to auto.
- `.ml-*` or `.margin-left-*`: Sets margin-left. Available options: 0-25 (increments of 0.25rem).
- `.mx-auto` or `.margin-x-auto`: Sets margin-right and margin-left to auto.
- `.mx-*` or `.margin-x-*`: Sets margin-right and margin-left. Available options: 0-25 (increments of 0.25rem).
- `.my-auto` or `.margin-y-auto`: Sets margin-top and margin-bottom to auto.
- `.my-*` or `.margin-y-*`: Sets margin-top and margin-bottom. Available options: 0-25 (increments of 0.25rem).
### Padding
- `.p-auto` or `.padding-auto`: Sets padding to auto.
- `.p-*` or `.padding-*`: Sets padding. Available options: 0-25 (increments of 0.25rem).
- `.pt-auto` or `.padding-top-auto`: Sets padding-top to auto.
- `.pt-*` or `.padding-top-*`: Sets padding-top. Available options: 0-25 (increments of 0.25rem).
- `.pb-auto` or `.padding-bottom-auto`: Sets padding-bottom to auto.
- `.pb-*` or `.padding-bottom-*`: Sets padding-bottom. Available options: 0-25 (increments of 0.25rem).
- `.pr-auto` or `.padding-right-auto`: Sets padding-right to auto.
- `.pr-*` or `.padding-right-*`: Sets padding-right. Available options: 0-25 (increments of 0.25rem).
- `.pl-auto` or `.padding-left-auto`: Sets padding-left to auto.
- `.pl-*` or `.padding-left-*`: Sets padding-left. Available options: 0-25 (increments of 0.25rem).
- `.px-auto` or `.padding-x-auto`: Sets padding-right and padding-left to auto.
- `.px-*` or `.padding-x-*`: Sets padding-right and padding-left. Available options: 0-25 (increments of 0.25rem).
- `.py-auto` or `.padding-y-auto`: Sets padding-top and padding-bottom to auto.
- `.py-*` or `.padding-y-*`: Sets padding-top and padding-bottom. Available options: 0-25 (increments of 0.25rem).
### Block
- `.full-screen` or `.full`: Sets the element to full screen.
- `.fixed-top`: Sets the element to fixed position at the top.
- `.fixed-bottom`: Sets the element to fixed position at the bottom.
- `.bg-*` or `.background-*`: Sets the background color. Available options: `light`, `grey`, `red`, `dark-red`, `green`, `blue`, `yellow`, `fade-blue`, `transparent`.
- `.bg-fixed` or `.background-fixed`: Sets the background attachment to fixed.
- `.bg-scroll` or `.background-scroll`: Sets the background attachment to scroll.
- `.opacity-*`: Sets the opacity. Available options: 0-10 (increments of 10%).
### Border
- `.b-*` or `.border-*`: Sets the border width. Available options: 0-5.
- `.br-*` or `.border-right-*`: Sets the border-right width. Available options: 0-5.
- `.bt-*` or `.border-top-*`: Sets the border-top width. Available options: 0-5.
- `.bb-*` or `.border-bottom-*`: Sets the border-bottom width. Available options: 0-5.
- `.bl-*` or `.border-left-*`: Sets the border-left width. Available options: 0-5.
- `.border-*`: Sets the border color. Available options: `light`, `grey`, `red`, `dark-red`, `green`, `blue`, `yellow`, `fade-blue`, `transparent`.
- `.border-*`: Sets the border style. Available options: `dotted`, `dashed`, `solid`, `double`, `groove`, `ridge`, `inset`, `outset`.
- `.border-normal`: Sets the border-radius to 0px.
- `.border-material`: Sets the border-radius to 3px.
- `.border-round`: Sets the border-radius to 5px.
- `.border-rounder`: Sets the border-radius to 8px.
- `.border-roundest`: Sets the border-radius to 12px.
### Outline
- `.o-*` or `.outline-*`: Sets the outline width. Available options: 0-5.
- `.outline-*`: Sets the outline color. Available options: `light`, `grey`, `red`, `dark-red`, `green`, `blue`, `yellow`, `fade-blue`, `transparent`.
- `.outline-*`: Sets the outline style. Available options: `dotted`, `dashed`, `solid`, `double`, `groove`, `ridge`, `inset`, `outset`.
### Sizing
- `.w-full` or `.width-full`: Sets the width to 100%.
- `.w-screen` or `.width-screen`: Sets the width to 100vw.
- `.w-content` or `.width-content`: Sets the width to fit-content.
- `.w-auto` or `.width-auto`: Sets the width to auto.
- `.w-*` or `.width-*`: Sets the width. Available options: 0-100 (increments of 1%), 0-100vw (increments of 1vw), 0-50rem (increments of 1rem), 0-50px (increments of 1px).
- `.w-min-full` or `.width-min-full`: Sets the min-width to 100%.
- `.w-min-screen` or `.width-min-screen`: Sets the min-width to 100vw.
- `.w-min-content` or `.width-min-content`: Sets the min-width to fit-content.
- `.w-min-auto` or `.width-min-auto`: Sets the min-width to auto.
- `.w-min-*` or `.width-min-*`: Sets the min-width. Available options: 0-100 (increments of 1%), 0-100vw (increments of 1vw), 0-50rem (increments of 1rem), 0-50px (increments of 1px).
- `.w-max-full` or `.width-max-full`: Sets the max-width to 100%.
- `.w-max-screen` or `.width-max-screen`: Sets the max-width to 100vw.
- `.w-max-content` or `.width-max-content`: Sets the max-width to fit-content.
- `.w-max-auto` or `.width-max-auto`: Sets the max-width to auto.
- `.w-max-*` or `.width-max-*`: Sets the max-width. Available options: 0-100 (increments of 1%), 0-100vw (increments of 1vw), 0-50rem (increments of 1rem), 0-50px (increments of 1px).
- `.h-full` or `.height-full`: Sets the height to 100%.
- `.h-screen` or `.height-screen`: Sets the height to 100vh.
- `.h-content` or `.height-content`: Sets the height to fit-content.
- `.h-auto` or `.height-auto`: Sets the height to auto.
- `.h-*` or `.height-*`: Sets the height. Available options: 0-100 (increments of 1%), 0-100vh (increments of 1vh), 0-50rem (increments of 1rem), 0-50px (increments of 1px).
- `.h-min-full` or `.height-min-full`: Sets the min-height to 100%.
- `.h-min-screen` or `.height-min-screen`: Sets the min-height to 100vh.
- `.h-min-content` or `.height-min-content`: Sets the min-height to fit-content.
- `.h-min-auto` or `.height-min-auto`: Sets the min-height to auto.
- `.h-min-*` or `.height-min-*`: Sets the min-height. Available options: 0-100 (increments of 1%), 0-100vh (increments of 1vh), 0-50rem (increments of 1rem), 0-50px (increments of 1px).
- `.h-max-full` or `.height-max-full`: Sets the max-height to 100%.
- `.h-max-screen` or `.height-max-screen`: Sets the max-height to 100vh.
- `.h-max-content` or `.height-max-content`: Sets the max-height to fit-content.
- `.h-max-auto` or `.height-max-auto`: Sets the max-height to auto.
- `.h-max-*` or `.height-max-*`: Sets the max-height. Available options: 0-100 (increments of 1%), 0-100vh (increments of 1vh), 0-50rem (increments of 1rem), 0-50px (increments of 1px).
### Text
- `.h1` to `.h8`: Sets the heading size.
- `.text-bold` or `.t-bold` or `.font-bold`: Sets the font-weight to bold.
- `.text-italic` or `.t-italic` or `.font-italic`: Sets the font-style to italic.
- `.text-normal` or `.t-normal` or `.font-normal`: Sets the font-weight and font-style to normal.
- `.text-uppercase` or `.t-uppercase` or `.font-uppercase`: Sets the text-transform to uppercase.
- `.text-lowercase` or `.t-lowercase` or `.font-lowercase`: Sets the text-transform to lowercase.
- `.text-capitalize` or `.t-capitalize` or `.font-capitalize`: Sets the text-transform to capitalize.
- `.text-revert` or `.t-revert` or `.font-revert`: Sets the text direction to right-to-left.
- `.text-underline` or `.t-underline` or `.font-underline`: Sets the text-decoration to underline.
- `.text-overline` or `.t-overline` or `.font-overline`: Sets the text-decoration to overline.
- `.text-noline` or `.t-noline` or `.font-noline`: Sets the text-decoration to none.
- `.text-line-through` or `.t-line-through` or `.font-line-through` or `.del` or `.text-del` or `.t-del` or `.font-del`: Sets the text-decoration to line-through.
- `.text-highlight` or `.t-highlight` or `.font-highlight` or `.mark` or `.text-mark` or `.t-mark` or `.font-mark`: Sets the highlight style.
- `.text-quote` or `.t-quote` or `.font-quote`: Sets the quote style.
- `.text-monospace` or `.t-monospace` or `.font-monospace`: Sets the font-family to monospace.
- `.text-lead` or `.t-lead` or `.font-lead`: Sets the lead style.
- `.small`: Sets the font-size to 85%.
- `.text-*` or `.t-*` or `.font-*`: Sets the font-family. Available options: `arial-black`, `arial`, `bookman`, `comic-sans`, `courier-new`, `courier`, `cursive`, `fantasy`, `garamond`, `georgia`, `impact`, `monospace`, `palatino`, `sans-serif`, `script`, `serif`, `tahoma`, `times-new-roman`, `times`, `trebuchet`, `verdana`.
- `.text-*` or `.t-*` or `.font-*`: Sets the text-align. Available options: `center`, `justify`, `right`, `left`, `start`, `end`, `unset`.
- `.text-*` or `.t-*` or `.font-*`: Sets the vertical-align. Available options: `tops`, `bottom`, `middle`, `baseline`, `text-top`, `text-bottom`.
- `.text-*` or `.t-*` or `.font-*`: Sets the text color. Available options: `light`, `grey`, `red`, `dark-red`, `green`, `blue`, `yellow`, `fade-blue`, `transparent`.
- `.text-*` or `.t-*` or `.font-*`: Sets the font-size. Available options: `medium`, `xx-small`, `x-small`, `small`, `large`, `x-large`, `xx-large`, `smaller`, `larger`, `initial`, `inherit`.
- `.text-*` or `.t-*` or `.font-*`: Sets the font-size in pixels. Available options: 1-50.
- `.text-*` or `.t-*` or `.font-*`: Sets the font-size in points. Available options: 1-50.
- `.text-*` or `.t-*` or `.font-*`: Sets the font-size in rem. Available options: 1-10.
- `.text-*` or `.t-*` or `.font-*`: Sets the font-size in em. Available options: 1-10.
### Components
- `.alert`: Basic alert styling.
- `.alert-dismissible`: Dismissible alert styling.
- `.badge`: Basic badge styling.
- `.badge-*`: Sets the badge background color. Available options: `light`, `grey`, `red`, `dark-red`, `green`, `blue`, `yellow`, `fade-blue`, `transparent`.
- `.badge-round`: Sets the badge border-radius to 50rem.
- `.btn`: Basic button styling.
- `.btn-*`: Sets the button background color. Available options: `light`, `grey`, `red`, `dark-red`, `green`, `blue`, `yellow`, `fade-blue`, `transparent`.
- `.btn-outline-*`: Sets the button outline style. Available options: `light`, `grey`, `red`, `dark-red`, `green`, `blue`, `yellow`, `fade-blue`, `transparent`.
- `.btn-large` or `.btn-lg`: Sets the button size to large.
- `.btn-small` or `.btn-sm`: Sets the button size to small.
- `.btn-smallest` or `.btn-xs`: Sets the button size to smallest.
- `.btn-disabled` or `.disabled`: Sets the button to disabled state.
- `.card`: Basic card styling.
- `.card-header`: Card header styling.
- `.card-body`: Card body styling.
- `.card-title`: Card title styling.
- `.card-subtitle`: Card subtitle styling.
- `.card-img-top`: Card image top styling.
- `.card-img`: Card image styling.
- `.card-img-overlay`: Card image overlay styling.
- `.card-footer`: Card footer styling.
- `.form-group`: Form group styling.
- `.form-control`: Form control styling.
- `.form-control-file`: Form control file input styling.
- `.form-control-range`: Form control range input styling.
- `.form-inline`: Inline form styling.
- `.custom-file`: Custom file input styling.
- `.custom-file-input`: Custom file input element styling.
- `.custom-file-label`: Custom file input label styling.
- `.custom-range`: Custom range input styling.
- `.is-valid`: Valid form control styling.
- `.is-invalid`: Invalid form control styling.
- `.invalid-feedback`: Invalid feedback styling.
- `.table`: Basic table styling.
- `.table-responsive`: Responsive table styling.
- `.table-dark`: Dark table styling.
- `.table-striped`: Striped table styling.
- `.table-bordered`: Bordered table styling.
- `.table-borderless`: Borderless table styling.
- `.table-small`: Small table styling.
### Hover Effects
CSS Freedom includes a variety of hover effects that can be applied to any element. The hover effects are prefixed with `hover-`.
#### 2D Transitions
- `.hover-grow`: Grow effect.
- `.hover-shrink`: Shrink effect.
- `.hover-pulse`: Pulse effect.
- `.hover-pulse-grow`: Pulse grow effect.
- `.hover-pulse-shrink`: Pulse shrink effect.
- `.hover-push`: Push effect.
- `.hover-pop`: Pop effect.
- `.hover-bounce-in`: Bounce in effect.
- `.hover-bounce-out`: Bounce out effect.
- `.hover-rotate`: Rotate effect.
- `.hover-grow-rotate`: Grow rotate effect.
- `.hover-float`: Float effect.
- `.hover-sink`: Sink effect.
- `.hover-bob`: Bob effect.
- `.hover-hang`: Hang effect.
- `.hover-skew`: Skew effect.
- `.hover-skew-forward`: Skew forward effect.
- `.hover-skew-backward`: Skew backward effect.
- `.hover-wobble-vertical`: Wobble vertical effect.
- `.hover-wobble-horizontal`: Wobble horizontal effect.
- `.hover-wobble-to-bottom-right`: Wobble to bottom right effect.
- `.hover-wobble-to-top-right`: Wobble to top right effect.
- `.hover-wobble-top`: Wobble top effect.
- `.hover-wobble-bottom`: Wobble bottom effect.
- `.hover-wobble-skew`: Wobble skew effect.
- `.hover-buzz`: Buzz effect.
- `.hover-buzz-out`: Buzz out effect.
- `.hover-forward`: Forward effect.
- `.hover-backward`: Backward effect.
#### Background Transitions
- `.hover-fade`: Fade effect.
- `.hover-back-pulse`: Back pulse effect.
- `.hover-sweep-to-right`: Sweep to right effect.
- `.hover-sweep-to-left`: Sweep to left effect.
- `.hover-sweep-to-bottom`: Sweep to bottom effect.
- `.hover-sweep-to-top`: Sweep to top effect.
- `.hover-bounce-to-right`: Bounce to right effect.
- `.hover-bounce-to-left`: Bounce to left effect.
- `.hover-bounce-to-bottom`: Bounce to bottom effect.
- `.hover-bounce-to-top`: Bounce to top effect.
- `.hover-radial-out`: Radial out effect.
- `.hover-radial-in`: Radial in effect.
- `.hover-rectangle-in`: Rectangle in effect.
- `.hover-rectangle-out`: Rectangle out effect.
- `.hover-shutter-in-horizontal`: Shutter in horizontal effect.
- `.hover-shutter-out-horizontal`: Shutter out horizontal effect.
- `.hover-shutter-in-vertical`: Shutter in vertical effect.
- `.hover-shutter-out-vertical`: Shutter out vertical effect.
#### Border Transitions
- `.hover-border-fade`: Border fade effect.
- `.hover-hollow`: Hollow effect.
- `.hover-trim`: Trim effect.
- `.hover-ripple-out`: Ripple out effect.
- `.hover-ripple-in`: Ripple in effect.
- `.hover-outline-out`: Outline out effect.
- `.hover-outline-in`: Outline in effect.
- `.hover-round-corners`: Round corners effect.
- `.hover-underline-from-left`: Underline from left effect.
- `.hover-underline-from-center`: Underline from center effect.
- `.hover-underline-from-right`: Underline from right effect.
- `.hover-overline-from-left`: Overline from left effect.
- `.hover-overline-from-center`: Overline from center effect.
- `.hover-overline-from-right`: Overline from right effect.
- `.hover-reveal`: Reveal effect.
- `.hover-underline-reveal`: Underline reveal effect.
- `.hover-overline-reveal`: Overline reveal effect.
#### Shadow/Glow Transitions
- `.hover-glow`: Glow effect.
- `.hover-shadow`: Shadow effect.
- `.hover-grow-shadow`: Grow shadow effect.
- `.hover-box-shadow-outset`: Box shadow outset effect.
- `.hover-box-shadow-inset`: Box shadow inset effect.
- `.hover-float-shadow`: Float shadow effect.
- `.hover-shadow-radial`: Shadow radial effect.
### Responsive Variations
All of the above classes can be used with responsive variations by adding a breakpoint suffix to the class name. The available breakpoints are defined in the `_breakpoints.scss` file.
## Contributing
Contributions are welcome! Please feel free to submit a pull request.
## License
This project is licensed under the MIT License.