This challenge is created by Frontend Mentor, feel free to go and check them out to find challenges help you improve your coding skills by building realistic projects.
To do this challenge, you need a basic understanding of HTML, CSS and JavaScript.
Your challenge is to build out this tip calculator app and get it looking as close to the design as possible.
You can use any tools you like to help you complete the challenge. So if you've got something you'd like to practice, feel free to give it a go (Bootstap Components maybe winkwink ).
Your users should be able to:
- View the optimal layout for the app depending on their device's screen size
- See hover states for all interactive elements on the page
- Calculate the correct tip and total cost of the bill per person. (Basically, whatever tip the user will select will be added upon the bill and will be divided to the number of people, tip amount per person should also be displayed seperately.)
Pro-Tip: Focus on the functionality and style everything afterwards.
Your task is to build out the project to the designs inside the /design folder. You will find both a mobile and a desktop version of the design.
The designs are in JPG static format. Using JPGs will mean that you'll need to use your best judgment for styles such as font-size, padding and margin.
You will find all the required assets in the /images folder. The assets are already optimized.
There is also a style-guide.md file containing the information you'll need, such as color palette and fonts.
- Communicate with your partner to figure out how to implement the functionality of the app. Write down the pseudocode of the functionality together.
- Create the HTML Elements for the page. The page does not need to look good at all at this point.
- Do some JS magic using DOM, select elements, create variables, go crazy.
- Before adding any styles, structure your content with HTML. Writing your HTML first can help focus your attention on creating well-structured content.
- Write out the base styles for your project, including general content styles, such as
font-familyandfont-size. - Start adding styles to the top of the page and work down. Only move on to the next section once you're happy you've completed the area you're working on.
Have fun building! 🚀
