Skip to main content
CodeSpeedTest
Languages
Start TypingJump into a test — pick any languageAdaptive TrainingUnlock chars as you master themPractice DrillsFocused sessions targeting weak spotsDaily ChallengesNew coding challenges every dayRace ModeCompete against others in real timeAI OpponentRace against an AI at your WPM levelTournamentsLive coding speed tournamentsArcade GamesZType, Overkill Survival, Glyphica & moreGamificationXP, coins, badges & quests
LeaderboardGlobal rankings for every languageCertificatesEarn verifiable Bronze / Silver / Gold certsActivityDaily streaks & historical analyticsProfileYour stats, badges & achievements
Browse Languages500+ languages with real code examplesBlogTips, guides & deep divesFree ToolsWPM calculator, typing speed report & moreFAQCommon questions answeredGetting StartedNew to CodeSpeedTest?AboutOur story & missionSupportGet help — Pro users get priorityContactGet in touch with the team
Pricing
  1. Home
  2. /
  3. Learn
  4. /
  5. Foundation

Learn Foundation - 9 Code Examples & CST Typing Practice Test

Foundation is a responsive front-end framework that provides a mobile-first grid system, prebuilt UI components, and flexible styling utilities. It is designed to speed up development while maintaining accessibility and consistency.

View all 9 Foundation code examples →
Foundation Counter ExampleFoundation Callout ExampleFoundation Top Bar ExampleFoundation Card ExampleFoundation Accordion ExampleFoundation Reveal Modal ExampleFoundation Tabs ExampleFoundation Form ExampleFoundation Table Example

Learn FOUNDATION with Real Code Examples

Updated Nov 23, 2025

Explain

Foundation offers a flexible grid and prebuilt UI components like buttons, forms, and navigation.

It is responsive by default, with a mobile-first approach.

Supports accessibility standards and semantic markup.

Core Features

Flexible grid system (XY & Flex Grid)

Responsive typography and forms

UI components: buttons, cards, modals, dropdowns

JS plugins: accordion, dropdown, tooltip

Accessibility support (ARIA, keyboard navigation)

Basic Concepts Overview

Grid: `.grid-x`, `.grid-margin-x`, `.cell`

Buttons: `.button`, `.success`, `.alert`

Forms: styled inputs, labels, and selects

Typography: headings, body text, lists

JS plugins: Accordion, Dropdown, Reveal modal

Project Structure

index.html - main markup

scss/ - custom Foundation theme overrides

js/ - optional Foundation JS plugins

assets/ - images, fonts, media

node_modules/ - npm packages if used

Building Workflow

Include Foundation CSS & JS via CDN or npm

Use grid classes for layout

Add prebuilt components as needed

Enhance interactivity with JS plugins

Customize via Sass variables for branding

Difficulty Use Cases

Beginner: simple grid layouts and buttons

Intermediate: forms and responsive navigation

Advanced: custom themes and JS plugins

Expert: accessibility compliance & complex layouts

Community: create reusable components or templates

Comparisons

More accessible than early Bootstrap versions

Less utility-driven than Tailwind

Heavier than minimal frameworks

Strong grid system for complex layouts

JS plugins similar to Bootstrap’s components

Versioning Timeline

2011 - Foundation 3 released

2012 - Foundation 4 mobile-first grid

2014 - Foundation 5 with Flex Grid

2016 - Foundation 6 modernized grid & JS plugins

2025 - Continues maintenance with updates

Glossary

XY Grid: Foundation’s responsive grid

Motion UI: built-in animation library

Reveal: modal plugin

Accordion: collapsible content component

Sass: styling customization tool

Installation Setup

Install via npm: `npm install foundation-sites`

Or use CDN: `<link rel='stylesheet' href='https://cdn.jsdelivr.net/npm/foundation-sites/dist/css/foundation.min.css'>`

Include JS plugins via CDN or npm

Optionally compile Sass for custom theming

Integrate with build tools like Gulp, Webpack, or Vite

Environment Setup

Install Node.js & npm

Install Foundation via npm or CDN

Set up Sass compilation if needed

Include JS plugins for interactive components

Start coding using grid & components

Config Files

scss/_settings.scss - theme overrides

scss/foundation.scss - main framework import

js/foundation.js - plugin scripts

index.html - markup

package.json - npm dependencies

Cli Commands

npm install foundation-sites

npm run build-css (custom Sass build)

npm run build-js (plugins)

npm start (local dev server)

Optional Gulp/Webpack integration

Internationalization

Framework is language-agnostic

Form validation messages customizable

Supports RTL via custom CSS

JS plugins are locale-independent

Typography adapts to various languages

Accessibility

Keyboard navigation supported

ARIA roles for modals, accordions, menus

Focus management in interactive components

Semantic HTML encouraged

Screen reader-friendly defaults

Ui Styling

Prebuilt buttons, forms, cards, navigation

Grid-based layout system

Sass-based color and typography customization

Motion UI animations

Accessible and semantic markup

State Management

No built-in state system

JS plugins handle basic interactivity

Reactive frameworks manage dynamic state separately

Classes toggle via JS for visibility

Supports ARIA attributes for accessibility

Data Management

Not directly applicable (CSS/JS framework)

Dynamic behaviors handled via JS plugins

Integrate with REST or frontend frameworks for dynamic data

Use custom JS for client-side interactivity

Forms and inputs managed via Foundation classes

Architecture

Mobile-first, responsive grid

Component-based with prebuilt CSS and JS

Sass variables for theming

Modular JavaScript plugins

Semantic and accessible markup encouraged

Rendering Model

CSS-based grid and utilities

JavaScript-enhanced components

Sass compilation for theme management

Direct DOM manipulation via plugins

Responsive and adaptive rendering

Architectural Patterns

Component-based UI

Mobile-first responsive layouts

Sass-driven customization

JS plugin modularity

Accessibility-focused markup

Real World Architectures

Corporate websites

Dashboards and admin portals

Email templates with Foundation for Emails

Prototyping MVPs

Accessible web apps

Design Principles

Mobile-first design

Accessibility-first components

Flexible and modular grid

Semantic markup

Customizable via Sass

Scalability Guide

Use modular Sass imports

Only include required components

Optimize JS plugin usage

Organize markup and partials efficiently

Leverage grid system for complex layouts

Migration Guide

Foundation 5 -> 6: Flex Grid changes

Update markup for new class names

JS plugin API updates

Sass variable changes

Accessibility improvements adjustments

Performance Notes

Use only required components to reduce CSS size

Compile custom Sass for smaller output

Avoid unnecessary JS plugins for performance

Leverage browser caching

Minify CSS and JS for production

Security Notes

Ensure proper use of ARIA attributes

Avoid unsafe inline scripts

Validate form inputs on server-side

Keep Foundation updated to latest version

Review third-party plugins for vulnerabilities

Monitoring Analytics

Track page performance

Audit CSS & JS size

Check responsive layouts on devices

Monitor accessibility compliance

Ensure consistent component rendering

Code Quality

Follow semantic markup

Keep Sass variables consistent

Avoid unnecessary overrides

Document JS plugin usage

Ensure responsive behavior is consistent

Practical Examples

Corporate websites

Landing pages

Prototyping MVPs

Dashboards with Foundation JS plugins

Accessible forms and navigation

Troubleshooting

Ensure proper inclusion of CSS and JS

Check for conflicts with other frameworks

Verify responsive classes are applied correctly

Check for Sass compilation errors

Make sure JS plugins are initialized

Testing Guide

Test grid and responsive layouts on multiple devices

Verify keyboard and screen reader accessibility

Check JS plugin interactivity

Validate Sass compilation and overrides

Cross-browser testing for CSS/JS

Deployment Options

CDN hosting for CSS/JS

Self-host compiled Sass

Include in static or dynamic sites

Integrate into CMS themes

Use with build tools for production optimization

Tools Ecosystem

Foundation for Emails

Foundation for Apps

Motion UI animations

Foundation Sites JS plugins

Official templates and UI kits

Integrations

React, Vue, Angular via custom wrappers

Static sites and CMS platforms

Node.js and Sass workflow

Gulp/Webpack build processes

Foundation Emails for marketing templates

Productivity Tips

Use modular Sass imports

Leverage JS plugins only when needed

Create reusable components for layouts

Use prebuilt grid for rapid prototyping

Customize theme via _settings.scss

Challenges

Build a responsive landing page

Create a form-heavy dashboard

Implement modals and dropdown menus

Design a custom theme via Sass

Ensure full keyboard accessibility

Learning Path

Learn grid system

Understand prebuilt components

Explore JS plugins

Customize with Sass

Build accessible responsive layouts

Skill Improvement Plan

Week 1: Grid system and layout

Week 2: Buttons, forms, typography

Week 3: Responsive navigation

Week 4: JS plugins (Accordion, Reveal, Dropdown)

Week 5: Custom themes via Sass

Interview Questions

Explain Foundation’s grid system.

How does Foundation handle responsiveness?

Describe Foundation’s JavaScript plugins.

How to customize Foundation via Sass?

Compare Foundation to Bootstrap or Tailwind.

Cheat Sheet

`.grid-x` - grid container

`.cell` - grid item

`.button` - default button

`.menu` - navigation menu

`.reveal` - modal plugin

Books

Foundation HTML and CSS

Building Responsive Websites with Foundation

Foundation for Sites: Beginner to Advanced

Motion UI with Foundation

Accessible Web Design with Foundation

Tutorials

Official Foundation documentation

ZURB Foundation courses

YouTube Foundation tutorials

freeCodeCamp Foundation examples

Community blogs & demos

Official Docs

https://get.foundation/sites/docs/

https://foundation.zurb.com/sites/docs/

https://github.com/foundation/foundation-sites

Community Links

ZURB Forums

Foundation GitHub Discussions

StackOverflow Foundation tag

Reddit r/foundationframework

Twitter #foundationframework

Community Support

Foundation GitHub

ZURB forums

StackOverflow Foundation tag

Reddit r/foundationframework

Official documentation & templates

Monetization

Build custom templates and themes

Create SaaS front-end kits

Offer Foundation-based UI solutions

Consulting on accessible front-end

Develop reusable component libraries

Future Roadmap

Maintain accessibility and mobile-first principles

Keep Sass and JS plugins up to date

Integrate with modern build tools

Enhance performance and bundle size

Support enterprise and prototyping use cases

When Not To Use

Projects needing lightweight atomic utilities

Rapid prototyping with small HTML files

Modern utility-first design systems

Small static landing pages

Teams preferring widely-adopted frameworks like Bootstrap

Final Summary

Foundation is a robust responsive framework for production-ready sites.

Includes grid system, UI components, and JS plugins.

Accessibility and mobile-first design are core principles.

Customizable via Sass for branding and themes.

Best suited for enterprise, prototyping, and complex projects.

Faq

Is Foundation still maintained?

Yes, actively maintained by ZURB.

Can I use Foundation with frameworks?

Yes, but wrappers may be needed.

Does Foundation support accessibility?

Yes, ARIA attributes and keyboard navigation included.

Is it beginner-friendly?

Moderate - requires learning grid & Sass.

Can I customize the theme?

Yes, via Sass variables and partials.

Code Sample Descriptions

1

Foundation Counter Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Counter</title>
</head>
<body>
    <div class="grid-container text-center" id="container">
        <h2>Counter: <span id="count">0</span></h2>
        <div class="button-group">
        <button id="increment" class="button">+</button>
        <button id="decrement" class="button alert">-</button>
        <button id="reset" class="button secondary">Reset</button>
        </div>
        <button id="theme-btn" class="button warning">Switch Theme</button>
    </div>

    <script>
        let count = 0;
        let isDark = false;
        const countEl = document.getElementById('count');
        const container = document.getElementById('container');
        document.getElementById('increment').onclick = () => { count++; countEl.textContent = count; };
        document.getElementById('decrement').onclick = () => { count--; countEl.textContent = count; };
        document.getElementById('reset').onclick = () => { count = 0; countEl.textContent = count; };
        document.getElementById('theme-btn').onclick = () => {
        isDark = !isDark;
        container.classList.toggle('dark-theme', isDark);
        container.classList.toggle('text-white', isDark);
        container.classList.toggle('light-theme', !isDark);
        container.classList.toggle('text-black', !isDark);
        };
    </script>

    <style>
        .dark-theme { background-color: #222; color: #eee; }
        .light-theme { background-color: #fff; color: #000; }
    </style>
</body>
</html>

Demonstrates a simple counter layout using Foundation classes and minimal JavaScript for interactivity.

Let’s Try →
2

Foundation Callout Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Callout</title>
</head>
<body>
    <div class="grid-container">
        <div class="callout primary">
        <h5>Primary Callout</h5>
        <p>This is an example of a Foundation callout box.</p>
        <button class="close-button" aria-label="Dismiss" type="button">
        <span aria-hidden="true">&times;</span>
        </button>
        </div>
    </div>
    <script>
        document.querySelectorAll('.close-button').forEach(btn => {
        btn.onclick = () => btn.parentElement.remove();
        });
    </script>
</body>
</html>

Shows a Foundation callout box for notifications or important messages.

Let’s Try →
3

Foundation Top Bar Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Top Bar</title>
</head>
<body>
    <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="medium">
        <button class="menu-icon" type="button" data-toggle></button>
        <div class="title-bar-title">Menu</div>
    </div>
    <div class="top-bar" id="main-menu">
        <div class="top-bar-left">
        <ul class="dropdown menu" data-dropdown-menu>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Contact</a></li>
        </ul>
        </div>
    </div>
</body>
</html>

Demonstrates a responsive top navigation bar using Foundation Top Bar classes.

Let’s Try →
4

Foundation Card Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Card</title>
</head>
<body>
    <div class="grid-container">
        <div class="grid-x grid-padding-x">
        <div class="cell small-12 medium-6 large-4">
        <div class="card">
        <img src="https://via.placeholder.com/300" alt="Placeholder">
        <div class="card-section">
        <h4>Card Title</h4>
        <p>Example of a card using Foundation.</p>
        </div>
        </div>
        </div>
        </div>
    </div>
</body>
</html>

Shows a simple card layout using Foundation's card component classes.

Let’s Try →
5

Foundation Accordion Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Accordion</title>
</head>
<body>
    <div class="grid-container">
        <ul class="accordion" data-accordion>
        <li class="accordion-item" data-accordion-item>
        <a href="#" class="accordion-title">Section 1</a>
        <div class="accordion-content" data-tab-content>
        <p>Content for Section 1</p>
        </div>
        </li>
        <li class="accordion-item" data-accordion-item>
        <a href="#" class="accordion-title">Section 2</a>
        <div class="accordion-content" data-tab-content>
        <p>Content for Section 2</p>
        </div>
        </li>
        </ul>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/js/foundation.min.js"></script>
    <script>
        $(document).foundation();
    </script>
</body>
</html>

Demonstrates an accordion component for collapsible sections.

Let’s Try →
6

Foundation Reveal Modal Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Modal</title>
</head>
<body>
    <div class="grid-container text-center">
        <button class="button" data-open="exampleModal1">Open Modal</button>
        <div class="reveal" id="exampleModal1" data-reveal>
        <h1>Modal Title</h1>
        <p>This is a Foundation Reveal modal example.</p>
        <button class="close-button" data-close aria-label="Close modal" type="button">
        <span aria-hidden="true">&times;</span>
        </button>
        </div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/js/foundation.min.js"></script>
    <script>
        $(document).foundation();
    </script>
</body>
</html>

Shows how to create a modal dialog using Foundation's Reveal component.

Let’s Try →
7

Foundation Tabs Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Tabs</title>
</head>
<body>
    <div class="grid-container">
        <ul class="tabs" data-tabs id="example-tabs">
        <li class="tabs-title is-active"><a href="#panel1">Tab 1</a></li>
        <li class="tabs-title"><a href="#panel2">Tab 2</a></li>
        <li class="tabs-title"><a href="#panel3">Tab 3</a></li>
        </ul>
        <div class="tabs-content" data-tabs-content="example-tabs">
        <div class="tabs-panel is-active" id="panel1"><p>Content for Tab 1</p></div>
        <div class="tabs-panel" id="panel2"><p>Content for Tab 2</p></div>
        <div class="tabs-panel" id="panel3"><p>Content for Tab 3</p></div>
        </div>
    </div>
    <script src="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/js/foundation.min.js"></script>
    <script>
        $(document).foundation();
    </script>
</body>
</html>

Demonstrates a tabbed interface using Foundation Tabs component.

Let’s Try →
8

Foundation Form Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Form</title>
</head>
<body>
    <div class="grid-container">
        <form>
        <div class="grid-x grid-padding-x">
        <div class="cell small-12">
        <label>Name
        <input type="text" placeholder="Your Name">
        </label>
        </div>
        <div class="cell small-12">
        <label>Email
        <input type="email" placeholder="Your Email">
        </label>
        </div>
        <div class="cell small-12">
        <button class="button">Submit</button>
        </div>
        </div>
        </form>
    </div>
</body>
</html>

Shows a simple form layout using Foundation form classes.

Let’s Try →
9

Foundation Table Example

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/foundation-sites@6.7.5/dist/css/foundation.min.css">
    <title>Foundation Table</title>
</head>
<body>
    <div class="grid-container">
        <table class="hover stack">
        <thead>
        <tr>
        <th>Name</th>
        <th>Email</th>
        <th>Role</th>
        </tr>
        </thead>
        <tbody>
        <tr>
        <td>John Doe</td>
        <td>john@example.com</td>
        <td>Admin</td>
        </tr>
        <tr>
        <td>Jane Smith</td>
        <td>jane@example.com</td>
        <td>User</td>
        </tr>
        </tbody>
        </table>
    </div>
</body>
</html>

Demonstrates a responsive table using Foundation table classes.

Let’s Try →

Frequently Asked Questions about Foundation

What is Foundation?

Foundation is a responsive front-end framework that provides a mobile-first grid system, prebuilt UI components, and flexible styling utilities. It is designed to speed up development while maintaining accessibility and consistency.

What are the primary use cases for Foundation?

Responsive web apps. Corporate websites. Prototyping and MVPs. Design systems and UI kits. Accessible front-end development

What are the strengths of Foundation?

Solid accessibility support. Responsive and mobile-first. Highly customizable via Sass. Component-rich with JS utilities. Trusted for enterprise-scale projects

What are the limitations of Foundation?

Less popular than Bootstrap - smaller community. Heavier bundle if unused components aren’t purged. Learning curve for XY Grid and Sass customization. Verbose markup compared to utility-first frameworks. Less frequent updates compared to modern frameworks

How can I practice Foundation typing speed?

CodeSpeedTest offers 9+ real Foundation code examples for typing practice. You can measure your WPM, track accuracy, and improve your coding speed with guided exercises.

Learn Other Programming Languages

CReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypherGremlinPartiqlHaskellElixirFsharpView all languages →
CodeSpeedTest

Improve your coding speed, code accuracy, and programming syntax WPM with practice sessions across 500+ programming languages.

Quick Links

HomeAboutFeaturesGetting StartedLanguages

Legal & Support

Pro ⚡ PricingContactPrivacy PolicyTerms of Service

Connect

CodeSpeedTest on GitHubCodeSpeedTest on TwitterEmail CodeSpeedTest

© 2026 CodeSpeedTest. All rights reserved.