To do this challenge, you need a basic understanding of HTML, CSS and JavaScript.
Your challenge is to build out this introductory component 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.
Your users should be able to:
- View the optimal layout for the site depending on their device's screen size
- See hover states for all interactive elements on the page
- Receive an error message when the
form
is submitted if:- Any
input
field is empty. The message for this error should say "[Field Name] cannot be empty" - The email address is not formatted correctly (i.e. a correct email address should have this structure:
name@host.tld
). The message for this error should say "Looks like this is not an email"
- Any
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 to work to.
The designs are in JPG static format. This will mean that you'll need to use your best judgment for styles such as font-size
, padding
and margin
. This should help train your eye to perceive differences in spacings and sizes.
You will find all the required assets in the /images
folder. The assets are already optimized.
There is also a style-guide.md
file, which contains the information you'll need, such as color palette and fonts.
Feel free to use any workflow that you feel comfortable with. Below is a suggested process, but do not feel like you need to follow these steps:
- Fork the repository.
- Look through the designs to start planning out how you'll tackle the project. This step is crucial to help you think ahead for CSS classes that you could create to make reusable styles.
- 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-family
andfont-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.
- If you'd like to try making your project fully responsive, we'd recommend checking out Sizzy. It's a great browser that makes it easy to view your site across multiple devices.
Have fun building! 🚀