Skip to content

Latest commit

 

History

History
29 lines (23 loc) · 2.63 KB

README.md

File metadata and controls

29 lines (23 loc) · 2.63 KB

Natours

This project has been developed while attending the udemy.com course Advanced CSS and Sass: Flexbox, Grid, Animations and More! (Jonas.io).

Check the implemented website here !

Implementation

The goal of this project was to take care of multiple CSS, Sass and HTML features and to develop a modern design web page. In particular there where some important functionalities i wanted to learn:

Advanced CSS animations with @keyframes, animation and transition;
Advanced CSS selectors, pseudo-classes and pseudo-elements required for modern CSS development;
How CSS works behind the scenes: the cascade, specificity, inheritance, value processing, the visual formatting model, the box model, box types, positioning schemes and stacking contexts;
CSS architecture: The 7-1 rule, component-based design, the BEM methodology, writing reusable, maintainable and scalable code;
Sass: variables, nesting, partials, imports, mixins, functions, extends, and more;
Using Sass in real-world projects: setting global variables, building for reusability, architecting CSS and managing media queries;
The NPM ecosystem: setting up a development process to compile Sass and automatic browser reload, and creating a build process to concatenate, prefix and compress CSS files;
Modern responsive design: fluid grids, layout types, flexible images, using media queries to test for different screen widths, pixel densities and touch capabilities;
Advanced responsive design workflows: mobile-first vs desktop-first strategies, selecting breakpoints, em vs rem units and feature queries to test for browser support;
Responsive images in HTML and CSS for faster pageloads: resolution switching, density switching, art direction;
SVG images in HTML and CSS: how and why to use SVG, generating SVG sprites, changing SVG colors in CSS and best practices;
Videos in HTML and CSS: building a background video effect;
Flexbox layouts: main concepts, introduction to both flex container and flex item specific properties, advanced positioning techniques applied to a huge real-world project;
CSS Grid layouts: main concepts, CSS grid vs flexbox, and layout techniques applied to a real-world project. This part alone could be an entire course!

Methodologies

- BEM methodology
- SASS 7-1 pattern.