A modern, responsive multi-page website for a digital web studio and creative agency. This was my very first web development project, built to master semantic HTML5 markup, responsive CSS layout techniques, and interactive features from scratch β now enhanced with TypeScript! π
π Web Studio Design Layout (Version 3.0)
- π Multi-Page Layout: Includes the main landing page (
Studio) and the dedicated showcase catalog (Portfolio). - π± Fully Responsive Design: Seamlessly adapts across mobile phones, tablets, and desktop monitors.
- ποΈ Retina Display Ready: Includes
@2xhigh-density image assets for crisp visuals on Apple and high-DPI screens. - π Smart Scroll Header: Automatically hides when scrolling down to maximize screen space and smoothly reappears when scrolling up.
- πͺ Interactive Modal Window: Popup callback & order form with backdrop blur and smooth open/close animations.
- π Mobile Navigation Menu: Full-screen responsive slide-out hamburger menu with quick contact links.
- π¨ Modern CSS Architecture: Built using CSS custom properties (variables), Flexbox layout, and smooth micro-interactions.
- β‘ Strictly Typed (TypeScript): Fully migrated to TypeScript with null safety, strict DOM element typing, and clean compilation.
| Technology | Purpose |
|---|---|
| HTML5 | Semantic tags (<header>, <nav>, <section>, <article>, <footer>), accessibility, form controls |
| CSS3 | Flexbox, CSS Variables, Media Queries, keyframes & transitions |
| TypeScript | Strongly-typed DOM manipulation, modal controller, sticky header observer, mobile menu toggle |
| Figma | Pixel-perfect UI implementation based on design mockup |
Web-Studio/
βββ css/
β βββ styles.css # Core stylesheets & CSS variables
βββ images/ # Optimized vector (SVG) and raster (@1x, @2x) assets
βββ js/ # Compiled JavaScript output (from TypeScript)
β βββ modal.js # Modal window toggle logic
β βββ mobile-menu.js # Mobile navigation drawer logic
β βββ stickyNavigationHandler.js # Sticky header scroll behavior
βββ src/ # TypeScript source files
β βββ modal.ts # Strongly-typed modal logic
β βββ mobile-menu.ts # Strongly-typed mobile navigation drawer
β βββ stickyNavigationHandler.ts # Strongly-typed sticky header logic
βββ index.html # Main studio landing page
βββ portfolio.html # Portfolio showcase page
βββ package.json # Project scripts and dependencies
βββ tsconfig.json # TypeScript compiler configuration
βββ README.md # Project documentation
To view or work with this project locally:
-
Clone the repository:
git clone https://github.com/iberikofer/Web-Studio.git cd Web-Studio -
Install dependencies:
npm install
-
Compile TypeScript:
# Build once npm run build # Watch mode for active development npm run watch # Type checking without emitting npm run type-check
-
Open the project:
- Simply open
index.htmlin your favorite web browser, or - Use the Live Server extension in VS Code for live reloading.
- Simply open