Foundation (framework)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
ZURB Foundation
Developer(s) ZURB
Initial release September 2011; 5 years ago (2011-09)
Stable release
6.2.4 (Mimas) / October 20, 2016; 28 days ago (2016-10-20) [1]
Development status Active
Written in HTML, CSS, Sass and JavaScript
Operating system Cross-platform
Type HTML and CSS-based design templates
License MIT License
Website foundation.zurb.com

Foundation is a responsive front-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 components, as well as optional JavaScript extensions. Foundation is maintained by ZURB and is an open source project.

Origin[edit]

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.[2] ZURB released Foundation 3.0 in June 2012,[3] 4.0 in February 2013,[4] and 5.0 in November 2013. The team is working on the next version of Foundation for Sites which should be released in Spring 2015.

Foundation for Email was released in September 2013.

Foundation for Apps was released in December 2014.

Features[edit]

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.[5] This means the graphic design of web pages adjusts dynamically, taking into account the characteristics of the device used (PC, tablet, mobile phone). 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.[6]

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[edit]

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.

Grid system and responsive design[edit]

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 (widescreen). This adjusts the width of the columns automatically.

Understanding CSS stylesheet[edit]

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[edit]

In addition to the regular HTML elements, Foundation contains other commonly used interface elements. These include buttons with advanced features (for example, grouping of buttons or buttons with drop-down option, make and navigation lists, horizontal and vertical tabs, navigation, breadcrumb navigation, pagination, etc.), labels, advanced typographic capabilities, and formatting for messages such as warnings.

JavaScript components and plug-ins[edit]

Official Zurb Foundation Main documentation page for Javascript

The JavaScript components of Foundation 4 were moved from jQuery Javascript 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, Why we dropped Zepto; 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 actually 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.

Plug-ins that use jQuery can be installed that are incorporated into the Foundation framework to provide advanced functionality in any UI area, including animation and "off-canvas" elements like slide-in menus.

JQuery elements like forms will need to be connected to a backend infrastructure (server-based database and scripting) using tools and methods outside the Foundation framework in order to work. External services like MailChimp are still installed as for any static HTML page, and do not require a home-rolled backend.

JQuery has become an acknowledged standard part of the evolution of the web. Wikipedia claims 65% of the top 100 Javascript sites employ it. Javascript itself is considered the de facto standard for frontend web development work, with HTML and CSS (by general consensus.)

Use[edit]

There are three levels of integration for Foundation: CSS, SASS, and Ruby on Rails with the Foundation Rails Gem.[7]

CSS[edit]

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.[8]

SASS[edit]

The Foundation SASS install uses Ruby, NodeJS, 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.[9]

Foundation Rails Gem[edit]

The Foundation Rails gem can be installed by adding "gem 'foundation-rails'" to the Rails Application Gemfile.[10]

See also[edit]

References[edit]

External links[edit]