Gridless -- A boilerplate for responsive, cross-browser websites
Gridless is meant to be a starting point, which should be edited, tweaked and overwritten to suit each project's design requirements, rather than being blindly used as a black box of non-touchiness.
Some of the core principles of Gridless:
Gridless uses responsive web design to serve each user a design that responds to the size of their browser window. This means Gridless will work anywhere: old feature phones, smartphones, laptops, netbooks, desktops etc.
Gridless encourages and uses progressive enhancement. Its media queries are mobile first, which means they start from mobile and go building up to desktop sizes.
Gridless is extremely simple and straightforward.
It isn't littered with with non-semantic classes or pre-made grid systems ( hence the name 'Gridless').
Responsive (responds to the user's device screen width with the correct content and CSS)
Progressive enhancement, mobile first
Cross-browser compatible (even IE6 and 7)
CSS normalization instead of CSS reset
Beautiful typography with a vertical rhythm and heading sizes based on golden ratio
Print styles optimized for performance
HTML5 and CSS3 ready
Safe CSS hacks instead of conditional classnames/stylesheets
A well-organized folder structure
Gridless was tested in the following browsers: Mozilla Firefox 3.5+ Opera 11+ Google Chrome 11+ Safari 5+ Internet Explorer 6+
Although some of these browsers are very recent, Gridless should work in any modern browser without problems.
README.md: the file you're reading right now
index.html: The HTML(5) page with the initial markup
demo.html: A file demonstrating Gridless' styles
robots.txt: Permissions for search crawlers
humans.txt: Give credit to people involved in the project
UNLICENSE.txt: The Unlicense, the license which Gridless is licensed under
favicon.ico, apple-touch-icon.png, apple-touch-icon-precomposed.png, apple-touch-icon-*-precomposed.png: The favicons (bookmark icons)
assets/ (folder): The folder that includes all the assets
css/ (folder): The folder that includes all the CSS files
main.css: The main CSS file with basic styles and media queries
debug.css: The debugging CSS file to help you debug your markup
fonts/ (empty folder): The folder where your webfonts reside
img/ (empty folder): The folder where your images reside
- respond.min.js: Respond.js, which is a polyfill for media queries on older browsers
- CSS normalization
- Beautiful typography
- Vertical rhythm (baseline grid)
- Placeholder media queries for responsive web design
- Safe CSS hacks to target IE6 and IE7
- Styles to debug your markup
MAKE IT BETTER
Some tips to improve Gridless and your productivity:
Use a command line tool like Juicer to help you ship code for production and achieve better performance.
Use HTML5 polyfills to bring future to all browsers.
Write efficient CSS for better browser performance.
Use an HTML5 lint tool for better markup.
Use microdata for better search results and semantic markup.
If you'd like help people move off IE6 with an warning, add this HTML to your body:
<!--[if lt IE 7]> <div style=' clear: both; height: 59px; padding:0 0 0 15px; position: relative;'> <a href="http://windows.microsoft.com/en-US/internet-explorer/products/ie/home?ocid=ie6_countdown_bannercode"><img src="http://www.theie6countdown.com/images/banners/warning_bar_0000_us.jpg" border="0" height="42" width="820" alt="You are using an outdated browser. For a faster, safer browsing experience, upgrade for free today." /></a> </div> <![endif]-->
WHY THE NAME GRIDLESS?
Because Gridless is ...well, gridless. It doesn't come any grid systems. The problem with most other CSS frameworks is that they include grid systems with presentational classes and/or ids without any semantic.
In my opinion, grid systems are a great idea, but not in the way they're being used today — with lots of presentational classes like
span-x in the markup.
Grid systems can be used, but they should be:
Edited (modify the
ids) to suit each project's semantics
Made from the start of each project
Still, if you don't agree with that, just include your favorite grid system (only the grid part, remove the reset, typography etc.) and it'll work like a charm!
Gridless and everything else:
Ethan Marcotte, Bryan Rieger, Luke Wroblewski, Jeremy Keith, Paul Irish, Nicolas Gallagher, Jonathan Neal, Scott Jehl, Eric Meyer, Oliver Reichenstein, Wilson Miner, Harry Roberts, Mathias Bynens, Kroc Camen, Chris Coyier, Richard Rutter, Remy Sharp, Kilian Valkhof and many others.
If you'd like to contribute to Gridless' development, start by forking the GitHub repo:
The best way to get your changes merged back on Gridless is as follows:
- Clone your fork
- Hack away
- If you are adding significant new functionality, document it in the README
- Do not change the version number, I will do that on my end
- Push the repo up to GitHub
- Send a pull request to thatcoolguy/gridless-boilerplate