Whether you are using Scss or CSS, we've made it easy to start a project so that you can help take over the world one responsive site at a time.
Foundation is developed in Sass, which is powerful CSS pre-processor that helps you write cleaner, more organized, CSS that you can more easily maintain over time without the typical headaches of vanilla CSS. On top of our minimal styling, we've written powerful Javascript plugins that will make useful interactions easier to implement across screen sizes.
Looking for Foundation 3?
We're still supporting Foundation 3 for those who don't want to take the leap into the future with us. You can view the docs, download a package or visit the Github page.
We've got you covered when it comes to useful features and we've made it easy to take out what you don't need. Here's what you'll get when you create a project using our Sass version or the default CSS version:
Our grid works on almost any device and has support for nesting, source ordering, offsets and device presentation. It almost makes creating layouts too easy!
Our type is based on a golden ratio modular scale that creates meaningful relationships for the copy on the page. It's easily updated using Scss or our CSS customizer.
People have to get around. Navigation styles in Foundation include a complex top bar that supports 3-level dropdown navigation for simple bars, sidebars and subnav pills.
Built with the Foundation Grid, you can create simple or complicated forms quickly and easily— validation states, custom select, radio buttons and more.
We've also included lots of useful elements like visibility classes (to hide or show things based on screen size or orientation), labels, alerts, tooltips, panels and a lot more.
Abide is an HTML5 form validation library that supports the native API by using patterns and required attributes.
How is a project structured?
We follow common patterns for directory structure that are logical and easily maintained. Below is an explanation of each file you'll get when you create a project using our gem or download via our customizer.
css
Includes foundation.css and foundation.min.css so you can choose which to use. You'll also see normalize.css, which we use for resets. Add another stylesheet on top of Foundation to override defaults.
js
All of our plugins and the necessary JavaScript to make Foundation work properly. All JS is initiated by default.
img
This directory actually comes empty in Foundation 4! We no longer have any images included in the core of Foundation.
index.html
A sample structure for page content, giving you something to use as a basic structural template for the rest of the pages in your project.
humans.txt
A way to tell the world about the people that worked on the sites you build, giving them kudos they deserve.
robots.txt
Give instructions to web robots so search engines know what to do when they crawl your site for content.
Using the Gem? You'll see a couple extra pieces in your project upon creation. These are:
scss/
Your main style folder is named scss/ and contains app.scss (which has the foundation gem import and commented portions you can pick and choose). Override the Foundation styles within your app.scss file. You can see the compiled CSS in your stylesheets directory after you manually compile or watch. This directory also includes _settings.scss, which is used to control variables that help easily style Foundation. You'll also notice that the directory names are slightly different. Compass defaults to "stylesheets", "javascripts", and "image".
config.rb
This file is used by Compass to compile your project. Here you can control the output style of your CSS, the structure of your directories and other useful settings.
HTML Page Markup
Our markup structure is straight forward and gives you the flexibility you need to create to your hearts desires. Here's an example page that includes the basics:
<%= code_example '
Foundation 4
', :html %>
Doctype & Head
We use the HTML doctype declaration to tell the browser what to expect. From there we've used a technique by Paul Irish that attaches classes to the HTML for IE. After that, we set the character set to UTF-8.
Meta Viewport tag
This is used to make sure smaller devices use the device width as the viewport width.
Title Tag
This one is pretty self-explanatory. You're setting the name of the current page with this value.
CSS & Modernizr
The default CSS download includes everything you need to get going, including necessary styles and our custom Modernizr script.
CSS
We include foundation.min.css and foundation.css with a default CSS download. The difference here is whether or not you want minified code or not (link whichever you want, but not both).
Modernizr
We use this to give us the HTML5 Shiv, touch classes and JS media queries that help us control Foundation.
Javascripts
Our JS is linked up right before the closing body tag and includes all necessary plugins and initializers to hit the ground running.
Get going!
Now that you understand the gist of what Foundation is and how it works, it's time to start a project! We've got two different ways for you to build projects with Foundation, a Compass Gem using Scss or a with plain CSS.