Skip to content

YariMorcus/faq-accordion-card

Repository files navigation

Frontend Mentor - FAQ accordion card

This is a solution to the FAQ accordion card challenge on Frontend Mentor. Frontend Mentor challenges help you improve your coding skills by building realistic projects.

Difficulty: newbie

Table of contents

Overview

The challenge

To build the FAQ accordion card according to the given designs as close as possible. The users should be able to:

  • View the optimal layout for the component depending on their device's screen size

  • See hover states for all interactive elements on the page

  • Hide/Show the answer to a question when the question is clicked

  • Bonus: Complete the challenge without using JavaScript

    This can be achieved with the <details> tag in combination with <summary>.

Links

My process

Built with

  • Semantic HTML5 markup
  • CSS (BEM naming convention used, see getbem.com for more information)
  • Grid
  • Mobile-first workflow
  • Node.js - Open source and multiplatform JavaScript runtime environment
  • NPM - Package Manager for Node JavaScript platform
  • Browsersync - Synchronous browser testing (in collaboration with Gulp)
  • Gulp - Build tool used as workflow automation tool
  • Sass - CSS Preprocessor (in collaboration with Gulp)
  • GitHub - Technological platform based on Git
  • Git - Free and open source distributed version control system

What I learned

  1. Always use semantic standards compliant HTML
  2. To keep testing the application for Web Accessibility
  3. Create the application as accurately as possible based on the designs
  4. How to organize my SCSS with Sass partials and modules, and keep my SCSS organized
  5. That CSS background images are easier to control
  6. How I need to use JavaScript to create an accordion

Continued development

The way I want to continue to develop myself is by focusing on laying out a proper foundation of HTML, CSS, and JavaScript. This so I can build quality websites for clients by just using the core languages of the Web. At the present, I am working on the above things by going through (interactive) articles on the MDN Web Docs (see chapter Useful resources).

Another way I want to improve my knowledge of these subjects is to do more challenges that Frontend Mentor is offering, starting at the lowest level, and building that up to the more advanced ones.

Besides the above, I want to continue to develop myself by using several tools more often to improve my workflow. and spend less time doing things that can be automated.

A few tools that I will start using more often are:

  1. Gulp
  2. Git
  3. GitHub

I will learn the above points in between but do not want to focus too much on those at the moment.

As soon as I am capable of creating quality websites with the core languages of the Web, I will start to learn JavaScript libraries and frameworks. Both of these change over time, so I do not want to spend my time on those before I have a solid understanding of prior mentioned languages.

Useful resources

Author