Create a responsive webpage for the Starfox Galaxies Travel using the layouts included for reference.
- No CSS frameworks
- You may use a CSS Reset
- Use CSS's Flex Box to help with building the layout for the page
- You must use SASS (via SCSS)
- You may use the Gulp build tool to:
- transpile your SASS into CSS
- run your server
- have "live-reload" functionality
Media Query Break-points
- small layout max-width:
600px
- medium layout min-wdith
965px
and max-width1099px
- large min-width
1100px
and up
**Note for Large and up break-point: ** Content will no surpass being 1100px
wide but the "white-space" can continue to grow if the user expands their screen-width to a large value.
Use a blank anchor href for links as placeholders, for example: <a href="#">Home</a>
- must use Flex Box
- Sass (via SCSS)
- Practice using
Mobile-First
design principle- Practice using defining media queries
- Practice using nested styles
- Practice using variables
- Practice using mix-ins
- Practice using
- Layout
- The mobile layout requires a dropdown nav.
- Easy Mode: Build the as seen in the
layouts/Small-wOpenNav.png
only without click functionality. You can add it later. Work on the other layouts. Do Hard Mode when you're done - Hard Mode: Use javascript to make the mobile nav hide and show upon clicking the
menu_icon.svg
image in the nav.
- Easy Mode: Build the as seen in the
- The mobile layout requires a dropdown nav.
- Server
- Use Browser-sync.
- Utilize gulp for your task runner (gulp, gulp-sass, and browser-sync which handles serving our code).
- Instructions for Gulp + Sass + Browser-sync setup is here
Your file structure should look like this after you start developing:
/layouts
/assets *copy images to /public/assets directory*
/node_modules
/public
/css
styles.css *this file is generated via Gulp*
/assets
index.html
/sass
styles.scss
.gitignore
gulpfile.js
package.json
- Start with the Mobile layout. Build with only enough HTML elements and CSS to achieve that layout. There should be no media-query css code at this point.
- set base styles (base font size, general font, etc)
- typography
- any other elements and details
- use semantic naming for your elements. Make them MEANINGFUL. example: Navigation items are a list of links so I'd use an
ul
element then add a class callednav-menu
to it.ul
element containli
elements, so I will then add the classnav-items
to eachli
.
- Once you're done with the mobile layout, move onto the Medium layout. If more elements are needed Modify the HTML as needed. **add your medium media query break-points now, these will override your "Mobile styles" which you defined previously.
- Once you're done with the Medium layout, repeat the step above with the Large layout.
Commit your code often. Finished building a section of UI? COMMIT!
- update your gulp tooling to use
autoprefixer
to handle cross-browser compatibility - update the "Hero" to be a carousel slider with at least 3 images