How I made a google clone in 2 hours

Eren Suner
3 min readMar 8, 2022

I learned a CSS framework called bulma last week. It provides css classes that one can easily use in html (without writing any css). I learned it because I don’t like writing the same boilerplate css for every project that I do.

my google clone

I know, it is not exact, but the purpose of this mini-project was to learn rapid prototyping without being a perfectionist. Since we’ve already talked about the what and the why, I’ll write about how I made this in the next section.

The whole page is a full-height hero component. This is used to add a banner to a webpage, but I thought it would be appropriate for a non-scrollable site like the google front page. The hero component provides three sub-components: hero-head, hero-body and hero-footer. These will be positioned relative to the hero component and will adapt responsively.

hero-head, hero-body and hero-footer

The hero-head component (magenta border) is also a navbar. The navbar component provides a sub component called navbar-menu, which is supposed to house navbar-start and navbar-end. Navbar also has navbar-brand subcomponent, but it’s not necessary here because it is used for a large logo in the navbar (which we don’t need).

navbar-menu, navbar-start and navbar-end

All of the links are navbar-item’s which are used as a subcomponent of navbar-start and navbar-end.

source code for hero-head

For the hero-body section I used a columns component. This provides the common 12-column layout. This layout is used by the material design spec, which is an industry standard and is useful for having order and cohesion in a website design.

material design 12-column layout

Columns provides many subclasses, most useful of which are is-n and is-offset-n, where n is the number of columns.

hero-body

I first used a centered 12 column layout to get half of the available space, centered this using is-centered and then used a 6 column image component for the google logo, then a 10 column component for the search box and a 6 col comp. again for the two little buttons. As you see, the buttons are in a level component. This is used for having horizontally expanding containers and has a subclass called level-item.

hero-body

Last but not least we got the hero-foot.

This is the component that houses the blue links that say “privacy” and “business.” To achieve a similar look I used the footer component, which only adds some humongous padding that I had to change by writing css 😐. I used levels to have the two lines of links.

hero-foot

Follow me on: Twitter, Reddit, Instagram.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

No responses yet

Write a response