Project: Using Bootstrap

Introduction

In this project, you’ll get a chance to try out Twitter’s Bootstrap framework by building a site that actually uses it — Newsweek.

Assignment

Note: As usual, ignore any ads, icons, and interactive elements (which use Javascript). If you really want to grab icons, try taking a screenshot of them and making an image file out of that.

  1. Go to newsweek.com and have a look around.

  2. Set up a private Github repository for this project.

  3. Create a new HTML document.

  4. Think about all the elements on the page and how they are grouped together.

  5. Add Bootstrap to your project by following the instructions at GetBootstrap.com. Use the examples on that page as templates for how to organize your page.

  6. Lay out the basic structure of the page using empty semantic HTML elements that are appropriately sized and which are positioned by using the appropriate Bootstrap classes.

  7. Set up the top title and navigation bar.

  8. Work your way down the page by filling in and positioning the additional sections.

  9. Try resizing the browser to see if it mimics the behavior of the real Newsweek homepage.

  10. Push your solution to Github and submit the repo’s URL.

Additional Resources

  • Suggest some in the comments below!
LOOKING FOR HELP?

When looking for help, try doing so in the following order:

  • Did you try everything you could?
  • Did you read the documentation?
  • Did you Google for it?
  • Did you post your question on Slack/Forum?
  • Did you ask your fellow students for help?
  • Did you ask your Mentors for help?
  • Did you leave a comment on the comments section of this page?
  • Did you ask your Instructor for help?
    • Did you arrange and appointment with your instructor using Calendly? Visit this URL and set up an appointment: https://calendly.com/kostasx
    • Is it urgent? Did you try reaching him on Slack? Search for: Kostas Minaidis (kostasx)

UPDATED: 02.11.2020

CSS Frameworks like Bootstrap and Foundation

Introduction

You’ve spent plenty of time building up a great base of knowledge of HTML and CSS and even design. But it’s still a pain in the butt to lay out everything manually and keep repeating yourself all the time when writing your code. If only there was a way to save yourself all kinds of effort…

Frameworks to the rescue! Frameworks like Twitter Bootstrap and Zurb Foundation have done all the heavy lifting of packaging up commonly used CSS code and even icons and interactions (like menu dropdowns) for you. All you have to do is understand how they expect you to lay out your site and which classes they use to designate particular batches of styles.

Frameworks let you focus more on building great sites and less on how they are actually coded up on the front end. They are great for learning and great for rapidly producing sites. Once you’ve taken a tour through Bootstrap, you’ll start looking at every site you see (especially startup ones) and notice an awful lot of similarities… one of the downsides of the frameworks.

Learning Objectives

  • What are CSS frameworks?
  • How do frameworks actually work?
  • How do you interact with the framework to get the look you want?
  • What is Twitter Bootstrap?
  • What is Zurb Foundation?
  • What is TailwindCSS?
  • What other frameworks can you find out there?
  • What are the disadvantages of using frameworks?

Study

  1. Read From A List Apart, Frameworks for Designers

  2. Read From A List Apart, Building Twitter Bootstrap

  3. Watch this next video on Bootstrap 5 and learn all about the framework and its practical uses:

Duration: 85 minutes

  1. Choosing Bootstrap or Foundation

  2. Browse through Getting Started with Foundation for an idea of how that framework operates. Observe the similarities and differences between that and Bootstrap.

  3. Take a brief look at TailwindCSS for a more unique and modern approach to CSS frameworks.

Additional Resources

Exercise

Download this HTML template and try to make it look like the screenshot below, just by using Bootstrap 5 classes.

Once finished, upload the code in a private GitHub repository named sha-quiz-css-bootstrap5 and submit the URL in the Quiz below.


Material based on Erik Trautman | The Odin Project
LOOKING FOR HELP?

When looking for help, try doing so in the following order:

  • Did you try everything you could?
  • Did you read the documentation?
  • Did you Google for it?
  • Did you post your question on Slack/Forum?
  • Did you ask your fellow students for help?
  • Did you ask your Mentors for help?
  • Did you leave a comment on the comments section of this page?
  • Did you ask your Instructor for help?
    • Did you arrange and appointment with your instructor using Calendly? Visit this URL and set up an appointment: https://calendly.com/kostasx
    • Is it urgent? Did you try reaching him on Slack? Search for: Kostas Minaidis (kostasx)

UPDATED: 30.10.2020

Project: Building With Responsive Design

Introduction

In this project, you’ll get the chance to build a responsive website. We’ll be cloning The Next Web, a tech-focused magazine which uses media queries to gracefully degrade their site as the window size is reduced.

The process will be quite similar to what we’ve done before. At this point, you should be much faster at setting up a site layout and positioning the elements than when you first started.

Assignment

As usual, don’t worry about the small stuff like sharing buttons or comments or javascript-enabled widgets like the endless scroll feature.

  1. Visit The Next Web and poke around their home page. Play with changing the window width and see how the site changes (for instance when the sidebar gets hidden).

  2. Set up a private Github repository for this project and add your instructor(s) as collaborator(s).

  3. Create a new HTML document.

  4. Think about all the elements on the page and how they are grouped together.

  5. Try to discover which browser widths are "breakpoints" where element properties change (e.g. the sidebar disappearing). Make a plan for which elements need to be modified at which widths.

  6. Lay out the basic structure of the page using empty semantic HTML elements that are appropriately sized and positioned. You may want to make their background colors different so you can see them. Don’t forget to use your browser’s developer tools (right click on the page, click "inspect element")!

  7. Now — before you’ve filled in any of these divs — add in the media queries and positioning/floating attributes that are needed to make them rearrange as necessary when the browser changes sizes.

  8. Once you’ve got the page layout performing as it should, fill in the divs and style them to look like the original homepage. Don’t get lost in the details — it’s okay if it isn’t exact.

  9. Double check that all the elements still behave just like the original when the browser size is changed.

  10. Push your solution to Github.

Additional Resources

  • Suggest some in the comments below!
LOOKING FOR HELP?

When looking for help, try doing so in the following order:

  • Did you try everything you could?
  • Did you read the documentation?
  • Did you Google for it?
  • Did you post your question on Slack/Forum?
  • Did you ask your fellow students for help?
  • Did you ask your Mentors for help?
  • Did you leave a comment on the comments section of this page?
  • Did you ask your Instructor for help?
    • Did you arrange and appointment with your instructor using Calendly? Visit this URL and set up an appointment: https://calendly.com/kostasx
    • Is it urgent? Did you try reaching him on Slack? Search for: Kostas Minaidis (kostasx)

UPDATED: 02.11.2020

Responsive Design

Introduction

Responsive design is creating websites that respond to the user’s context, whether that is the device they are viewing on, the size of their browser, or their accessibility needs. Lucky for you, there are lots of good tools that help you easily start making websites responsive. It’s not rocket science to do a pretty good job at a responsive site, though it’s a lot more work to get one that really nails it.

Duration: 2 minutes

Learning Objectives

  • What is responsive design?
  • Why is responsive design important to your users?
  • How do you make a "fluid" layout?
  • What are Media Queries?
  • How do you use media queries to make your website responsive?

Study

  1. Read A List Apart’s comprehensive introduction to responsive design

  2. Watch the next short video and get a quick overview of the very important CSS media queries:

Duration: 7 minutes

  1. Read over the Responsive Web Tutorial from Lingulo, though you don’t have to build it.

Tools

Here is a list of tools that you might want to bookmark, as they will help you in your journey through the world of responsive design:

  • Viewport Dimensions. Find your phone screen dimensions in a handy list of viewport sizes by device.

Additional Resources


Material based on Erik Trautman | The Odin Project
LOOKING FOR HELP?

When looking for help, try doing so in the following order:

  • Did you try everything you could?
  • Did you read the documentation?
  • Did you Google for it?
  • Did you post your question on Slack/Forum?
  • Did you ask your fellow students for help?
  • Did you ask your Mentors for help?
  • Did you leave a comment on the comments section of this page?
  • Did you ask your Instructor for help?
    • Did you arrange and appointment with your instructor using Calendly? Visit this URL and set up an appointment: https://calendly.com/kostasx
    • Is it urgent? Did you try reaching him on Slack? Search for: Kostas Minaidis (kostasx)

UPDATED: 03.01.2021

  • Added Tools section
  • Added short video on Media Queries

CONTRIBUTORS