johnpolacek.github.io - johnpolacek.github.io/expressive-css









Search Preview

Expressive CSS

johnpolacek.github.io
An approach to writing lightweight, scalable CSS using utility classes that are easy to write and understand.
.io > johnpolacek.github.io

SEO audit: Content analysis

Language Error! No language localisation is found.
Title Expressive CSS
Text / HTML ratio 55 %
Frame Excellent! The website does not use iFrame solutions.
Flash Excellent! The website does not have any flash contents.
Keywords cloud CSS classes Expressive styles grid4 sgrid12 mgrid6 View understand easy names utility styling screen class end front Easy Avoid large
Keywords consistency
Keyword Content Title Description Headings
CSS 30
classes 15
Expressive 8
styles 8
grid4 6
sgrid12 6
Headings
H1 H2 H3 H4 H5 H6
1 1 12 12 1 4
Images We found 0 images on this web page.

SEO Keywords (Single)

Keyword Occurrence Density
CSS 30 1.50 %
classes 15 0.75 %
Expressive 8 0.40 %
styles 8 0.40 %
grid4 6 0.30 %
sgrid12 6 0.30 %
mgrid6 6 0.30 %
View 5 0.25 %
understand 5 0.25 %
easy 5 0.25 %
names 5 0.25 %
utility 5 0.25 %
styling 5 0.25 %
screen 5 0.25 %
class 5 0.25 %
end 4 0.20 %
front 4 0.20 %
Easy 4 0.20 %
Avoid 4 0.20 %
large 4 0.20 %

SEO Keywords (Two Word)

Keyword Occurrence Density
mgrid6 sgrid12 6 0.30 %
grid4 mgrid6 6 0.30 %
Expressive CSS 6 0.30 %
sgrid12 grid4 5 0.25 %
leads to 4 0.20 %
should be 4 0.20 %
need to 4 0.20 %
classes are 4 0.20 %
front end 4 0.20 %
utility classes 4 0.20 %
easy to 4 0.20 %
Starter Kit 3 0.15 %
class names 3 0.15 %
to understand 3 0.15 %
when on 3 0.15 %
you to 3 0.15 %
that are 3 0.15 %
declarations of 3 0.15 %
Kit View 3 0.15 %
element styles 3 0.15 %

SEO Keywords (Three Word)

Keyword Occurrence Density Possible Spam
grid4 mgrid6 sgrid12 6 0.30 % No
mgrid6 sgrid12 grid4 5 0.25 % No
sgrid12 grid4 mgrid6 5 0.25 % No
Starter Kit View 3 0.15 % No
and easily understood 2 0.10 % No
View on GitHub 2 0.10 % No
do not care 2 0.10 % No
Benefits Smaller Simpler 2 0.10 % No
Smaller Simpler CSS 2 0.10 % No
View Starter Kit 2 0.10 % No
on GitHub Follow 2 0.10 % No
what your classes 2 0.10 % No
GitHub Follow johnpolacek 2 0.10 % No
when on large 2 0.10 % No
and FrontEnd Architecture 2 0.10 % No
Semantics and FrontEnd 2 0.10 % No
hide when on 2 0.10 % No
HTML Semantics and 2 0.10 % No
About HTML Semantics 2 0.10 % No
on large screen 2 0.10 % No

SEO Keywords (Four Word)

Keyword Occurrence Density Possible Spam
sgrid12 grid4 mgrid6 sgrid12 5 0.25 % No
mgrid6 sgrid12 grid4 mgrid6 5 0.25 % No
grid4 mgrid6 sgrid12 grid4 5 0.25 % No
HTML Semantics and FrontEnd 2 0.10 % No
many popular front end 2 0.10 % No
that is easy to 2 0.10 % No
About HTML Semantics and 2 0.10 % No
View Starter Kit View 2 0.10 % No
Semantics and FrontEnd Architecture 2 0.10 % No
Benefits Smaller Simpler CSS 2 0.10 % No
leads to Harder to 2 0.10 % No
View on GitHub Follow 2 0.10 % No
do not care what 2 0.10 % No
not care what your 2 0.10 % No
care what your classes 2 0.10 % No
what your classes are 2 0.10 % No
your classes are named 2 0.10 % No
on GitHub Follow johnpolacek 2 0.10 % No
when on large screen 2 0.10 % No
sense of layout from 1 0.05 % No

Internal links in - johnpolacek.github.io

johnpolacek.github.io/styled-starter
Styled Starter | Starter Kit with React, Next.js and Styled Components
johnpolacek.github.io/tweendeck
TweenDeck
johnpolacek.github.io/design-system-playground
Design System Playground
johnpolacek.github.io/expressive-css
Expressive CSS
johnpolacek.github.io/simple-grid
Simple Grid
johnpolacek.github.io/Responsivator
Responsivator
johnpolacek.github.io/superscrollorama
SUPERSCROLLORAMA
johnpolacek.github.io/stacktable.js
stacktable.js
Scrolldeck plugin
scrolldeck.js
johnpolacek.github.io/scrolldeck.js/decks/responsive/
What The Heck Is Responsive Web Design?

Johnpolacek.github.io Spined HTML


Expressive CSS Fork me on GitHub Expressive CSS ReadableTwo-bitCSS Expressive CSS follows the two-bit tideway to writing lightweight, scalable CSS with utility classes that are easy to write and understand. View Starter Kit View Example View on GitHub Follow @johnpolacek Created by John Polacek, web developer from Chicago. Follow on Twitter or Github. What does expressive midpoint when it comes to CSS? Expressive is a term loosely borrowed from the concept of expressiveness in programming languages. A programming language is often considered expressive if it allows you to naturally express your thoughts in lawmaking that is easy to understand. This is not new thinking. Often referred to as Functional or Atomic, this type of tideway to CSS been explored in many blog posts, wares and projects. RelatedWaresand Projects For individuals weaned on an ideology where “semantic HTML” ways using content-derived matriculation names (and plane then, only as a last resort), it usually requires you to work on a large using surpassing you can wilt undeniably enlightened of the impractical nature of that approach. You have to be prepared to disgard old ideas, squint at alternatives, and plane revisit ways that you may have previously dismissed. FromWell-nighHTML Semantics and Front-EndTraceryby Necolas Gallagher Building and shipping functional CSS CSS and Scalability 15kb of CSS is all you’ll overly need Rationalizing Functional CSS Future CSS Naming CSS Stuff Is Really Hard Defending PresentationalMatriculationNames WhyStaveNon-semantic Classes?ConsideringThey’re Non-semantic! Challenging CSS Best PracticesWell-nighHTML Semantics and Front-EndTraceryContextual Styling: UI Components, Nesting, and Implementation Detail Using Helper Classes to DRY and Scale CSS Tachyons BasscssTwo-bitCSS Marvel Styleguide Solid (Buzzfeed Styleguide) Authoring Guidelines Principles Classes are for visual styling. Tags are for semantics. Start from a good foundation of wiring html element styles. Use utility classes for DRY CSS.Matriculationnames should be understandable at a glance. Responsive layout styling should be easy (fun even). Benefits Smaller, Simpler CSS Easier layout refactoring and experimentation. Spend less time writing CSS. Scalability and portability. Principles Classes Are For Visual Styling Do classes need to be ‘semantic’? Browsers do not superintendency what your classes are named. People who visit your site do not superintendency what your classes are named. The people who do superintendency are those who will inherit your code. Consider how quickly an tragedian can understand your front end codebase. Utility/Helper classes are widely used. Expressive CSS takes the idea of Utility/Helper classes that are once widely used in many popular front end frameworks, and encourages you to take it further. Utility classes are wontedly and extensively used by many popular front end libararies. Bootstrap .center-block { display: block; margin-left: auto; margin-right: auto; } HTML5 Boilerplate .hidden { display: none !important; visibility: hidden; } Why do helper classes help? People like to use these classes considering they are straightforward and hands understood. Why fight that? Embrace it. That is what Expressive CSS is all about. Easy to understand + Easy to add/remove = Expressive Build on a Good Foundation Start with smart defaults Go vastitude applying a reset to normalize the default element styles. Elements without any matriculation styling should have a squint and feel. Keep an eye on your wiring element styling with a test page. low specifity → easy to override → less spout → less complexity Here are some wares well-nigh using wiring styles instead of a reset:Well-nighnormalize.css Setting rather than Resetting Default Styling No CSS Reset Stay DRY With Utility Classes How long does it take surpassing the variegated classes you make for widgets, blocks, modules, menus, modals, forms and components start to wilt unmaintainable? Writing CSS for all of these can lead to a stylesheet overloaded with declarations of font-size, padding, margin and more. How many CSS declarations are in your stylesheets for... margin padding width etc. verisimilitude font-size font-weight font-style text-align vergeStavedefining the same styles over and over again. In most cases, use a utility matriculation to stave multiple declarations of the same styling property, expressly for worldwide properties like padding/margin, typography, colors, structuring and container styles. This is the key to unlocking the benefits of Expressive CSS. A trade-off. You will have increasingly classes in HTML. However, this will result in smaller stylesheets, expressly as your codebase grows. By making wide-stretching use of utility classes, you can stave nesting and overrides which will reduce the complexity of your CSS architecture. Strive For At-A-Glance Understandability Consider the view sourceror. When naming classes, consider those viewing your markup for the first time. With Expressive CSS, they should be worldly-wise to get some sense of layout from the markup alone, without the need to plane unshut a browser. This enables them to understand the element styles quickly and work faster. Given the markup below, which div can you largest guess what it might squint like? <div class="inner"> <div class="border pad-1">Staveoverly synoptic matriculation names. Hyphens help the eye when scanning markup. .fr // too synoptic .floatr // better, but.. .float-right // this is increasingly readable.. .float-r // or unsustained a little if you prefer Component matriculation names should be well-spoken and hands understood.Stavenames that are mysterious. Mysterious .widget.module Obvious .ribbon.modal Breakpoint Prefixing For Quick, Easy Responsive Layouts Build responsive layouts quickly by prefixing them inside of media queries wideness worldwide breakpoints. Many grid systems and front end frameworks once use this technique. .grid-4.m-grid-6.s-grid-12 .grid-4.m-grid-6.s-grid-12 .grid-4.m-grid-6.s-grid-12 .grid-4.m-grid-6.s-grid-12 .grid-4.m-grid-6.s-grid-12 .grid-4.m-grid-6.s-grid-12 Create breakpoint prefixes for any properties that you want to transpiration based on screen size. .s-hidden // hibernate when on small screen .s-text-right // uncurl right on small screen .l-hidden // hibernate when on large screen .l-text-large // large text when on large screen Benefits Smaller Simpler CSS Too Much C in CSS Every time you write a style declaration, you are creating an exception to a default behavior.Increasinglylevels of spout leads to..Increasinglycomplexity leads to.. Harder to maintain CSS leads to.. Harder to scale leads to.. A giant mess Lightweight Simple Scalable Portable By restricting the style declarations of related properties to one zone of your stylesheet, you not only reduce the size of your CSS, you create a unified visual style for your site that is easy to maintain and to change. Easy Refactoring and Experimentation Apply styles like an versifier paints on a canvas Let’s make the link at the marrow of that widget aligned right instead of aligned center. Instead of having to venery for the line of css that controls structuring in devtools, then drilling into the css and editing, all you need to do is transpiration class="text-center" to class="text-right". Write Less CSS As you build up a system of utility classes, the number of times you need to tragedian new styles will profoundly decrease. Getting Started To get started, trammels out the Starter Kit. View Starter Kit View on GitHub Follow @johnpolacek