Interesting facts about CSS3


CSS (Cascading Style Sheets) came a long way in just a few years since its initial release in 1996. CSS3, the latest iteration of the style sheet language, is now powerful enough to even replace JavaScript. Before CSS3, web designers had no option to choose, they used JavaScript in almost all their projects since it was necessary to design interactive portfolios, drop-down menus, and animated elements. It not only made the websites load slower but also made websites vulnerable to hacking and manipulation. When CSS3 released, designers can do all of those things that they used to do with JavaScript and more use nothing but a few lines of CSS and HTML to make websites safer and load faster. There’s a huge amount of improvements over the last version, like the ability to easily add video and 3D objects to your webpage.

Here we are going to outline some great features and facts about CSS3. So, let’s start -

  • CSS3 is broken up into many individual modules, improving both functionality and ease of working. It makes CSS3 a whole lot easier to handle given its complexity.

  • With the modular structure and new functionalities, CSS3 makes it much easier to make changes.  This is possible because individual modules can be easily changed and integrated into the main system.

  • CSS3 has also managed to set new benchmarks in development speed. Many parts of its functionality now include what used to require a CSS – Javascript combo. This way, time is saved during production, during loading and finally towards the end product.

  • CSS3 brings a host of options. An overlooked added feature is the ability to use an image as a border. The CSS3 border-image property allows you to define an image which can be used as a border.

  • You can also create rounded corners, something that wasn’t possible before.

  • Media Queries is an enhancement of the @media rules of CSS and the “media” attribute in HTML. It adds parameters such as the size of the display, color depth and aspect ratio.

  • Selectors level describes the element selectors used in CSS and some other technologies. Selectors are used to selecting elements in an HTML or XML document, in order to attach (style) properties to them. Elements can be selected based on their name, attributes, context, and other aspects.

  • CSS Snapshot 2017 links to all the specifications that together represent the state of CSS as of 2017. It is the successor to the similar snapshots for 2015, 2010 and 2007. With this document, the CSS aims to help implementers distinguish between the parts of CSS that are ready for production and the parts that are still experimental.

  • The ability to generate complex gradient blends is one of the really dramatic improvements in CSS3. Until the advent of CSS3, designers relied on tiled image files to create textured backgrounds behind pages and design elements (like

    tags). Those image files slowed down pages and looked tacky when they slowly downloaded into pages a user had open.
  • CSS3’s RGBA color properties define opacity, but they work differently and are much more powerful and flexible than traditional CSS opacity settings.

  • CSS3 effects create drop shadows, rounded corners and irregular polygon layout elements without images or JavaScript.

  • CSS3 transitions, animations, and @keyframes create animation and interactivity that in many ways approaches that of JavaScript. Animate.css shows the power of CSS3. It’s a collection of cool animation effects that you can use to animate objects and sections on a website. Although, this animated Solar System is the perfect example of CSS3 animations.

  • CSS3 makes creating page transitions easier than ever. The transition effects you see in this example will probably make you believe there’s some trick or hidden jQuery is involved because the animations are that smooth. You can also create similar carousels with CSS3 as well.

  • Creating shapes and text effects by using CSS is easy.

  • Icono is more minimalist icon pack that has also been crafted with CSS3. There are plenty more available all over the web.

  • Border-radius was sort of the flagship CSS3 property. While many designers were still terrified of the idea that a layout could be presented differently from browser to browser, a baby-step, like rounded corners, was an easy way to lure them in.

  • By applying shadows to the:: before and:: after pseudo-classes, you can create some really interesting perspectives.

  • text-shadow is one of the few CSS properties that we can omit the use of vendor-prefixes. Quite similar to box-shadow, it must be applied to text and receives the same four parameters - x-offset, y-offset, blur, the color of the shadow.

  • The background property has been overhauled to allow for multiple backgrounds in CSS3.

  • The Flexible Box Model will finally allow us to get away from those many floats. Though it takes a bit of work to wrap your head around the new properties, once you do, it all should make perfect sense.

  • Clearfix is also set to the parent element to ensure float issues do not arise. The rationale behind the clearfix hack is to insert some content (a period) after the parent element to force the parent element to self-clear since there is content after the floats.

  • Anaglyphs, even when done in CSS3, can be displayed in 3D if you have some snazzy goggles at your house. it can look pretty awesome for certain themes for various projects (such as a video game retro theme, and similar).

  • The frosted glass effect utilizes the background filter and allows developers to generate the effect of blurring everything behind an element. It works by copying everything that will be blurred. Then, using a CSS or SVG blur filter, the blurred content is cropped to the correct size.

  • crafty CSS function allows the element()CSS function to use an arbitrary HTML element as background images. An ideal situation to use this CSS tooltip would be to extract an image in an HTML5 and then utilize this as the background.

  • CSS counters allow developers to manipulate the look of content according to its location. Most of the browser type supports this CSS function, even though it is used infrequently. CSS counters are great for numbering headings, pagination and displaying numbers below imaging.

  • The attr() function gives the value of an attribute of the selected elements. Data attributes are plain HTML attributes, which make them reachable from CSS.

  • CSS use used CSS to apply circle, pentagonal and hexagonal shape masking to an image. On top of that, it expands into a zoom as well.

  • CSS-based loaders can come in quite handy.

  • The CSS pointer-events property provides a method to effectively disable an element so that clicks on a link don't trigger a click event through JavaScript.

  • One such popular animation is the slide up and slides down effect, which most people don't know can be accomplished with only CSS.

  • A clever use of max-height allows the element to grow and shrink as needed.

  • CSS triangles are a neat trick but so are CSS circles.  By abusing CSS border-radius, you can create flawless circles. CSS has a more uniform API for Shapes coming but you can create circles with this hack now.

  • Cascading and Inheritance describe how values are assigned to properties. CSS allows several style sheets to influence the rendering of a document, and the process of combining these style sheets is called ‘cascading.’ If no value can be found through cascading, a value can be inherited from the parent element or the property's initial value is used.

  • The Line Layout Module has been replaced by the Inline Layout module.

  • Math is a proposed module for properties targeted at styling mathematical formulas, building on the layout model of the ‘presentational’ elements of MathML. It is currently not being worked on.

  • The APIs introduced by CSSOM View Module specification provide authors with a way to inspect and manipulate the view information of a document. This includes getting the position of element layout boxes, obtaining the width of the viewport through script, and also scrolling an element.

  • The CSS Scoping module level 1 defines the CSS counterpart to HTML5's scoped styles, mechanisms for styling pseudo-elements (‘regions’) and selectors for the ‘shadow DOM.’

  • The Regions module defines two kinds of things you can do with regions: Some kinds of regions can be chained together and content flowed into them, such that text that is too long for one region doesn't overflow, but automatically continues in another region; and, secondly, content can be styled based on what region it ends up in. E.g., a paragraph that flows into two regions can have bold text in the first region and normal text in the second, even though there is no element boundary.

  • Syntax contains the generic (forward-compatible) grammar that all levels of CSS adhere to. Every property also has restrictions on the syntax of its value, but those can be found in the other CSS modules.

  • CSS Print Profile describes a subset of CSS that is suitable for documents printed on low-cost printers. It is a companion to the XHTML Print Profile.

  • CSS TV profile describes a subset of CSS that is suitable for documents displayed on TV sets, including text documents that are broadcast over digital TV.

  • CSS Device Adaptation defines that how the initial containing block relates to the viewport and how CSS units ('px', 'cm', 'pt', etc.) relate to real units.

  • CSS Exclusions defines properties to set on positioned elements so that they act as ‘exclusions’ and cause text to wrap around themselves, similar to how text wraps around floating elements.

  • CSS Masking provides two means for partially or fully hiding portions of visual elements: masking and clipping. Masking describes how to use another graphical element or image as a luminance or alpha mask. Clipping describes the visible region of visual elements. This module defines features both for CSS and for SVG.

  • The CSS Font Loading module defines a part of the DOM API for the '@font-face' rule of CSS. In particular, it defines methods to allow a script to explicitly load a font (e.g., to load it earlier than the renderer would load it by itself) and be informed when a font is loaded.



Actually, we should probably take a moment to thank CSS3. It's a pretty accepted fact by now that we simply do not need images to do all the things like before.  With CSS3, it has really seemed to have taken a lot of the weight off the shoulders of our websites, because let’s be honest - images were surely weighing them down. There’s much more that can be done on this platform. If you have your own experience, don’t forget to share in the comments section below. Thank you!