Cascading style sheets came to the world of the web much later than the HTML language. Although it was proposed in 1994, the first standard would not arrive until practically well into 1997. It would be CSS 1.
Obviously, CSS 1 was a great advance for the world of web development, but the truth is that by then designers had gotten used to mixing content with presentation, through the use of HTML tags that were present and still working. in browsers. In addition, CSS 1 had been presented with many deficiencies, which meant that a new standard had to be presented quickly. This is how CSS 2 would be released as a recommendation after just one year, in 1998.
From this point on, the world of open standards for the web came to a general standstill. Not just CSS, but HTML and other languages like Javascript. CSS 2 had a revision released as CSS 2.1 in which they added some new selectors, but it took years before a new version was released. However, we entered a dark stage in which CSS did not fully cover its objectives.
-
CSS support was not the same in all browsers.
-
Browsers were dedicated to incorporating functionality through prefixes, which made writing CSS more difficult and tedious.
-
The standard did not cover all the needs of designers.
However, web designers and developers had to use the famous "CSS hacks", which were nothing more than tricks to achieve the desired results in unorthodox ways, which ended up in complex code and highly oriented to meet the needs of certain browsers. . To give a couple of examples, you had to use layers nested at various levels to get things like rounded edges, Javascript to get responsive font sizes, images with alpha channel transparency (PNG) to get shadows, etc. In the end, getting a moderately attractive and homogeneous design across browsers with only CSS was very complicated and you had to keep changing the HTML or Javascript to solve their shortcomings.
The appearance of CSS 3 only materialized in 2014 with the movement of HTML 5. It would come to provide solutions to most of the needs of designers and to finally cover the main objective of the language, the separation of the content from the presentation. However, it should be said that CSS 3 was presented through a large group of specifications, which have been improving and increasing to date, so it is not so much a one-off release, but a continuous improvement of the standard at various levels.
Today we can say that CSS meets the needs of designers, even more so after the appearance of CSS Flexbox, which makes it extremely easy to place elements on the page. Together of course with the latest contribution to the CSS Grid System specifications, which has finally brought a complete and versatile grid system to the web, through which web designers have truly powerful tools to position elements on the page, so regardless of how they appear in the HTML code.