story

Karaikal police round up history-sheeters under ‘Operation Trishul’

Eight long-pending non-bailable warrants were successfully executed, and two arrests made under the Arms Act for possession of dangerous weapons




story

A History of CSS Through Fifteen Years of 24 ways

Rachel Andrew guides us through a tour of the last fifteen years in CSS layout, as manifested in articles here on 24 ways. From the days when Internet Explorer 6 was de rigueur, right up to the modern age of evergreen browsers, the only thing you can be sure of is that the web never stands still for long.


I’ve written nine articles in the 15 years of 24 ways, and all but one of those articles had something to do with CSS. In this last year of the project, I thought I would take a look back at those CSS articles. It’s been an interesting journey, and by reading through my words from the last 15 years I discovered not only how much the web platform has evolved - but how my own thinking has shifted with it.

2005: CSS layout starting points

Latest web browser versions: Internet Explorer 6 (at this point 4 years old), IE5.1 Mac, Netscape 8, Firefox 1.5, Safari 2

Fifteen years ago, my contributions to 24 ways started with a piece about CSS layout. That article explored something I had been using in my own work. In 2005, most of the work I was doing was building websites from Photoshop files delivered to me by my design agency clients. I’d built up a set of robust, tried-and-tested CSS layouts to use to implement these. My starting point when approaching any project was to take a look at the static comps and figure out which layout I would use:

  • Liquid, multiple column with no footer
  • Liquid, multiple column with footer
  • Fixed width, centred

At that point, there were still many sites being shipped with table-based layouts. We had learned how to use floats to create columns some four years earlier, however layout was still a difficult and often fragile thing. By developing patterns that I knew worked, where I had figured out any strange bugs, I saved myself a lot of time.

Of course, I wasn’t the only person thinking in this way. The two sites from which the early CSS for layout enthusiasts took most of their inspiration, had a library of patterns for CSS layout. The Noodle Incident little boxes is still online, glish.com/css is sadly only available at the Internet Archive.

This thinking was taken to a much greater extreme in 2011, when Twitter Bootstrap launched and starting with an entire framework for layout and much more became commonplace across the industry. While I understand the concern many folk have about every website ending up looking the same, back in 2005 I was a pragmatist. That has not changed. I’ve always built websites and run businesses alongside evangelizing web standards and contributing to the platform. I’m all about getting the job done, paying the bills, balancing that with trying to make things better so we don’t need to make as many compromises in the future. If that means picking from one of a number of patterns, that is often a very reasonable approach. Not everything needs to be a creative outpouring.

Today however, CSS Grid Layout and Flexbox mean that we can take a much more fluid approach to developing layouts. This enables the practical and the creative alike. The need for layout starting points - whether simple like mine, or a full framework like Bootstrap - seems to be decreasing, however in their place comes an interest in component libraries. This approach to development partly enabled by the fact that new layout makes it possible to drop a component into the middle of a layout without blowing the whole thing up.

2006: Faster Development with CSS Constants

Latest web browser versions: Internet Explorer 7, Netscape 8.1, Firefox 2, Safari 2

My article in 2006 was once again taken from the work I was doing as a developer. I’ve always been as much, if not more of a backend developer than a frontend one. In 2006, I was working in PHP on custom CMS implementations. These would also usually include the front-end work. Along with several other people in the industry I’d been experimenting with ways to use CSS “constants” as we all seemed to call them, by processing the CSS with our server-side language of choice.

The use case was mostly for development, although as a CMS developer, I could see the potential of allowing these values to be updated via the CMS. Perhaps to allow a content editor to change a color scheme.

Also in 2006, the first version of Sass was released, created by Hampton Catlin and Natalie Weizenbaum. Sass, LESS and other pre-processors began to give us a more streamlined and elegant way to achieve variables in CSS.

In 2009, the need for pre-processors purely for variables is disappearing. CSS now has Custom Properties - something I did not foresee in 2006. These “CSS Variables” are far more powerful than swapping out a value in a build process. They can be changed dynamically, based on something changing in the environment, rather than being statically set at build time.

2009: Cleaner Code with CSS3 Selectors

Latest web browser versions: Internet Explorer 8, Firefox 3.5, Safari 4, Chrome 3

After a break from writing for 24 ways, in 2009 I wrote this piece about CSS3 Selectors, complete with jQuery fallbacks due to the fact that some of these selectors were not usable in Internet Explorer 8.

Today these useful selectors have wide browser support, we also have a large number of new selectors which are part of the Level 4 specification. The changes section of the Level 4 spec gives an excellent rundown of what has been added over the years. Browser support for these newer selectors is more inconsistent, MDN has an excellent list with the page for each selector detailing current browser support and usage examples.

2012: Giving Content Priority with CSS3 Grid Layout

Latest web browser versions: Internet Explorer 10, Firefox 17, Safari 6, Chrome 23

My 2012 piece was at the beginning of my interest in the CSS Grid Layout specification. Earlier in 2012 I had attended a workshop given by Bert Bos, in which he demonstrated some early stage CSS modules, including the CSS Grid Layout specification. I soon discovered that there would be an implementation of Grid in IE10, the new browser shipped in September of 2012 and I set about learning how to use Grid Layout. This article was based on what I had learned.

The problem of source versus visual order

As a CMS developer I immediately linked the ability to lay out items and prioritize content, to the CMS and content editors. I was keen to find ways to allow content editors to prioritize content across breakpoints, and I felt that Grid Layout might allow us to do that. As it turned out, we are still some way away from that goal. While Grid does allow us to separate visual display from source order, it can come at a cost. Non-visual browsers, and the tab order of the document follow the source and not the visual display. This makes it easy to create a disconnected and difficult to use experience if we essentially jumble up the display of elements, moving them away from how they appear in the document. I still think that an issue we need to solve is how to allow developers to indicate that the visual display should be considered the correct order rather than the document order.

The Grid Specification moved on

Some of the issues in this early version of the grid spec were apparent in my article. I needed to use a pre-processor, to calculate the columns an element would span. This was partly due to the fact that the early grid specifications did not have a concept of the gap property. In addition the initial spec did not include auto-placement and therefore each item had to be explicitly placed onto the grid. The basics of the final specification were there, however over the years that followed the specification was refined and developed. We got gaps, and auto-placement, and the grid-template-areas property was introduced. By the time Grid shipped in Firefox, Chrome, and Safari many of the sticky things I had encountered when writing this article were resolved.

2015: Grid, Flexbox, Box Alignment: Our New System for Layout

Latest web browser versions: Edge 13, Firefox 43, Safari 9, Chrome 47

Grid still hadn’t shipped in more browsers but the specification had moved on. We had support for gaps, with the grid-row-gap, grid-column-gap and grid-gap properties. My own thinking about the specification, and the related specifications had developed. I had started teaching grid not as a standalone module, but alongside Flexbox and Box Alignment. I was trying to demonstrate how these modules worked together to create a layout system for modern web development.

Another place my thinking had moved on since my initial Grid article in 2012, was in terms of content reordering and accessibility. In July of 2015 I wrote an article entitled, Modern CSS Layout, Power and Responsibility in which I outlined these concerns.

Some things change, and some stay the same. The grid- prefixed gap properties were ultimately moved into the Box Alignment specification in order that they could be defined for Flex layout and any other layout method which in future required gaps. What I did not expect, was that four years on I would still be being asked about Grid versus Flexbox:

“A question I keep being asked is whether CSS grid layout and flexbox are competing layout systems, as though it might be possible to back the loser in a CSS layout competition. The reality, however, is that these two methods will sit together as one system for doing layout on the web, each method playing to certain strengths and serving particular layout tasks.”

2016: What next for CSS Grid Layout?

Latest web browser versions: Edge 15, Firefox 50, Safari 10, Chrome 55

In 2016, we still didn’t have Grid in browsers, and I was increasingly looking like I was selling CSS vaporware. However, with the spec at Candidate Recommendation, and it looking likely that we would have grid in at least two browsers in the spring, I wrote an article about what might come next for grid.

The main subject was the subgrid feature, which had by that point been removed from the Level 1 specification. The CSS Working Group were still trying to decide whether a version of subgrid locked to both dimensions would be acceptable. In this version we would have declared display: subgrid on the grid item, after which its rows and columns would be locked to the tracks of the parent. I am very glad that it was ultimately decided to allow for one-dimensional subgrids. This means that you can use the column tracks of the parent, yet have an implicit grid for the rows. This enables patterns such as the one I described in A design pattern solved by subgrid. At the end of 2019, we don’t yet have wide browser support for subgrid, however Firefox has already shipped the value in Firefox 71. Hopefully other browsers will follow suit.

Level 2 of the grid specification ultimately became all about adding support for subgrid, and so we don’t yet have any of the other features I mentioned in that piece. All of those features are detailed in issues in the CSS Working Group Github repo, and aren’t forgotten about. As we come to decide features for Level 3, perhaps some of them will make the cut.

It was worth waiting for subgrid, as the one-dimensional version gives us so much more power, and as I take a look back over these 24 ways articles it really underlines how much of a long game contributing to the platform is. I mentioned in the closing paragraph of my 2016 article that you should not feel ignored if your idea or use case is not immediately discussed and added to a spec, and that is still the case. Those of us involved in specifying CSS, and in implementing CSS in browsers care very much about your feedback. We have to balance that with the need for this stuff to be right.

2017: Christmas Gifts for Your Future Self: Testing the Web Platform

Latest web browser versions: Edge 16, Firefox 57, Safari 11, Chrome 63

In 2017 I stepped away from directly talking about layout, and instead published an article about testing. Not about testing your own code, but about the Web Platform Tests project, and how contributing to the tests which help to ensure interoperability between browsers could benefit the platform - and you.

This article is still relevant today as it was two years ago. I’m often asked by people how they can get involved with CSS, and testing is a great place to start. Specifications need tests in order to progress to become Recommendations, therefore contributing tests can materially help the progress of a spec. You can also help to free up the time of spec editors, to make edits to their specs, by contributing tests they might otherwise need to work on.

The Web Platform Tests project has recently got new and improved documentation. If you have some time to spare and would like to help, take a look and see if you can identify some places that are in need of tests. You will learn a lot about the CSS specs you are testing while doing so, and you can feel that you are making a useful and much-needed contribution to the development of the web platform.

2018: Researching a Property in the CSS Specifications

Latest web browser versions: Edge 17, Firefox 64, Safari 12, Chrome 71

I almost stayed away from layout in my 2018 piece, however I did feature the Grid Layout property grid-auto-rows in this article. If you want to understand how to dig up all the details of a CSS property, then this article is still useful.

One thing that has changed since I began writing for 24 ways, is the amount of great information available to help you learn CSS. Whether you are someone who prefers to read like me, or a person who learns best from video, or by following along with a tutorial, it’s all out there for you. You don’t have to rely on understanding the specifications, though I would encourage everyone to become familiar with doing so, if just to be able to fact check a tutorial which seems to be doing something other than the resulting code.

2019: And that’s a wrap

Latest web browser versions: Edge 18, Firefox 71, Safari 12, Chrome 79

This year is the final countdown for 24 ways. With so many other publications creating great content, perhaps there is less of a need for an avalanche of writing in the closing days of each year. The archive will stay as a history of what was important, what we were thinking, and the problems of the day - many of which we have now solved in ways that the authors could never have imagined at the time. I can see through my articles how my thinking evolved over the years, and I’m as excited about what comes next as I was back in 2005, wondering how to make CSS layout easier.


About the author

Rachel Andrew is a Director of edgeofmyseat.com, a UK web development consultancy and creators of the small content management system, Perch; a W3C Invited Expert to the CSS Working Group; and Editor in Chief of Smashing Magazine. She is the author of a number of books including The New CSS Layout for A Book Apart and a Google Developer Expert for Web Technologies.

She curates a popular email newsletter on CSS Layout, and is passing on her layout knowledge over at her CSS Layout Workshop.

When not writing about business and technology on her blog at rachelandrew.co.uk or speaking at conferences, you will usually find Rachel running up and down one of the giant hills in Bristol, or attempting to land a small aeroplane while training for her Pilot’s license.

More articles by Rachel




story

Romancing history through fashion

Poonam Bhagat’s penchant for intricate detailing is visible in her latest collection, writes PRIYADARSHINI PAITANDY




story

The colour story

Designers play with a wide colour palette for the festive season




story

Hijabi history New York Fashion Week

Indonesian designer Anniesa Hasibuan made history at the New York Fashion Week on September 12. Find out how.




story

Turnaround : A Story of Recovery / directed by: Moira Simpson ; produced by: Jennifer Torrance, Moira Simpson, John Taylor, Kathleen Shannon ; production agency: National Film Board of Canada (Montreal)

Montreal : National Film Board of Canada, 2017




story

Donna's Story / directed by: Doug Cuthand ; produced by: Graydon McCrea, Jerry Krepakevich ; production agency: National Film Board of Canada (Montreal)

Montreal : National Film Board of Canada, 2011




story

Pieces of a Dream : A Story of Gambling / directed by: Michelle Wong ; produced by: Bonnie Thompson, Jerry Krepakevich, Graydon McCrea ; production agency: National Film Board of Canada (Montreal)

Montreal : National Film Board of Canada, 2019




story

The history of approximation theory [electronic resource] : from Euler to Bernstein / Karl-Georg Steffens

Boston : Birkhauser, 2006




story

History of Banach spaces and linear operators [electronic resource] / Albrecht Pietsch

Boston, Mass. : Birkhäuser ; 2007




story

The splendors and miseries of martingales [electronic resource] : their history from the casino to mathematics / Laurent Mazliak, Glenn Shafer, editors.

Cham : Birkhäuser, 2022




story

The Story of Algebraic Numbers in the First Half of the 20th Century [electronic resource] : From Hilbert to Tate / Władysław Narkiewicz

Cham : Springer, 2019.




story

A peek into the trade history of Bunder at KCCI office




story

Dharmadurai: terrific story that loses its way

Dharmadurai leaves us dry-eyed, despite much potential for drama.




story

31st October: Cardboard recreations of history

There’s nothing nuanced or new in this film about one of the worst pogroms of our times: the anti-Sikh riots of 1984




story

Doctor Strange: special effects and a great story

‘Doctor Strange’ is a subverted superhero film with plenty to look and laugh at.




story

‘Mem Famous’ movie review: Sumanth Prabhas makes a promising debut in this partially engaging coming-of-age story

Newcomers led by Sumanth Prabhas get the carefree rural Telangana vibe right in the Telugu film ‘Mem Famous’, which shines in a few segments but falls short of being a roller coaster fun ride




story

A tool to record history

Kishore Nagappa, the sculptor behind statues for the likes of Jawaharlal Nehru, Ambedkar, Sathyamurthi, Muthuramalinga Devar and the most recent one of Pennycuick




story

Ind vs NZ 3rd Test: New Zealand scripts history as India suffers Test series whitewash

No team had been able to win all the Test matches in India in a series featuring three or more Test matches in nine decades.




story

History resurfaces

City archaeologists and history students discover fragments of burial urns, ring stands belonging to the megalithic period in Sulapuram Village near Madurai



  • History & Culture

story

History lessons by Lake Pichola

Get up close with Udaipur’s royal past, its art and architecture at the City Palace museum, writes Chitra Swaminathan




story

Shedding light on local history

It’s the lifeblood of community identities and is vital for preserving cultural heritage




story

Fringe of the fringe : queering punk media history / edited by Kathrin Dreckmann, Elfi Vomberg, Linnea Semmerling.

Berlin : Hatje Cantz, [2023]




story

Sacred cow, mad cow : a history of food fears / Madeleine Ferrières ; translated by Jody Gladding

New York : Columbia University Press, c2006




story

Ketamine [electronic resource] : the story of modern psychiatry's most fascinating molecule / by Keith G. Rasmussen.

Washington, DC : American Psychiatric Association Publishing, [2024]




story

Maharashtra key to India's growth story being scripted in Modi 3.0: EAM Jaishankar




story

Wayanad’s tryst with history

Congress leader Rahul Gandhi was re-elected from the Wayanad Lok Sabha constituency in the general elections held in April 2024. But he relinquished the seat to retain the Congress’ traditional stronghold Rae Bareli. The constituency was in the news two months later when two massive landslides snuffed out hundreds of lives in the upper reaches of the hill district. With the Congress fielding Priyanka Gandhi Vadra from the constituency for the byelection, the region is back in the limelight, reports Abdul Latheef Naha




story

Investigating the Stanford Prison experiment [electronic resource] : history of a lie / Thibault Le Texier.

Cham : Springer, 2024.




story

‘Syeda’s life mirrors India,’ says Neha Dixit, author of ‘The Many Lives of Syeda X: The Story of an Unknown Indian’

Journalist Neha Dixit is shocked at the invisibilisation of the urban poor, the backbone of the nation




story

India’s disaster management story as a work in progress

The Disaster Management (Amendment) Bill could be the first step in revamping the architecture and the processes involved




story

New Zealand makes history, and how

Notching up a Test series win in India for the first time, the Kiwis were dominant, thanks largely to the contributions of Rachin Ravindra and Mitchell Santner




story

The Indrani Mukerjea Story Review

If Indrani Mukerjea wanted to whitewash her image, this docu series was not the right platform, asserts Deepa Gahlot.




story

Fairy Folk Review: Marriage Story With A Twist

For all its oddball energy and earnest ambition, Fairy Folk cannot be missed, applauds Mayur Sanap.




story

Bastar: The Naxal Story Review

The Naxal movement has such a complex history that several books have been written to understand it. Bastar: The Naxal Story seeks to reduce it to bullet points and stereotypes, observes Deepa Gahlot.




story

PGI Chandigarh makes history with three cervical spine disc replacements




story

Why 2018 Is The 'Real' Kerala Story

Kindness and compassion is all you need to survive and build your life. And that is what makes 2018's Kerala story so relevant, notes Divya Nair.




story

Why Did This Kerala Story Become A Hit?

'Cinema or the sentiment of a people, disgusted by contemporary politics and wanting to feel whole by collectively recalling a moment of great difficulty that was also a cause for togetherness?', asks Shyam G Menon.





story

Backstory Radio Presents: The American Indian Story

In October 2010, the hosts of Backstory visited Colonial Williamsburg's Kimball Theatre to perform a live show.




story

The Flipkart story

From a start-up with an investment of just four lakhs rupees, Flipkart has grown into a $100 million-revenue online retail giant in just five years. Ushamrita Choudhury tracks the fairytale.




story

The chicken and egg story

B.Soundarajan’s contract farming model in poultry has turned Suguna Holdings Pvt Ltd into a Rs 4,200 crore enterprise. At the same time, it has provided an assured livelihood to hundreds of farmers across India. K. Jeshi reports



  • Money & Careers

story

Making history

Grand sets and chaste Tamil make a welcome change. Geetha Venkataramanan adds the background details




story

The earthy love story of a goddess

Four years, and 100 shows, Mandya Ramesh’s Chama Chaluve continues to play to a full house. The highly skilled performance in the folk idiom borrows dynamically from several other genres




story

Watch Naga Chaitanya-Samantha's love story

'Samantha is constantly pushing the envelope. In fact, she is doing more work now and far more challenging roles than she did before she got married. Those old theories of audiences not wanting to see married actresses are done with.'




story

Resul Pookutty calls RRR 'Gay love story'

'I don't think @RRRMovie is a gay love story as you say, but even if it was, is 'gay love story' a bad thing? How can you justify using this? Extremely disappointed that someone of your accomplishments can stoop so low!'




story

Is RRR A Gay Love Story?

Are we living in those primitive times when same-sex relationships qualified as stone-pelting offences, asks Subhash K Jha?




story

'When I Heard The Story, I Was Shaken'

'How could anyone do this to a child? And how can a father cope with such a trauma? But then we actors have to rise above personal emotions.'




story

The ancient history of the Egyptians, Carthaginians, Assyrians, Babylonians. Medes and Persians, Macedonians, and Grecians. / by Mr Rollin, Sometime Principal of the University of Paris, afterwards Professor of Eloquence in the Royal College, and Member o

Edinburgh : Printed for Hamilton and Balfour, Kincaid and Donaldson, and W. Gray., MDCCLVIII. [1758]




story

The Queen's pardon : the story of two deserters / told by Rev. J. R. Walkey, M.A., C.B.E. late Chaplain-in-Chief, R.A.F.

[Wimbledon] : [Arthur Mercer], [1946]




story

Learning from history

Water has to be treated with respect and demand management is the key, says S. Vishwanath