Maxwell Morgan

Lead Front-End Engineer

 

 

@maxinacube

Maintain Your Theme's Styles,

Future You Will Thank You

The Problem

CSS gets bloated overtime.

We jump in with the best intentions.

 

We study the design and know all the

pieces. It's time to start building.

Time goes on, things are going smooth.

 

New features are added but that's no big deal, right?

Well, then more features are added.

While more features are added,

others are removed.

 

Do the styles for old features get removed with the markup?

Before you know it, your CSS is bloated and clean-up seems so daunting.

After time, will you or another developer know where to put specific CSS?

 

This is where everything collides and turns a bad situation worse.

The Solution

Keep things simple and clear

Know your site

 

What repeats and can be reused?

Work with your designer

 

Make suggestions about what can be reused, or even

what may be simplified for better performance

Keep a table of contents

and don't stray from it​

/**
 * 01. Logo
 * 02. Navigation
 * 03. Mobile Navigation
 * 04. Promo Banner
 **/


// 01. Logo

// 02. Navigation

// 03. Mobile Navigation

// 04. Promo Banner

If you know you're doing something wrong,

keep a shame file

/**
 * 01. Team single paragraph
 **/


// 01. Team single paragraph

// @todo article.post .team-info .entry-content p needs
// to be refactored it is too specific

body.team .team-info article.post .entry-content p {
    font-size: 1.25rem;
}

A Step Further

The           Solution

Become granular with your Sass

 

Break apart Sass files by type; global, page, plugin, config

Global Styles

Header, Footer, Typography, Components, etc.

 

Components can be pagination, comments, forms

Page Styles

Custom Post Type Archives and Single

 

While Posts and a CPT for Articles or News can be a 1-to-1, a staff post type or a location post type may have custom styles

Plugin Styles

Custom styles to go along with installed plugins

 

Keeping plugins styles separate will make life easy

when a plugin is uninstalled or updates

Sass Config

$variables, @mixins, and more

 

Using variables, mixins, and functions

makes everything easier.

$black: #000;
$linchpin-blue: #3fc1d0;

$primary-color: $linchpin-blue;
$secondary-color: $black;

#wcri-slide {
    background: $primary-color;
    color: $secondary-color;
}
@mixin clearfix {
    &:before,
    &:after {
        content: '';
        display: table;
    }

    &:after {
        clear: both;
    }
}

#wcri-slide {
    @include clearfix;
}
@function light-or-dark( $color ) {
    $return-color: $black !default;

    @if ( lightness( $color ) > 50% ) {
        $return-color: $white;
    }

    @return $return-color;
}

Sass Tools To Know

For Compiling

• Gulp

Grunt

Compass

Compiling Tools

Autoprefixer

Minification

For Practicing

CodePen.io

JSFiddle.net

CSSDesk.com

When It's All Said and Done...

We have a process the supports a streamlined and easier future for ourselves

Questions?

 

See me at the Happiness Bar!

 

 

 

 

slides.com/maxinacube/wcri-2017

WCRI 2017 - Maintain Your Theme’s Styles, Future You Will Thank You

By maxinacube

WCRI 2017 - Maintain Your Theme’s Styles, Future You Will Thank You

  • 1,272