Menu Search
Jump to the content X X

CSS Grid Challenge: Winners and Templates

CSS Grid1 is the new layout standard for the web, but we still are just getting started with new layout ideas. Many assume that CSS Grid is just a replacement for table layouts, but that’s simply not true. Others might think that we can use CSS Grid to replicate more advanced print layouts, which brings us closer to what’s possible.

One of the main reasons behind the idea of the CSS Grid Challenge2 was to have some starting points for layouts, and show what can be achieved with CSS Grids today. Well, we received some many great submissions that it was really hard to choose the one winner — there are so many submissions who deserve to win first place.

While the browser support3 for CSS Grid is really good already, it isn’t supported in the older browser versions. That’s why we challenged you to implement fallbacks for browsers that don’t support CSS Grid just yet, and most of the submissions were doing fine in that regard. Falling back to floats and Flexbox4 isn’t hard, but still not all submissions were providing fallbacks for browsers that don’t support CSS Grid. We had to deduct some points in these cases, unfortunately.

So without a further ado, let’s look at the submissions which we think are the most impressive ones:

🥇 The Winner Of The CSS Grid Challenge 2017 Is… James Clarke! Link

James Clarke’s CSS-only The Deck5 (download the template6, ZIP, 1.3MB) is particularly well suited for a linear narrative that you might find in presentations or marketing pages. What we think was particularly interesting is the cross-horizontal way to navigate between the different pages. Also, we like the use of lots of whitespace, so that the focus of each page remains perfectly obvious.

Please keep in mind: This template isn’t keyboard-accessible and we’re working with James to improve it.

The Deck by James Clarke7
View the submission8

On smaller devices, the template turns into a regular layout, and it falls back graciously on browsers that don’t support CSS Grid. Ladies and Gents, a big round of applause for the winner of the CSS Grid challenge!

Insights from James himself:

“As CSS grid layout is new technology and sits atop many other advances that have been built into CSS, I chose to limit myself to see what I could build with HTML and CSS alone. I elected to rebuild an old website from about 10years ago that was built using the then-popular “MooTools” javascript library. That library opened up the ease of cross-browser javascript development at the time, and the advance in CSS’s capabilities seemed to offer a similar possibility.

The result of my efforts I call “Deck”. It is a format that is particularly well suited to the sort of linear narrative that you might find in a power-point presentation, or marketing pages. The standard these days is a long-scrolling page. That format works well of course, but it is undifferentiated, and we’ve been stuck with it for years now. I wanted to explore something a bit different, in hopes of finding a new way.”

Features: CSS only, no javascript. All interactions flow from native browser functions and CSS pseudo-selectors like :checked, :target.

CSS Grid Layout: horizontal and vertical positioning, source re-ordering, adaptation to different viewports.

Progressive-enhancement, responsive layouts: Smaller screen devices and older browsers receive a format catered to their needs and technologies.

Touch friendly: All UI functions play well with touch-screen laptops/tablets/phones.

Back/Forward button navigation: Back and forward buttons remain functional where browser support exists (current issues with MS Edge repainting when not initiated by javascript ‘hash-change’ event).

But Wait… There’s More! Link

We received a number of really impressive submissions and so we decided to give out a silver as well as a bronze medal, too!

🥈 Second Place: Frida Nyvall Link

The second place goes to The Daily Prophet9, a fictional newspaper for wizards built with Grid. It’s a great example for multi-column layouts that respond to smaller screen sizes. You can tell that the creator put a lot of effort into building this page with its subtle animations, using CSS Shapes, and a very thoughtful transformation of layout throughout all the different screen sizes. The only downside here is that the submission is not working in browsers that don’t support CSS Grid.

A screenshot of the Daily Prophet, a phantasy, multi-column layout website built with CSS Grid10
A screenshot of the Daily Prophet, a phantasy, multi-column layout website built with CSS Grid. Go to the project: link11

Click to see how the site transforms over various screen sizes.

🥉 Third Place: Victor Janin Link

The third place goes to Victor Janin12: A great example of a demo that moves elements around in the grid from mobile to desktop. Victor’s aim was to better accommodate the needs of the user in each viewport, and we think he did a brilliant job doing that! The CodePen code doesn’t include all the prefixes and adjustments for Edge and IE but this live page13 has all the prefixes and works on Edge and IE 11 in place. The content is available down to IE8.

CSS Grid by Victor Janin14
View on CodePen15

The winners have already been contacted. For those who didn’t receive an email from us — please stay tuned! We’ll be launching another challenge very soon!

Other Submissions Link

Again, we’re sorry that we only had to choose a limited amount of winners, and want to thank everyone who participated in this challenge — we sincerely appreciate your time and efforts! Another round of applause for the rest of the talented participants and their submissions:

Sam Beckham Link

Sam Beckham is a fan of Penguin Books and their marber grid. His CSS take on the subject lets you change the colors, font sizes, and everything else you fancy on individual books using BEM notation. You can also view a version that works in IE8 (apart from the SVGs) here16.

CSS Grid by Sam Beckham17
View on CodePen18

Ren Aysha Link

A thumbnail presentation with CSS Grid, inspired by’s bevel treatment on some of their thumbnails. Older browsers get a fallback with a conservative thumbnail look instead. Apart from her contest submission, you’ll find more CSS Grid experiments on Ren’s CodePen19.

CSS Grid by Ren Aysha20
View on CodePen21

Trang B. Nguyen Link

This layout features some lovely sea creatures, a bottom navigation, as well as an different way to navigate through the various sections of the site. Also, it falls back really good in browsers that don’t support CSS Grid.

See the Pen CSS Grid Layout22 by Trang B. Nguyen (@Trangbnguyen23) on CodePen24.

Click to see how the layout behaves on bigger screens.

Charles Wong Link

Beethoven’s “Ode to Joy” as a responsive sheet music page. It consists of two CSS grid layouts – one for positioning the bars within the rows of sheet music, and one for positioning musical notes within the bars. Charles shares more insights into the project here25.

CSS Grid by Charles Sejikco26
View on Github27

Dannie Vinther Link

A Marvel poster made with CSS and Clip-path. A sprinkle of JavaScript helps avoid layout reflow when images are fully loaded.

CSS Grid by Dannie Vinther28
View on CodePen29

Erik Davidsson Link

A great one for football fans! A layout featuring the upcoming football game between FC Barcelona and Real Madrid. Erik brought it to life with many different techniques with fallbacks to make the website usable in older browsers such as IE8 and IE9.

CSS Grid by Erik Davidsson30
(CodePen31) (GitHub32)

Mathieu Link

Inspired by Justin Avery’s CodePen33, Mathieu submitted a dynamic periodic table built with CSS Grid.

CSS Grid by Mathieu34
View on Github35

Amy DeVoogd Link

Inspired by the works of Jen Simmons and Rachel Andrew, Spacebar36 is a product showcase for a completely invented product that Amy branded and designed, i.e. all imagery is copyright-free.

CSS Grid by Amy DeVoogd37
View on GitHub38

Ieva Ozolīte Link

A mobile-first semantic web page for a band poster39. Quite impressive for a first experiment with CSS Grid, don’t you agree?

CSS Grid by Ieva Ozolīte40
View on CodePen41

Ethan Horger Link

The goal here was to try out a blog entry layout that Ethan has always wanted to try, in which the author’s bio would always be displayed on the top-left of the article, legal notices at the bottom, and some kind of quote or supplemental material pinned in the middle of the article. With CSS Grid, the layout degrades to using floats in IE 8 and 9, and doesn’t maintain the article quote in the middle of the article, but is otherwise fully readable.

CSS Grid by Ethan Horger42
View on CodePen43

Tanya Syrygina Link

Tanya Syrygina used Grid to built a fresh, card-style blog layout.

CSS Grid by Tanya Syrygina44
View on CodePen45

Nelson Leite Link

For an e-commerce project, Nelson Leite needed to showcase a product listing with some other content in the middle of the products, displayed differently. His solution: CSS Grid.

CSS Grid by Nelson Leite46
View on CodePen47

Robert Mion Link

Robert Mion combined CSS Grid and Flexbox to build a responsive supermarket add.

CSS Grid by Robert Mion48
View on CodePen49

Arturo Ríos Link

A CSS Grid that can be used comfortably in full-screen mode comes from Arturo Ríos.

CSS Grid by Arturo Ríos50
View on CodePen51

Bob Mitro Link

A simple, responsive blog theme based on CSS Grid layout.

CSS Grid by Bob Mitro52
View demo53

Kev Bonett Link

Kev Bonnet created a mobile-first e-commerce template with fallback to Flexbox, then fallback to basic 2-column inline-block.

CSS Grid by Kev Bonett54
View on CodePen55

Sven Rothe Link

Sven Rothe’s grid has equal heights over several rows. So if you add more content in a tile in the first row, the second row will increase, too.

CSS Grid by Sven Rothe56
View on CodePen57

Ismail Ghallou Link

With his To-Do app layout, Ismail Ghallou proves that CSS Grid can handle even the weirdest layouts. And it’s responsive, too.

CSS Grid by Ismail Ghallou58
View on CodePen59

Juan Garcia Link

A page of a video game platform comes from Juan Garcia.

CSS Grid by Juan Garcia60
View on CodePen61

Mark McMurray Link

A multi-column layout as a CV requires it is a perfect CSS Grid project as Mark McMurray proves.

CSS Grid by Mark McMurray62
View on CodePen63

Marissa Douglass Link

Ever thought of building an interactive cookbook with CSS Grid? Marissa Douglass did.

CSS Grid by Marissa Douglass64
View on CodePen65

Melissa Bogemanns Link

A photo showcase made with CSS Grid. Available as .zip66 (6MB)

CSS Grid by Melissa Bogemanns

Tyler Argo Link

Tyler Argo re-built the Google Play Store layout from scratch using CSS Grid with fallbacks. It works all the way back to IE9 and is even more responsive than the original site.

CSS Grid by Tyler Argo67
View on CodePen68

Mauricio Mantilla Link

This layout is based on a website69 that was designed by the company where Mauricio works at. He took part of the layout, which is based on Packery (Masonry) and port it to grid with just a few lines of CSS Grid.

CSS Grid by Mauricio Mantilla70
View on CodePen71

Katherine Kato Link

A portfolio website layout made with CSS Grid and Flexbox as a fallback.

CSS Grid by Katherine Kato72
View on CodePen73

Donny Truong Link

A minimalistic blog layout comes from Donny Truong.

CSS Grid by Donny Truong74
View demo75

Anenth Vishnu Link

A responsive app layout based on Grid.

CSS Grid by Anenth Vishnu76
View on CodePen77

Amy Carney Link

A basic layout (with IE fallbacks and web accessibility in mind) that may be useful for getting projects started or migrated.

CSS Grid by Amy Carney78
View on CodePen79

Nurçin Özer Link

Nurçin Özer submitted a basic blog layout.

CSS Grid by Nurçin Özer80
View on CodePen81

Remy Oleszczuk Link

Inspired by the BBC SPORT landing page.

CSS Grid by Remy Oleszczuk82
View on CodePen83

Patryk Kalwas Link

CSS Grid by Patryk Kalwas84
View on CodePen85

Jesús Olazagoitia Link

CSS Grid by Jesús Olazagoitia86
View on CodePen87

Dóra Pölöskei Link

CSS Grid by Dóra Pölöskei88
View on CodePen89

Vivek Singh Link

CSS Grid by Vivek Singh90
View on CodePen91

Pranjal Nadhani Link

CSS Grid by Pranjal Nadhani92
View on CodePen93

Mathias Herrebaut Link

CSS Grid by Mathias Herrebaut94
View on CodePen95

Noel Tekiri Link

CSS Grid by Noel Tekiri96
View in action97

Aurélie Deschacht Link

CSS Grid by Aurélie Deschacht98
Download project ZIP file99

Jonathan Harrell Link

CSS Grid by Jonathan Harrell100
View in action101
Name Submission
Amy DeVoogd Preview template102
Anenth Preview template103
Tyler Argo Preview template104
Arturo Ríos Preview template105
Aurélie Deschacht Download template106
Kev Bonett Preview template107
Bob Mitro Preview template108
Amy Carney Preview template122109
Dannie Vinther Preview template110
Donny Truong Preview template111
Dóra Pölöskei Preview template112
Erik Davidsson Preview template113
Ethan Horger Preview template114
Jonathan Harrell Preview template115
Ieva Ozolīte Preview template116
Ismail Ghallou Preview template117
Jesús Olazagoitia Preview template118
Juan Garcia Preview template119
Katherine Kato Preview template120
Marissa Douglass Preview template121
Mathias Herrebaut Preview template122109
Mauricio Mantilla Preview template123
Melissa Bogemanns Download template124
Robert Mion Preview template125
Nelson Leite Preview template126
Patryk Kalwas Preview template127
Pranjal Nadhani Preview template128
Mathieu Preview template129
Nurçin Özer Preview template130
Remy Oleszczuk Preview template131
Ren Aysha Preview template132
Mark McMurray Preview template133
Sven Rothe Preview template134
Sam Beckham Preview template135
Charles Sejikco Preview template136
Tanya Syrygina Preview template137
Noel Tekiri Preview template138
Trang Nguyen Preview template139
Vivek Singh Preview template140

Getting Started With CSS Grid Link

Last but not least, before you dive right into the challenge, here are some helpful resources to kick-start your CSS Grid adventure.

Resources and References Link

Demos Link

Tutorials Link

Talks Link

Inspiration Link

Finally, to get your ideas flowing, some inspiring CodePen experiments that illustrate the magic of CSS Grid:

Responsive Magazine Layout153
Responsive Magazine Layout154 by Heather Buchel
Minimalistic CSS Grid Layout155
Minimalistic CSS Grid Layout156 by Nate Green
CSS Grid Layout and Comics157
CSS Grid Layout and Comics158 by Envato Tuts+
Auto Hexagonal CSS Grid Layout159
Auto Hexagonal CSS Grid Layout160 by Kseso
CSS Grid Layout with @support Flexbox Fallback161
CSS Grid Layout with @support Flexbox Fallback162 by Gustaf Holm
Image Areas in CSS Grid Layout163
Image Areas in CSS Grid Layout164 by Michael Gehrmann
Mondrian Art in CSS Grid165
Mondrian Art in CSS Grid166 by Jen Simmons
CSS Grid Layout Slideshow167
CSS Grid Layout Slideshow168 by Manoela Ilic

Are You Ready For The Next Challenge? Link

That’s right! There will be more challenges coming up very soon, and even more prizes to win! Keep an eye on the magazine or follow us on Twitter169 so you don’t miss out next time.

(ms, vf, il)

Footnotes Link

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
  29. 29
  30. 30
  31. 31
  32. 32
  33. 33
  34. 34
  35. 35
  36. 36
  37. 37
  38. 38
  39. 39
  40. 40
  41. 41
  42. 42
  43. 43
  44. 44
  45. 45
  46. 46
  47. 47
  48. 48
  49. 49
  50. 50
  51. 51
  52. 52
  53. 53
  54. 54
  55. 55
  56. 56
  57. 57
  58. 58
  59. 59
  60. 60
  61. 61
  62. 62
  63. 63
  64. 64
  65. 65
  66. 66
  67. 67
  68. 68
  69. 69
  70. 70
  71. 71
  72. 72
  73. 73
  74. 74
  75. 75
  76. 76
  77. 77
  78. 78
  79. 79
  80. 80
  81. 81
  82. 82
  83. 83
  84. 84
  85. 85
  86. 86
  87. 87
  88. 88
  89. 89
  90. 90
  91. 91
  92. 92
  93. 93
  94. 94
  95. 95
  96. 96
  97. 97
  98. 98
  99. 99
  100. 100
  101. 101
  102. 102
  103. 103
  104. 104
  105. 105
  106. 106
  107. 107
  108. 108
  109. 109
  110. 110
  111. 111
  112. 112
  113. 113
  114. 114
  115. 115
  116. 116
  117. 117
  118. 118
  119. 119
  120. 120
  121. 121
  122. 122
  123. 123
  124. 124
  125. 125
  126. 126
  127. 127
  128. 128
  129. 129
  130. 130
  131. 131
  132. 132
  133. 133
  134. 134
  135. 135
  136. 136
  137. 137
  138. 138
  139. 139
  140. 140
  141. 141
  142. 142
  143. 143
  144. 144
  145. 145
  146. 146
  147. 147
  148. 148
  149. 149
  150. 150
  151. 151
  152. 152
  153. 153
  154. 154
  155. 155
  156. 156
  157. 157
  158. 158
  159. 159
  160. 160
  161. 161
  162. 162
  163. 163
  164. 164
  165. 165
  166. 166
  167. 167
  168. 168
  169. 169

↑ Back to top Tweet itShare on Facebook

Cosima has been an editor at SmashingMag since 2013. Whenever she's not writing articles for the bi-weekly Smashing Newsletter or the Quick Tips series, she’s probably working on a new Smashing eBook.

  1. 1

    The Deck site’s mobile navigation is not working properly on mobile.

    • 2

      Robert Dundon

      October 6, 2017 8:04 pm

      I actually went back and checked for that. How tall is your mobile viewport? I noticed on line 104 on ui.webkit.css in the Deck example that there is a min-height of 32em in the media query.

      So, if a mobile device is under that height, the close button is hidden to the right a bit. I couldn’t replicate it on my personal mobile devices, but was able to reproduce it by changing the height of my browser.

      Anyway, why did I spend so much time on that? It’s still a great piece and example of CSS-only presentations regardless. That and the others will definitely be reviewed by me for sure. :) It was a good contest idea!

      • 3

        Thanks Robert! I’m glad people are poking around under the hood, that’s what I hoped for.

        VJ: there’s definitely potential for bugs in there. Doing everything in CSS and supporting older browsers was challenging, to say the least. While I didn’t discover any issues on the hardware that I have available to me, if you can let me know what device you’re using, I might be able to iron out those issues in a future version, as time permits.

        Also: The MIT license means that ANYONE can use this code, fix my mistakes for me (Ha!), and stick their name on it along with mine, so feel free.

        If anyone sees me in Barcelona and wants to know more, please don’t hesitate to say hello. I’d be happy to share how everything works, and the challenges that I encountered.

        • 4

          Ohans Emmanuel

          October 7, 2017 7:47 am

          Would love to take a look at the source code myself. Huh, I don’t seem to find the link to it. I’m probably too dumb to locate the link 😖
          Mind pointing me the right direction, James? Github, Codepen? Anything that works.

          • 5

            Thierry Koblentz

            October 8, 2017 8:04 pm

            Sorry, for some reason the code for my link was broken in two identical links. Just copy/paste view-source: into your browser.

  2. 6

    It seems there are many such layout frameworks, grids or however to call it, available. Bootstrap one of them?

    I once tried to use such a framework, or grid, to create a new website. I did not finish it, in fact, I canceled the idea while I still was working on understanding the fundamentals of that framework and how to use it to achieve the design I had planned. I gave up because I realized it would need more time to understand the basics of the framework, then to build the website from scratch just like I always do by just writing the plain code I need.

    With me, a webdesign starts in my head and on paper. Trying to acommodate my ideas inside a framework seems not to be working.

    Are frameworks not meant to make the work more easy? Or maybe it is a thing for programmers, not designers. Or maybe I am just too dumb for this.

    • 7

      Vitaly Friedman

      October 6, 2017 6:09 pm

      Dear @Thom, I wouldn’t say that CSS Grid is a framework — it’s a technology that makes using grids in frameworks like Bootstrap’s Grid or Foundation’s Grid unnecessary any longer. Need less code, write less markup, and everybody is happy. :-)

      • 8

        Trang Salinas

        October 7, 2017 4:11 am

        Css grid also has a built in region capability which to me is the most powerful because a dev can implicitly tell a element where to “live” regardless of it’s location in the html. This means layouts could live in css grids instead of html templates. So, more oocss and modular framework.

  3. 9

    Thierry Koblentz

    October 8, 2017 6:04 pm

    I think we are doing a disservice to the community by promoting a template that is not keyboard accessible (and that shows “shady” patterns too). If we do judge a solution on a purely CSS basis, then its flaws in term of Accessibility should be clearly stated. This way it may prevent people to “run with it” and spread broken UXs across the Web.

    PS: I know SmashingMag is very serious when it comes to Technical Review, I’m surprised nobody picked up the issue here…

  4. 10

    The Deck is amazing. Great effort. It is the worthy Winner. :)

  5. 11

    Sarbjit Singh

    October 9, 2017 11:02 am

    Hey Amy,

    Your spacebar design is looking damn good. I am really impressed with the design of chocobar. Could you please review my website ? here is the link of my website – >

    Thank you,
    Sarbjit Singh

  6. 12

    It is cool. I like sites like this but they’ve been around and responsive since IE8. I have tons of examples to share if you don’t believe me. I like grid and flex and I use them alongside positioning and float-based layouts… so… I’m still wondering what we are solving that hasn’t been solved before?

  7. 14

    There were some nice learning resources listed in this post, prior to announcing the winners, why were they removed?


Leave a Comment

You may use simple HTML to add links or lists to your comment. Also, use <pre><code class="language-*">...</code></pre> to mark up code snippets. We support -js, -markup and -css for comments.

↑ Back to top