Foundation is a responsivefront-end framework. Foundation provides a responsive grid and HTML and CSS UI components, templates, and code snippets, including typography, forms, buttons, navigation and other interface elements, as well as optional functionality provided by JavaScript extensions. Foundation is an open source project, and was formerly maintained by ZURB. Since 2019, Foundation has been maintained by volunteers.
Origin
Foundation emerged as a ZURB project to develop front-end code faster and better. In October 2011, ZURB released Foundation 2.0 as open source under the MIT License. ZURB released Foundation 3.0 in June 2012, 4.0 in February 2013, 5.0 in November 2013, and 6.0 in November 2015. The team started working on the next version of Foundation for Sites 7 which most likely will drop support for older browsers and implement newer technologies like flexbox or maybe calculated grid system. Foundation for Emails, formerly known as ZURB Ink, was released in September 2013. Foundation for Apps was released in December 2014.
Features
Foundation was designed for and tested on numerous browsers and devices. It is a mobile first responsive framework built with Sass/SCSS giving designers best practices for rapid development. The framework includes most common patterns needed to rapidly prototype a responsive site. Through the use of Sass mixins, Foundation components are easily styled and simple to extend. Since version 2.0 it also supports responsive design. This means the graphic design of web pages adjusts dynamically, taking into account the characteristics of the device used. Additionally, since 4.0 it has taken a mobile-first approach, designing and developing for mobile devices first, and enhancing the web pages and applications for larger screens. Foundation is open source and available on GitHub. Developers are encouraged to participate in the project and make their own contributions to the platform.
Structure and function
Foundation is modular and consists essentially of a series of Sass stylesheets that implement the various components of the toolkit. Component stylesheets can be included via Sass or by customizing the initial Foundation download. Developers can adapt the Foundation file itself, selecting the components they wish to use in their project. Adjustments are possible through a central configuration stylesheet. More profound changes are possible by changing the Sass variables. The use of Sass stylesheet language allows the use of variables, functions and operators, nested selectors, as well as so-called mixins. Since version 3.0, the configuration of Foundation also has a special "Customize" option in the documentation. Moreover, developers use on a form to choose the desired components and adjust, if necessary, the values of various options to their needs. The subsequently generated package already includes the pre-built CSS style sheet.
Foundation comes standard with a 940 pixel wide, flexible grid layout. The toolkit is fully responsive to make use of different resolutions and types of devices: mobile phones, portrait and landscape format, tablets and PCs with a low and high resolution. This adjusts the width of the columns automatically.
Understanding CSS stylesheet
Foundation provides a set of stylesheets that provide basic style definitions for all key HTML components. These provide a browser and system-wide uniform, modern appearance for formatting text, tables and form elements.
Re-usable components
In addition to the regular HTML elements, Foundation contains other commonly used interface elements. These include buttons with advanced features, labels, advanced typographic capabilities, and formatting for messages such as warnings.
JavaScript components and plug-ins
The JavaScript components of Foundation 4 were moved from jQueryJavascript library to Zepto, on a presumption that the physically smaller, but API-compatible alternative to JQuery would prove faster for the user. However, Foundation 5 moved back to the newer release JQuery-2. "jQuery 2.x has the same API as jQuery 1.x, but does not support Internet Explorer 6, 7, or 8." the official Zurb blog explains, and the unsigned writer claims that the switch back was due to issues of compatibility with customized efforts; and that performance was found to be not as good, on use testing with the newer jQuery-2. Foundation jQuery components provide general user-interface elements and branded extensions. The list includes: dialog, tooltips, carousels, alerts, clearing, cookies, dropdown, forms, joyride, magellan, orbit, placeholder, reveal, section, topbar, flex video, and many others. Additional jQuery plug-ins can be installed into the Foundation framework to provide advanced functionality in any UI area, including animation and "off-canvas" elements like slide-in menus.
Use
There are three levels of integration for Foundation: CSS, SASS, and Ruby on Rails with the Foundation Rails Gem.
CSS
To use Foundation CSS, default or custom CSS packages can be downloaded from the download page and installed into the appropriate web server folders. Foundation is then integrated into HTML page markup.
SASS
The Foundation SASS install uses Ruby, Node.js, and Git to install Foundation sources. Foundation then provides a command line interface to modify and compile source to CSS for use in HTML page markup.
Foundation Rails Gem
The Foundation Rails gem can be installed by adding "gem 'foundation-rails'" to the Rails Application Gemfile.