Being able to create a user interface from scratch based on a design file is considered a basic necessity for front-end developers. We will be building a single page website using HTML and CSS.
Given this design file, use HTML and CSS to build the web page layout. Remember, you can only use display:inline-block
and box model CSS properties for this project. Note: you are NOT permitted to use Flexbox or CSS Grid. This is an exercise in basic layout techniques.
Lambda Life Tip: Use the code from your instructor's demonstration to help you tackle the objectives.
-
Fork / Clone this project into a directory on your machine.
-
Open the code with your preferred integrated development environment (IDE).
-
Start on the objectives
Project objectives are meant to increase your knowledge by giving you practice on the principles learned earlier in the day. Aim to complete every objective on this list. Get as far as you can on the design as we will be using your work today for tomorrow's project as well.
Watch this short guide on how to set up your project: UI Project Setup 101
-
Study the desktop design file. Visualize how you would convert the design into HTML and CSS. Make a quick sketch of how you would build the HTML structure. Use your sketch as a plan of action for the next two objectives. Challenge yourself to only use 10 minutes for this particular objective.
-
Go to your index.html file and build out your HTML structure. You have been provided all the content and images you need to get started inside the
index.html
file. Start to code HTML around the content! -
Style your HTML using the desktop design file as a visual guide. Use any CSS properties you want for general styling but for layout, you can only use the box model (content, padding, margin, border) and
display:inline-block
.
Stretch goals are not required. Complete the project objectives before working on stretch. Stretch goals are not covered in the guided demo and need some research on your part. There is no particular order in this list, just pick one that sounds fun and push yourself.
-
Give the navigation a background color and have it be fixed to the top of the page so that it scrolls with the user. You will want to study what z-index means in case you encounter any issues when you scroll.
-
Introduce a new font family from google fonts
-
Create a new page based on of a navigation item. Create your own layout using box model and
display: inline-block;
-
Change all the image tags into background images instead
-
Research CSS animations and see how you could implement some ideas when hovering over buttons or navigation items