Skip to content

☕ A set of common UI Components using just the power of CSS and without JavaScript.


Notifications You must be signed in to change notification settings


Repository files navigation

⚠️ Disclaimer

This is an old project, when I made it in 2014 I was tried use some possibilities about HTML/CSS and I loved the result. So I know a lot of people that used these components in production projects (I've used a lot of times).

But the things changed in the nexts years and there are better choices to made these components.

So I just maintain this project as an experimental thing and I probability won't make changes anymore.

But you is free to use it as you want 😁❤️

Pure CSS Components Logo

Netlify Status license GitHub contributors

A set of common UI Components using the power of CSS and without Javascript

View the project


Install via Bower or download the zip

bower install css-components


Browser Support

Chrome Firefox Edge Safari
Android Yes Yes Yes Yes
iOS Yes Yes Yes Yes
Mac OS X Yes Yes Yes Yes
Windows Yes Yes Yes. Yes

* CSS3 transitions are not supported in IE8 and below. ** Janky z-index. See tooltip on right example.


  • Most tests performed with Browserstack.
  • Components that perform action on hover may not work on touchscreens eg. dropdown with hover. Oddly tooltip does work. Bootstrap mentions this, “Sticky :hover/:focus on mobile. Even though real hovering isn't possible on most touchscreens, most mobile browsers emulate hovering support and make :hover ‘sticky’. In other words, :hover styles start applying after tapping an element and only stop applying after the user taps some other element.”
  • Probably the main reason why the components fail in earlier versions of IE is because they use advanced CSS selectors which aren’t supported. It may be possible to patch this with the use of something like selectivizr. This may defeat the purpose of using these javascript free components but on the other hand it may be acceptable for older IE.
  • The components do not fail gracefully. In most cases some elements are visible but interaction will not have any effect. The carousel component won't show anything.
  • Some layout issues with tab when wrapping on smaller screen sizes.
  • Weird flash when carousel loops around to first slide.


Please read this Coding Style for Issues, pull requests and coding standards.

All changes must be made in /dev folder. The CSS should be modified using the Stylus preprocessor.

Getting Started

# 1. Fork this repository and clone it into the current directory
git clone<your-username>/css-components.git

# 2. Navigate to the newly cloned directory
cd css-components

# 3. Install the dependencies
npm install


# For start the server, watching your .styl files changes and compile CSS
grunt w

Pull Requests

# Compress zip files
grunt build

# Build the project for deploy
grunt dist

# View your project release in GhPages

# Open your Pull Request


MIT License © Felipe Fialho