Book Image

HTML5 and CSS3: Building Responsive Websites

By : Ben Frain, Thoriq Firdaus, Benjamin LaGrone
Book Image

HTML5 and CSS3: Building Responsive Websites

By: Ben Frain, Thoriq Firdaus, Benjamin LaGrone

Overview of this book

Responsive web design is an explosive area of growth in modern web development due to the huge volume of different device sizes and resolutions that are now commercially available. The Internet is going mobile. Desktop-only websites just aren’t good enough anymore. With mobile internet usage still rising and tablets changing internet consumption habits, you need to know how to build websites that will just “work,” regardless of the devices used to access them. This Learning Path course explains all the key approaches necessary to create and maintain a modern responsive design using HTML5 and CSS3. Our first module is a step-by-step introduction to ease you into the responsive world, where you will learn to build engaging websites. With coverage of Responsive Grid System, Bootstrap, and Foundation, you will discover three of the most robust frameworks in responsive web design. Next, you’ll learn to create a cool blog page, a beautiful portfolio site, and a crisp professional business site and make them all totally responsive. Packed with examples and a thorough explanation of modern techniques and syntax, the second module provides a comprehensive resource for all things “responsive.” You’ll explore the most up-to-date techniques and tools needed to build great responsive designs, ensuring that your projects won’t just be built “right” for today, but in the future too. The last and the final module is your guide to obtaining full access to next generation devices and browser technology. Create responsive applications that make snappy connections for mobile browsers and give your website the latest design and development advantages to reach mobile devices. At the end of this course, you will learn to get and use all the tools you need to build and test your responsive web project performance and take your website to the next level. This Learning Path combines some of the best that Packt has to offer in one complete, curated package. It includes content from the following Packt products: ?Responsive Web Design by Example: Beginner’s Guide - Second Edition by Thoriq Firdaus ?Responsive Web Design with HTML5 and CSS3 - Second Edition by Ben Frain ?HTML5 and CSS3 Responsive Web Design Cookbook by Benjamin LaGrone
Table of Contents (6 chapters)

In this era, where many people are connected to the Internet, having a website becomes an essential for a company of any size—a small company or a Fortune 500 company with multibillion businesses. Therefore, in this third project of this module, we are going to build a responsive website for business.

To build the website, we will adopt a new framework called Foundation. Foundation is built by ZURB, a web-development agency based in California. It's a meticulously crafted framework with a stack of interactive widgets. On the technical side, Foundation styles are built on top of Sass and SCSS. Hence, we will also walk through the subject during the course of working on the project.

To work towards this project, first let's assume that you have a business idea. It might be a bit exaggerated, but it's a brilliant idea that could potentially turn into a multibillion-dollar business and change the world. You have an awesome product baked, and now it's time to build the website. You are very excited and cannot wait to rock the world.

So, without further ado, let's get the project started.

This chapter will primarily revolve around Foundation, and the topics that we are going to cover herein include:

First and foremost, unlike the previous two projects we did, we are going to examine the website layout in wireframe before going any further in the chapter. After examining it, we will discover the Foundation components that are required for the website, along with the components and assets that may not be available in the Foundation package. The following is the website layout in the normal desktop screen size:

Examining the website layout

The preceding wireframe shows that the website will have five sections. The first section, plainly, is the header. The header section will contain the website logo, menu navigation, a few lines of catchphrases, and a button—many call it a call-to-action button.

Normally, people need to get as much information as they can about the advantages and disadvantages before deciding to buy. So, under the header, we will display the list of items of the product or the key features offered.

In addition to the features list, we will also display customer testimonials within a slider. According to www.entrepreneur.com (http://www.entrepreneur.com/article/83752), displaying customer testimonials is one of the effective ways to drive more customers or sales, which is eventually good for business.

Below the testimonial section, the website will display the plan and price tables. And the last section will be the footer, containing secondary website navigation and links to Facebook and Twitter.

Let's now see how the website's layout will be in a smaller viewport size, which is as follows:

Examining the website layout

Much like the websites we built in the previous projects, all the content will be stacked. The catchphrases and the call-to-action button are aligned to the center. The menu in the navigation is now depicted as the hamburger icon. Next, we will see what Foundation has to offer in its package to build the website.

Foundation (http://foundation.zurb.com/) is one of the most popular frontend development frameworks. It is used by a number of notable companies, such as Pixar, Washington Post, Warby Parker (https://www.warbyparker.com/), and so on. As mentioned, Foundation ships with common web components and interactive widgets. Herein, we will look into the components, as well as the widgets we are going to employ for the website.

The grid system is an integral part of a framework. It is one thing that makes managing web layout feel like a breeze. Foundation's grid system comprises twelve columns that can adapt to narrow viewport size through the drop-in classes provided. Similar to both the frameworks we explored in the previous chapters, the grid consists of rows and columns. Every column has to be wrapped within a row for the layout to span properly.

In Foundation, apply the row class to define an element as a row, and apply the element with the columns or column class to define it as a column. For example:

You may also omit the s from columns, as follows:

The column size is defined through the following series of classes:

These classes can be applied in conjunction within a single element. For example:

The preceding example gives the following result in the browser:

The grid system

Resize the viewport size such that it is small enough and that the columns' width shifts following the assigned classes. In this case, each column has an equal width since both of them are assigned with the small-6 class:

The grid system

One of the important sections on a website is the navigation. The navigation helps users to browse the website from one page to another. Foundation, in this case, provides a couple of navigation types, and among them, one is called the top bar. Foundation's top bar will reside at the very top of the website before any content or section. The following is how the top bar will appear with the Foundation default style:

The navigation and top bar

The top bar is responsive. Try resizing the browser's viewport size such that it is small enough, and you will find that the navigation is concealed within the menu, which requires us to click on MENU to reveal the full list of the menu items:

The navigation and top bar

The Foundation top bar is primarily formed with the top-bar class to apply the styles, the data-topbar attribute to run the JavaScript function related to the top bar, and finally role="navigation" for better accessibility.

So, the following code is how we start to build the top bar in Foundation:

Foundation splits the top bar content into two sections. The left-hand side area is called the title area, consisting of the website name or logo. Foundation constructs this section with the list element, as follows:

The second section is simply called the top bar section. Typically, this section contains the menu, buttons, and search form. Foundation sets this section using the top-bar-section class, along with the left and right class to specify the alignment. So, to put it all together, the following is the complete code to build a basic Foundation top bar, as you see in the preceding screenshots:

Certainly, you will have to link the Foundation CSS style sheet beforehand in the document to see the top bar look.

The carousel or slider is one of the most popular design patterns on the web. Despite the debate with respect to its accessibility, many people still love to have it on their website—and so do we. Herein, we want to employ Orbit (http://foundation.zurb.com/docs/components/orbit.html), the Foundation jQuery plugin to display a content slider.

Orbit is customizable in that we can fully control the output, as well as the behavior of the slide through classes, attributes, or JavaScript initiation. We can also add almost anything within the Orbit slides, including textual content, images, links, and the mix. And needless to say, we can style most of its parts.

The grid system

The grid system is an integral part of a framework. It is one thing that makes managing web layout feel like a breeze. Foundation's grid system comprises twelve columns that can adapt to narrow

viewport size through the drop-in classes provided. Similar to both the frameworks we explored in the previous chapters, the grid consists of rows and columns. Every column has to be wrapped within a row for the layout to span properly.

In Foundation, apply the row class to define an element as a row, and apply the element with the columns or column class to define it as a column. For example:

You may also omit the s from columns, as follows:

The column size is defined through the following series of classes:

These classes can be applied in conjunction within a single element. For example:

The preceding example gives the following result in the browser:

The grid system

Resize the viewport size such that it is small enough and that the columns' width shifts following the assigned classes. In this case, each column has an equal width since both of them are assigned with the small-6 class:

The grid system

One of the important sections on a website is the navigation. The navigation helps users to browse the website from one page to another. Foundation, in this case, provides a couple of navigation types, and among them, one is called the top bar. Foundation's top bar will reside at the very top of the website before any content or section. The following is how the top bar will appear with the Foundation default style:

The navigation and top bar

The top bar is responsive. Try resizing the browser's viewport size such that it is small enough, and you will find that the navigation is concealed within the menu, which requires us to click on MENU to reveal the full list of the menu items:

The navigation and top bar

The Foundation top bar is primarily formed with the top-bar class to apply the styles, the data-topbar attribute to run the JavaScript function related to the top bar, and finally role="navigation" for better accessibility.

So, the following code is how we start to build the top bar in Foundation:

Foundation splits the top bar content into two sections. The left-hand side area is called the title area, consisting of the website name or logo. Foundation constructs this section with the list element, as follows:

The second section is simply called the top bar section. Typically, this section contains the menu, buttons, and search form. Foundation sets this section using the top-bar-section class, along with the left and right class to specify the alignment. So, to put it all together, the following is the complete code to build a basic Foundation top bar, as you see in the preceding screenshots:

Certainly, you will have to link the Foundation CSS style sheet beforehand in the document to see the top bar look.

The carousel or slider is one of the most popular design patterns on the web. Despite the debate with respect to its accessibility, many people still love to have it on their website—and so do we. Herein, we want to employ Orbit (http://foundation.zurb.com/docs/components/orbit.html), the Foundation jQuery plugin to display a content slider.

Orbit is customizable in that we can fully control the output, as well as the behavior of the slide through classes, attributes, or JavaScript initiation. We can also add almost anything within the Orbit slides, including textual content, images, links, and the mix. And needless to say, we can style most of its parts.

The buttons

The button is

One of the important sections on a website is the navigation. The navigation helps users to browse the website from one page to another. Foundation, in this case, provides a couple of navigation types, and among them, one is called the top bar. Foundation's top bar will reside at the very top of the website before any content or section. The following is how the top bar will appear with the Foundation default style:

The navigation and top bar

The top bar is responsive. Try resizing the browser's viewport size such that it is small enough, and you will find that the navigation is concealed within the menu, which requires us to click on MENU to reveal the full list of the menu items:

The navigation and top bar

The Foundation top bar is primarily formed with the top-bar class to apply the styles, the data-topbar attribute to run the JavaScript function related to the top bar, and finally role="navigation" for better accessibility.

So, the following code is how we start to build the top bar in Foundation:

Foundation splits the top bar content into two sections. The left-hand side area is called the title area, consisting of the website name or logo. Foundation constructs this section with the list element, as follows:

The second section is simply called the top bar section. Typically, this section contains the menu, buttons, and search form. Foundation sets this section using the top-bar-section class, along with the left and right class to specify the alignment. So, to put it all together, the following is the complete code to build a basic Foundation top bar, as you see in the preceding screenshots:

Certainly, you will have to link the Foundation CSS style sheet beforehand in the document to see the top bar look.

The carousel or slider is one of the most popular design patterns on the web. Despite the debate with respect to its accessibility, many people still love to have it on their website—and so do we. Herein, we want to employ Orbit (http://foundation.zurb.com/docs/components/orbit.html), the Foundation jQuery plugin to display a content slider.

Orbit is customizable in that we can fully control the output, as well as the behavior of the slide through classes, attributes, or JavaScript initiation. We can also add almost anything within the Orbit slides, including textual content, images, links, and the mix. And needless to say, we can style most of its parts.

The navigation and top bar

One of the important

sections on a website is the navigation. The navigation helps users to browse the website from one page to another. Foundation, in this case, provides a couple of navigation types, and among them, one is called the top bar. Foundation's top bar will reside at the very top of the website before any content or section. The following is how the top bar will appear with the Foundation default style:

The navigation and top bar

The top bar is responsive. Try resizing the browser's viewport size such that it is small enough, and you will find that the navigation is concealed within the menu, which requires us to click on MENU to reveal the full list of the menu items:

The navigation and top bar

The Foundation top bar is primarily formed with the top-bar class to apply the styles, the data-topbar attribute to run the JavaScript function related to the top bar, and finally role="navigation" for better accessibility.

So, the following code is how we start to build the top bar in Foundation:

Foundation splits the top bar content into two sections. The left-hand side area is called the title area, consisting of the website name or logo. Foundation constructs this section with the list element, as follows:

The second section is simply called the top bar section. Typically, this section contains the menu, buttons, and search form. Foundation sets this section using the top-bar-section class, along with the left and right class to specify the alignment. So, to put it all together, the following is the complete code to build a basic Foundation top bar, as you see in the preceding screenshots:

Certainly, you will have to link the Foundation CSS style sheet beforehand in the document to see the top bar look.

The carousel or slider is one of the most popular design patterns on the web. Despite the debate with respect to its accessibility, many people still love to have it on their website—and so do we. Herein, we want to employ Orbit (http://foundation.zurb.com/docs/components/orbit.html), the Foundation jQuery plugin to display a content slider.

Orbit is customizable in that we can fully control the output, as well as the behavior of the slide through classes, attributes, or JavaScript initiation. We can also add almost anything within the Orbit slides, including textual content, images, links, and the mix. And needless to say, we can style most of its parts.

The pricing tables

Whether you are selling products or services, you should name your price.

As we will build a website for business, we will need to display pricing tables. Fortunately, Foundation

The carousel or slider is one of the most popular design patterns on the web. Despite the debate with respect to its accessibility, many people still love to have it on their website—and so do we. Herein, we want to employ Orbit (http://foundation.zurb.com/docs/components/orbit.html), the Foundation jQuery plugin to display a content slider.

Orbit is customizable in that we can fully control the output, as well as the behavior of the slide through classes, attributes, or JavaScript initiation. We can also add almost anything within the Orbit slides, including textual content, images, links, and the mix. And needless to say, we can style most of its parts.

Moving around Orbit

The carousel or

slider is one of the most popular design patterns on the web. Despite the debate with respect to its accessibility, many people still love to have it on their website—and so do we. Herein, we want to employ Orbit (http://foundation.zurb.com/docs/components/orbit.html), the Foundation jQuery plugin to display a content slider.

Orbit is customizable in that we can fully control the output, as well as the behavior of the slide through classes, attributes, or JavaScript initiation. We can also add almost anything within the Orbit slides, including textual content, images, links, and the mix. And needless to say, we can style most of its parts.

How is Orbit constructed?

Foundation uses the list element to construct the slide container, as well as the slides, and initiates the functionality
Adding add-ons, the font Icons

Foundation also Further on Foundation

Detailing every corner and

There are several files that we will need in addition to Foundation's own components. These files encompass the image cover for the website header, the icons that will represent the feature in the website feature list section, the favicon image as well as the Apple icons, the avatar image to display in the testimonial section, and finally (which is also important) the website logo.

In terms of the header image, we will use the following image photographed by Alejandro Escamilla, which shows a man working with his Macbook Air; the screen seems off though (http://unsplash.com/post/51493972685/download-by-alejandro-escamilla):

Additional required assets

The icons to display alongside the feature list items are designed by Nick Frost from Ballicons (http://ballicons.net/). Among the icons in the collection that we will include in the website are the following:

Additional required assets

The following are the favicon and the Apple icon, which are generated using a Photoshop action called AppIconTemplate (http://appicontemplate.com/):

Additional required assets

Favicon and the Apple icon

We will use the mystery man of WordPress as the default avatar. This avatar image will be displayed above the testimonial lines, as shown in the following wireframe:

Additional required assets

The mystery man

The logo of this website is made with SVG for the sake of clarity and scalability. The logo is shown in the following screenshot:

Additional required assets

You can get all these assets from the source files that come along with this module. Otherwise, grab them from the URL that we showed in the preceding paragraphs.

  1. In the htdocs folder, create a new folder, and name it startup. This is the folder in which the website will live.
  2. Within the startup folder, create a folder named assets to contain all the assets like the style sheets, JavaScripts, images, and others.
  3. Inside the assets folder create folders to group these assets:
    • css for the style sheets.
    • js to contain the JavaScripts.
    • scss to contain SCSS style sheet (more about SCSS in the next chapter).
    • img to contain the images.
    • fonts to contain the font icons.
  4. Add the images, including the website logo, header image, icons, and the avatar image, as shown in the following screenshot:
    Time for action – organizing the project directories, assets, and dependencies
  5. Now, we will download the project dependencies, which will include the Foundation framework, the icons, jQuery, and a couple of other libraries. Hence, let's open a terminal or command prompt if you are using Windows. Then, navigate to the project directory with the cd command:
    • In Windows: cd \xampp\htdocs\startup
    • In OSX: cd /Applications/XAMPP/htdocs/startup
    • In Ubuntu: cd /opt/lampp/htdocs/startup
  6. As we did in the second project, type the command, fill out the prompts to set the project specification, including the project name and the project version, as shown in the following screenshot:
    Time for action – organizing the project directories, assets, and dependencies

    When all the prompts are filled and completed, Bower will generate a new file named bower.json to put all the information in.

  7. Before we install the project dependencies, we will set the dependencies folder destination. To do so, create a dot file named .bowerrc. Save the file with the following lines in it:
    {
      "directory": "components"
    }

    This line will tell Bower to name the folder components instead of bower_components. And once the configuration is set, we are ready to install the libraries, starting with installing the Foundation package.

  8. To install the Foundation package through Bower, type bower install foundation ––save. Make sure that the --save parameter is included to record Foundation within the bower.json file.
  9. The Foundation font icon is set in a separate repository. To install it, type the bower install foundation-icons --save command.
  10. The Foundation icon package comes with the style sheet that specifies and presents the icon through HTML classes and also the icon files. Herein, we need to make a copy of the font from the package folder into our own fonts folder. Have a look at the following screenshot:
    Time for action – organizing the project directories, assets, and dependencies
What just happened?

We just created the project directory, as well as folders to organize the project assets. In addition, we also installed the libraries that are required to build the website through Bower, which include the Foundation framework.

Having added in the images and the libraries, we will build the website's home page markup in the next section. So, without further ado, let's move on, and it's time for action again.

  1. Create a new HTML file named index.html. Then, open it in Sublime Text, our code editor of choice In this module.
  2. Let's add the basic HTML5 structure as follows:
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Startup</title>
    </head>
    <body>
      
    </body>
    </html>
  3. Add the meta X-UA-Compatible variable with the content value IE=edge to allow Internet Explorer to use its latest cutting-edge rendering version:
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  4. Not to forget the meta viewport tag required to make the website responsive; add it in <head> as follows:
    <meta name="viewport" content="width=device-width, initial-scale=1">
  5. Add the favicon, as well as the Apple icon, below the meta viewport tag, as follows:
    <link rel="apple-touch-icon" href="assets/img/apple-icon.png">
    <link rel="shortcut icon" href="assets/img/favicon.png" type="image/png">
  6. Add the meta description for the search engine result purposes:
    <meta name="description" content="A startup company website built using Foundation">
  7. The HTML markup for the content will follow the Foundation guidelines, as we have discussed in the early sections of this module. In addition, we may add extra classes in the elements to customize the styles. Let's start off by adding the website <header>, for which, add the following lines within <body>:
    <header class="startup-header">
    ...
    </header>
  8. Next, add the website navigation bar within the header, as follows:
    <header class="startup-header">
    <div class="contain-to-grid startup-top-bar">
    <nav class="top-bar" data-topbar>
         <ul class="title-area">
               <li class="name startup-name">
                     <h1><a href="#">Startup</a></h1>
                   </li>
    <li class="toggle-topbar menu-icon">
                     <a href="#"><span>Menu</span></a>
    </li>
    </ul>
             <section class="top-bar-section">
               <ul class="right">
                     <li><a href="#">Features</a></li>
    <li><a href="#">Pricing</a></li>
    <li><a href="#">Blog</a></li>
    <li class="has-form log-in"><a href="" class="button secondary round">Log In</a></li>
    <li class="has-form sign-up"><a href="#" class="button round">Sign Up</a></li>
                   </ul>
    </section>
    </nav>
    </div>
    </header>
  9. Below the navigation bar HTML markup, we add the catchphrase and call-to-action button, as follows:
    <header class="startup-header"> 
      ...
    <div class="panel startup-hero">
           <div class="row">
    <h2 class="hero-title">Stay Cool and be Awesome</h2>
    <p class="hero-lead">The most awesome web application in the galaxy.</p>
    </div>
           <div class="row">
    <a href="#" class="button success round">Signup</a>
           </div>
    </div>
    </header>
  10. Next, we will add the website's body content that will contain the product feature list section, the testimonial section, and the plan table price. First, add a <div> that will wrap the body content sections below the header, as follows:
    <div class="startup-body">
      ...
    </div>
  11. Within <div>, we add the HTML markup for the feature list section, as follows:
    <div class="startup-body">
    <div class="startup-features">
    <div class="row">
         <div class="medium-6 columns">
               <div class="row">
                   <div class="small-3 medium-4 columns">
                   <figure>
    <img src="assets/img/analytics.png" height="128" width="128" alt="">
                   </figure>
    </div>
             <div class="small-9 medium-8 columns">
               <h4>Easy</h4>
    <p>This web application is super easy to use. No complicated setup. It just works out of the box.</p>
     </div>
              </div>
              </div>
              <div class="medium-6 columns">
                <div class="row">
    <div class="small-3 medium-4 columns">
                         <figure>
                        <img src="assets/img/clock.png" height="128" width="128" alt="">
                        </figure>
                            </div>
                            <div class="small-9 medium-8 columns">
                                <h4>Fast</h4>
                                <p>This web application runs in a blink of eye. There is no other application that is on par with our application in term of speed.</p>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="row">
                    <div class="medium-6 columns">
                        <div class="row">
    <div class="small-3 medium-4 columns">
                             <figure>
    <img src="assets/img/target.png" height="128" width="128" alt="">
    </figure>
                            </div>
    <div class="small-9 medium-8 columns">
        <h4>Secure</h4>
    <p>Your data is encyrpted with the latest Kryptonian technology. It will never be shared to anyone. Rest assured, your data is totally safe.</p>
                            </div>
                        </div>
                    </div>
                    <div class="medium-6 columns">
                        <div class="row">
                            <div class="small-3 medium-4 columns">
                                <figure>
                                    <img src="assets/img/bubbles.png" height="128" width="128" alt="">
                                </figure>
                            </div>
                            <div class="small-9 medium-8 columns">
                                <h4>Awesome</h4>
                                <p>It's simply the most awesome web application and make you the coolest person in the galaxy. Enough said.</p>
                            </div>
    </div>
                </div>
           </div>
    </div>
    </div> 

    The column division for this section refers to the layout shown in the website wireframe. So, as you can see from the preceding code that we just added, each feature list item is assigned with medium-6 columns, hence the column width of each item will be equal.

  12. Below the feature list section, we add the testimonial section's HTML markup, as follows:
    <div class="startup-body">
    ...
    <div class="startup-testimonial">
                <div class="row">
                    <ul class="testimonial-list" data-orbit>
                        <li data-orbit-slide="testimonial-1">
                            <div>
                                <blockquote>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolor numquam quaerat doloremque in quis dolore enim modi cumque eligendi eius.</blockquote>
                                <figure>
                                    <img class="avatar" src="assets/img/mystery.png" height="128" width="128" alt="">
                                    <figcaption>John Doe</figcaption>
                                </figure>
                            </div>
                        </li>
                        <li data-orbit-slide="testimonial-2">
                            <div>
                                <blockquote>Lorem ipsum dolor sit amet, consectetur adipisicing elit.</blockquote>
                                <figure>
                                    <img class="avatar" src="assets/img/mystery.png" height="128" width="128" alt="">
                                    <figcaption>Jane Doe</figcaption>
                                </figure>
                            </div>
                        </li>
                    </ul>
                </div>
            </div>
    </div>
  13. Referring to the layout in the wireframe, we should add the plan price table below the testimonial section, as follows:
    <div class="startup-body">
    <!-- ... feature list section … -->
    <!-- ... testimonial section … --> 
    <div class="startup-pricing">
                <div class="row">
                    <div class="medium-4 columns">
                        <ul class="pricing-table pricing-basic">
                            <li class="title">Basic</li>
                            <li class="price">$10<small>/month</small></li>
                            <li class="description">Perfect for personal use.</li>
                            <li class="bullet-item">1GB Storage</li>
                            <li class="bullet-item">1 User</li>
                            <li class="bullet-item">24/7 Support</li>
                            <li class="cta-button"><a class="button success round" href="#">Sign Up</a></li>
                        </ul>
                    </div>
                    <div class="medium-4 columns">
                        <ul class="pricing-table pricing-team">
                            <li class="title">Team</li>
                            <li class="price">$50<small>/month</small></li>
                            <li class="description">For a small team.</li>
                            <li class="bullet-item">50GB Storage</li>
                            <li class="bullet-item">Up to 10 Users</li>
                            <li class="bullet-item">24/7 Support</li>
                            <li class="cta-button"><a class="button success round" href="#">Sign Up</a></li>
                        </ul>
                    </div>
                    <div class="medium-4 columns">
                        <ul class="pricing-table pricing-enterprise">
                            <li class="title">Enterprise</li>
                            <li class="price">$300<small>/month</small></li>
                            <li class="description">For large corporation</li>
                            <li class="bullet-item">Unlimited Storage</li>
                            <li class="bullet-item">Unlimited Users</li>
                            <li class="bullet-item">24/7 Priority Support</li>
                            <li class="cta-button"><a class="button success round" href="#">Sign Up</a></li>
                        </ul>
                    </div>
                </div>
            </div>
    </div>
  14. Finally, we add the website footer below the body content, as follows:
    </div> <!—the body content end --> 
    <footer class="startup-footer">
            <div class="row footer-nav">
                <ul class="secondary-nav">
                    <li><a href="#">About</a></li>
                    <li><a href="#">Contact</a></li>
                    <li><a href="#">Help</a></li>
                    <li><a href="#">Careers</a></li>
                    <li><a href="#">Terms</a></li>
                    <li><a href="#">Privacy</a></li>
                </ul>
                <ul class="social-nav">
                    <li><a class="foundicon-facebook" href="#">Facebook</a></li>
                    <li><a class="foundicon-twitter" href="#">Twitter</a></li>
                </ul>
            </div>
            <div class="row footer-copyright">
                <p>Copyright 2014 Super Awesome App. All rights reserved.</p>
            </div>
        </footer>
    </body> 
What just happened?

We just built the HTML markup for the website content and sections by following the Foundation guidelines. We also added extra classes along the way to customize the Foundation default