DAVID BIJL

Case study

TONIK

HTML & CSS

This case study showcases my ability to create a structured, accessible, and semantic website, alongside responsiveness, animations, and other unique features, all built with pure HTML, CSS, and bits of JavaScript. With this, I aim to highlight my understanding of modern semantics, the importance of inclusivity, and an overall efficient workflow.

Briefing

For this project, I was tasked with selecting any website with lacking or downright bad code, re-creating said website from scratch, and improving upon the code. I chose to re-create tonik.com, a design agency based in Poland. Unbeknownst to me, they have since made some changes to the design of their website, so unfortunately, the present-day comparison won't be as exact.

STRUCTURE

When creating the initial structure, I start by figuring out the basic elements needed, mainly focusing on how it's looking on mobile format. This approach makes it easier to ensure responsiveness later on.

I begin by placing all the relevant metadata for the website in the <head> section. After that, I break down the content into sections and subsections, using appropriate tags to maintain a clear and organized structure.

SEMANTICS

Throughout my time learning code and working on projects, I've always been encouraged to write semantic code. Semantic HTML is about using elements that carry meaningful information about the structure and content of a web page.

That means avoiding elements like <div> and <span> as well as creating unnecessary classes or using deprecated tags. Provided there are better suited alternative solutions.

ACCESSIBILITY

Accessibility standards are increasingly standardized across websites, so I made a conscious effort to prioritize this aspect while writing the code. I employed various methods to enhance the website's accessibility. These include writing semantic code (as mentioned before), providing images with appropriate <alt> tags, establishing a logical focus order, utilizing aria-label's, ensuring sufficient color contrast throughout, and creating a responsive design.

RESPONSIVENESS

Responsiveness refers to the ability of a web page to adapt and display effectively across different devices and screen sizes. To achieve this, I utilize both flexbox and CSS grid.

Additionally, I implement a @media query at 700 pixels to ensure the design converts seamlessly to a mobile view, resulting in a fully responsive design.

ANIMATION

A crucial aspect of bringing a website to life is animation. Therefore, I consider understanding animation to be an essential skill for developers. I apply a lot of animation throughout the page, particularly when hovering over elements. To achieve this effect, I utilize the :hover pseudo-class.

QUIRCKS

With the core HTML and CSS in place, it's time to focus on the finer details. I'd like to take this opportunity to highlight some cool tricks I've learned along the way. In this example, I use the invert filter to change the natively black logo and hamburger icon to white whenever the menu is opened.

HTML

CSS

DETAILS

View full project