<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>CSS-Tricks</title>
	
	<link>https://css-tricks.com</link>
	<description>Tips, Tricks, and Techniques on using Cascading Style Sheets.</description>
	<lastBuildDate>Thu, 22 Dec 2016 08:33:47 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.7</generator>
<site xmlns="com-wordpress:feed-additions:1">45537868</site>	<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/CssTricks" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="csstricks" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Chrome Bias (and Finding Things To Like in Firefox)</title>
		<link>https://css-tricks.com/chrome-bias-finding-things-like-firefox/</link>
		<comments>https://css-tricks.com/chrome-bias-finding-things-like-firefox/#comments</comments>
		<pubDate>Wed, 21 Dec 2016 14:20:36 +0000</pubDate>
		<dc:creator><![CDATA[Robin Rendle]]></dc:creator>
				<category><![CDATA[Article]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=249023</guid>
		<description><![CDATA[<p>Chrome has been my default browser for many years now, but I’ve been thinking that my familiarity with just one browser has become a problem. If I tend to design for a single browser, then I’ll start to make assumptions that those features are available for everyone. Then I’m likely to miss important differences between browsers which could introduce bugs into the codebase or influence the amount of time I spend designing a feature.</p>
<p>I’ve started to call this problem &#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/chrome-bias-finding-things-like-firefox/">Chrome Bias (and Finding Things To Like in Firefox)</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Chrome has been my default browser for many years now, but I’ve been thinking that my familiarity with just one browser has become a problem. If I tend to design for a single browser, then I’ll start to make assumptions that those features are available for everyone. Then I’m likely to miss important differences between browsers which could introduce bugs into the codebase or influence the amount of time I spend designing a feature.</p>
<p>I’ve started to call this problem “Chrome Bias”, and over the past week, I decided I would do something about it by switching to Firefox. This way I could figure out what’s new in one of the most popular web browsers out there. But! While I was running this little experiment of mine, I found three Firefox features that you might not know about if you suffer from extreme <em>Chrome Bias</em> like I do.</p>
<p><span id="more-249023"></span></p>
<p>I think these Firefox developer tool features are pretty nifty:</p>
<h3>Theming the Developer Tools</h3>
<p>I didn’t know that you can set the theme of the Developer Tools in Firefox. That is particularly helpful for me when I want to work on something at night and can configure the theme to dark:</p>
<figure id="post-249024" class="align-none media-249024"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/ff-theme.gif" alt="" /></figure>
<h3>Fonts tab</h3>
<p>Firefox’s font tab might not be new but it certainly is to me. On the far right you can select the tab and see the type info for whichever element you’ve selected: </p>
<figure id="post-249025" class="align-none media-249025"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/ff-fonts-tab.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/12/ff-fonts-tab.png 1984w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/ff-fonts-tab-300x222.png 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/ff-fonts-tab-768x567.png 768w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/ff-fonts-tab-1024x757.png 1024w" sizes="(max-width: 1984px) 100vw, 1984px" /></figure>
<p>It’s pretty neat that it tells you not only how to use that @font-face rule, but also the location from which the font is being requested as well. My favorite button here though must be the “See all the fonts used in the page” button which sits in the bottom-right hand corner. Once you’ve clicked that you can see every font-family that’s been declared in the stylesheet that’s served to the page:</p>
<figure id="post-249026" class="align-none media-249026"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/ff-fonts-1.gif" alt="" /></figure>
<p>I can see that being super helpful in larger codebases where you might accidentally have lots of fonts being declared inconsistently.</p>
<h3>Performance tab</h3>
<p>After you’ve hit the 'Performance' tab and refreshed the page, you’ll see a waterfall of every resource that’s been requested. But did you know that you can see this data in the form of a graph, too? Here’s how that works:</p>
<figure id="post-249027" class="align-none media-249027"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/ff-perf-chart.gif" alt="" /></figure>
<p>This is a great tool to identify bigger problems in performance—perhaps you have a massive stylesheet being requested by the browser, and from here you’ll be able to see the scale of the problem faster.</p>
<h3>Wrapping up</h3>
<p>Here’s the thing: the more we experience how other browsers work, the more we learn about how different users experience our websites. Understanding how developer tools differ was useful in this instance, but learning about how unfamiliar browsers look and feel is enlightening as well.</p>
<p>For the next step in my experiment, I want to try out more mobile browsers because I imagine the differences between them are even larger than those between desktop browser apps.</p>
<p>What tricks have you learned from your non-regular browser lately?</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/chrome-bias-finding-things-like-firefox/">Chrome Bias (and Finding Things To Like in Firefox)</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/chrome-bias-finding-things-like-firefox/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">249023</post-id>	</item>
		<item>
		<title>Methods for Overriding Styles in WordPress</title>
		<link>https://css-tricks.com/methods-overriding-styles-wordpress/</link>
		<comments>https://css-tricks.com/methods-overriding-styles-wordpress/#comments</comments>
		<pubDate>Tue, 20 Dec 2016 13:13:43 +0000</pubDate>
		<dc:creator><![CDATA[Geoff Graham]]></dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[style conflicts]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wordpress plugins]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248938</guid>
		<description><![CDATA[<p>Let's say you manage a WordPress site. You chose, purchase, and install a pre-made theme. Say you added a few items you came across in the <a href="https://wordpress.org/plugins/">WordPress plugin directory</a> to add some advanced features to the site. This is the awesomeness that is the WordPress ecosystem. It's relatively easy for anyone with light technical chops to get a website off the ground and wrangle together something powerful without having to build everything from scratch. It just works great and your &#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/methods-overriding-styles-wordpress/">Methods for Overriding Styles in WordPress</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Let's say you manage a WordPress site. You chose, purchase, and install a pre-made theme. Say you added a few items you came across in the <a href="https://wordpress.org/plugins/">WordPress plugin directory</a> to add some advanced features to the site. This is the awesomeness that is the WordPress ecosystem. It's relatively easy for anyone with light technical chops to get a website off the ground and wrangle together something powerful without having to build everything from scratch. It just works great and your website looks wonderful.</p>
<p>Until it doesn't.</p>
<p><span id="more-248938"></span></p>
<p>I do a little work for a WordPress plugin. The number one thing that gets reported to the support team is, without a doubt, are situations where the plugin conflicts with either the installed theme or another installed plugin. The person reporting the problem has the plugin installed, but what it is doing looks nothing like the screenshots advertised by the plugin.</p>
<p>This can be extremely irritating for the person managing the site. If this plugin is downloaded from the WordPress directory, then it ought to work right out of the box, right?</p>
<p>You could argue this is an unrealistic expectation when you consider that most themes and plugins are developed by different people. It's understandable that mashing code from multiple authors into the same site will lead to at least some conflicts now and then, despite everyone's best intentions to deliver good work.</p>
<h3>This post is going to look into the specific area of <em>style conflicts</em> and ways to overcome them.</h3>
<p>I'll start off by saying that it's a tough position being a WordPress theme or plugin developer. On one hand, any stylesheets a plugin includes need to be opinionated enough so that they do what they need to do and look great. On the other hand, they need to respect the work of the active theme and other plugin developers so that the styles play nicely together. It's a balance that even a trained tightrope walker can appreciate.</p>
<p>We're not going to talk about the different methods WordPress plugin developers have to make theme and plugin styles more compatible or theme-able. Instead, we're going to look at the different ways we can override conflicting CSS in WordPress that allow you to take control of the styling for any component of a WordPress site, regardless of whether it originates from the theme or a plugin.</p>
<h3>Override Styles in the Active Theme</h3>
<p>All WordPress sites employ a theme. CSS-Tricks runs on WordPress and it has its own custom theme, which contains all the template and style files needed to generate this post. Well, assuming you're reading this on the site and not from a <a href="https://css-tricks.com/subscription-options/">syndicated feed</a>.</p>
<p>The point being that all themes require at least two files, one of which is the magical `style.css`. This file is required because it contains information about the theme that WordPress would be unable to recognize the theme without.</p>
<figure id="post-249153" class="align-none media-249153"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/stylesheet.jpg" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/12/stylesheet.jpg 1000w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/stylesheet-300x197.jpg 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/stylesheet-768x505.jpg 768w" sizes="(max-width: 1000px) 100vw, 1000px" /></figure>
<p>Those of you who know a thing or two about WordPress might want to stop me here because <code>style.css</code> does not have to contain CSS and you would be right. It does not have to and we could simply add our own stylesheet to the header of the theme instead and use <code>style.css</code> as a shell for the theme to be recognized. That's legit. However, the file was indeed intended to be the primary location of a theme's files, regardless of how we choose to develop our sites.</p>
<p>If your theme uses the file to contain the theme styles, you can modify it directly to change any of the styling properties of your site. It can also be used to add and override styles that might come packaged in plugins or other third-party sources.</p>
<h3>Override Styles in a Child Theme</h3>
<p>The active theme method is only great if you are the developer of the theme. Many folks, however, roll with themes made by other developers. I'm sure you've seen the many theme marketplaces out there that sell premium WordPress themes that you purchase, download, and install into WordPress. That's what we're talking about.</p>
<p>If you're using one of these themes, then best practice is to manage your customizations in a <a href="https://codex.wordpress.org/Child_Themes">child theme</a>. This is really a fancy way of describing the process of creating a new folder in your WordPress `wp-content/themes` directory that is the same name as your parent theme, only with `-child` appended to it.</p>
<figure id="post-249154" class="align-none media-249154"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/child-theme-docs.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/12/child-theme-docs.png 806w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/child-theme-docs-300x229.png 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/child-theme-docs-768x586.png 768w" sizes="(max-width: 806px) 100vw, 806px" /></figure>
<p>For example, if our parent theme directory is called `css-tricks` then our child theme directory would be called `css-tricks-child`. This directory requires `style.css` just like the parent directory and it will be loaded on the site after the parent theme's `style.css` file so that any styles contained in the child theme version will override the parent.</p>
<p>Don't you wish that's how your teenage years worked?</p>
<p>Now you can make as many changes as needed and you will not lose those changes when installing future updates that the theme developer releases.</p>
<h3>Register and Enqueue Your Own Stylesheet</h3>
<p>This is one of my favorite ways to go about overriding styles in WordPress. The idea is that you create your own stylesheet and load it into the site theme after all of the other stylesheets so that yours overrides the others.</p>
<p>There are two well-documented WordPress functions, one called <a href="https://codex.wordpress.org/Function_Reference/wp_register_style">wp_register_style()</a> and the other <a href="https://developer.wordpress.org/reference/functions/wp_enqueue_style/"><code>wp_enqueue_style()</code></a> that allows us to do this and it can be added either to parent or child theme <code>functions.php</code> file in order tell WordPress to look for it and load it in the site header.</p>
<p>This is a basic example of how the function can be used to call a stylesheet by the file name (aka handle) and file path:</p>
<pre rel="PHP"><code class="language-javascript">function my-custom-styles() {
  // Register my custom stylesheet
  wp_register_style( 'custom-styles', get_template_directory_uri().'/lib/styles/custom-styles.css' ) );
  // Load my custom stylesheet
  wp_enqueue_style( 'custom-styles' );
}
add_action( 'wp_enqueue_scripts', 'my_custom_styles' );</code></pre>
<p>We could get a little more fancy by telling WordPress to load it only on a specific page:</p>
<pre rel="PHP"><code class="language-javascript">// Load my custom stylesheet
function my_custom_styles() {
  // Register my custom stylesheet
  wp_register_style( 'custom-styles', get_template_directory_uri().'/lib/styles/custom-styles.css' ) );
  // Check that the current page is the homepage
  if ( is_home ) {
    // Then grab the custom stylesheet
    wp_enqueue_style( 'custom-styles' );
  }
}
add_action( 'wp_enqueue_scripts', 'my_custom_styles' );</code></pre>
<p>Note that adding an extra request to all pages is a performance consideration, but you can <a href="https://css-tricks.com/taking-control-cssjs-wordpress-plugins-load/">certainly wrangle control of that</a> as well.</p>
<h3>Art Direction</h3>
<p>Art direction seemed to be all the rage in something like 2009, though <a href="https://css-tricks.com/updated-art-direction-data/">recent data</a> suggests a slight rebound. The idea being that adding styles to the head on a one-off basis would allow you to create compelling layouts on a post-to-post basis. Styles injected into a <code>&lt;style&gt;</code> block in the head, as long as they come <em>after</em> the regular stylesheets of the site which are probably <code>&lt;link&gt;</code> elements, will have the opportunity to override existing styles nicely.</p>
<p>Art direction can be used as an effective means for overriding conflicting styles as well and is particularly effective when those conflicts only exist in very specific places without having to create and load a full stylesheet to clean things up.</p>
<figure id="post-249155" class="align-none media-249155"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/art-direction-plugin.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/12/art-direction-plugin.png 573w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/art-direction-plugin-300x287.png 300w" sizes="(max-width: 573px) 100vw, 573px" /></figure>
<p>There are <a href="https://wordpress.org/plugins/search.php?q=art+direction">plenty of WordPress plugins</a> that enable art direction. It's actually not too incredibly difficult to <a href="http://geoffgraham.me/wordpress-art-director/">build this on your own</a>.</p>
<h3>Using a Plugin</h3>
<p>Hey, if a plugin got you into this mess of conflicting styles, then maybe there is one to get you out of it, right? Of course, there is.</p>
<p>I am sure there are others out in the wild, but the one I am most familiar with is <a href="https://wordpress.org/plugins/simple-custom-css/">Simple Custom CSS</a>. The idea is pretty straightforward: a new screen is added that allows you to write CSS. The CSS entered and saved gets added to the document head which, like the art direction method we discussed, gives you the opportunity to override other styles on that particular page.</p>
<h3>WordPress Customizer</h3>
<p>WordPress 4.7 introduced a new feature in the WordPress Customizer that adds a CSS editor:</p>
<figure id="post-249185" class="align-none media-249185"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/wp-css-customizer.gif" alt="" /></p>
<figcaption>Editing CSS in the WordPess Customizer</figcaption>
</figure>
<p>This is essentially WordPress adding native support for the the Simple Custom CSS plugin mentioned earlier. In other words, styles are added to the head upon being saved.</p>
<h3>WordPress Editor</h3>
<p>Oh yeah, remember that? You can actually edit a site's <code>style.css</code> file directly in WordPress by navigating to the buried tavern that is the <b>Appearance > Editor</b> screen.</p>
<figure id="post-249156" class="align-none media-249156"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/appearence-editor.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/12/appearence-editor.png 1054w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/appearence-editor-300x213.png 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/appearence-editor-768x546.png 768w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/appearence-editor-1024x729.png 1024w" sizes="(max-width: 1054px) 100vw, 1054px" /></figure>
<p>I'll preface this by saying I find this to be a scary place to hang out. It provides you with access to edit the code of any theme file, including PHP templates. The changes are not version controlled, so it's hard to know what has changed in case you screw something up, and if your version control system is in charge of deployment, and changes there might override changes made here.</p>
<p>Still, it is possible to override styles here and to do so without needing to open up a text editor, saving your changes, then uploading them to a server (via whatever you do for deployment).</p>
<h3>Wrapping Up</h3>
<p>Look at that: seven methods for overriding styles in WordPress. The next time you run into a situation where something does not look right after installing a theme or plugin to your WordPress installation, you now have the power to take control of the mess and clean things up like a boss.</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/methods-overriding-styles-wordpress/">Methods for Overriding Styles in WordPress</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/methods-overriding-styles-wordpress/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248938</post-id>	</item>
		<item>
		<title>An Overview of Client-Side Storage</title>
		<link>https://bitsofco.de/an-overview-of-client-side-storage/</link>
		<comments>https://css-tricks.com/overview-client-side-storage/#respond</comments>
		<pubDate>Mon, 19 Dec 2016 19:53:00 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[indexdb]]></category>
		<category><![CDATA[localStorage]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=249138</guid>
		<description><![CDATA[<p>Ire Aderinokun:</p>
<p>There are currently four active methods for storing data on the client side.</p>
<ol>
<li>Cookies (old school, still useful because they are sent with server requests)</li>
<li>Local Storage (<em>very</em> easy to use)</li>
<li>Session Storage (exactly the same, only clears when the tab is closed)</li>
<li>IndexedDB (quite complex, quite powerful)</li>
</ol>
<p><a href="https://bitsofco.de/an-overview-of-client-side-storage/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/overview-client-side-storage/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/overview-client-side-storage/">An Overview of Client-Side Storage</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Ire Aderinokun:</p>
<blockquote><p>There are currently four active methods for storing data on the client side.</p></blockquote>
<ol>
<li>Cookies (old school, still useful because they are sent with server requests)</li>
<li>Local Storage (<em>very</em> easy to use)</li>
<li>Session Storage (exactly the same, only clears when the tab is closed)</li>
<li>IndexedDB (quite complex, quite powerful)</li>
</ol>
<p><a href="https://bitsofco.de/an-overview-of-client-side-storage/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/overview-client-side-storage/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/overview-client-side-storage/">An Overview of Client-Side Storage</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/overview-client-side-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">249138</post-id>	</item>
		<item>
		<title>Scaling Responsive Animations</title>
		<link>https://css-tricks.com/scaling-responsive-animations/</link>
		<comments>https://css-tricks.com/scaling-responsive-animations/#comments</comments>
		<pubDate>Mon, 19 Dec 2016 13:52:33 +0000</pubDate>
		<dc:creator><![CDATA[Zach Saucier]]></dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[rwd]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248960</guid>
		<description><![CDATA[<p>Scaling our websites and applications so that they look great on every screen can be difficult. A big portion of that difficulty can be trying to get specific components, particularly ones that have pieces that have to stay a certain size (like animations), to look good regardless of the screen size. In this post, we'll cover how to help keep our responsive animations sized the way we want them.</p>
</p>
<p>Before we get into specific techniques, there are a couple basic &#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/scaling-responsive-animations/">Scaling Responsive Animations</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Scaling our websites and applications so that they look great on every screen can be difficult. A big portion of that difficulty can be trying to get specific components, particularly ones that have pieces that have to stay a certain size (like animations), to look good regardless of the screen size. In this post, we'll cover how to help keep our responsive animations sized the way we want them.</p>
<p><span id="more-248960"></span></p>
<p>Before we get into specific techniques, there are a couple basic guidelines we want to keep in mind:</p>
<h3>Guidelines for scaling responsive animations</h3>
<h4>1. Size the animations based on a container</h4>
<p>Whether we're using responsive or adaptive scaling (see below), we should try to size animations based on the container's sizing. In responsive scaling this is simple enough, but in adaptive scaling we have to look to <a href="https://www.smashingmagazine.com/2016/07/how-i-ended-up-with-element-queries-and-how-you-can-use-them-today/">element (container) queries</a>. The only exception is if we know that in every circumstance the element is going to be positioned and sized relative to the viewport. Even so, it might be wise to size each piece based on a container in case we change our minds later.</p>
<p>There have been times where I've finished polishing an animation exactly the way I want only to realize that it only works for that particular screen size. Those times have included making mistakes like <a href="http://codepen.io/Zeaklous/pen/LbXabR">using absolute units</a> (like <code>px</code>), <a href="http://codepen.io/Zeaklous/pen/xRQBgZ">only viewing it in one screen size</a>, <a href="http://codepen.io/Zeaklous/pen/WoYmRa">using responsive units but failing to check extreme dimensions</a>, and a couple other occasions where I had to go back and completely refactor my approach. Sizing animations relative to the parent elements helps prevent that from happening, as does the following point:</p>
<h4>2. Know the environments in which it will be used</h4>
<p>Will the animation be a module that is repeated across multiple parts of your application? Is it only going to be used for a page loader initially? Does it need to scale at all? Keeping this in mind can help determine the method in which an animation should be scaled and keep you from wasting effort.</p>
<hr>
<p>Now, let's look at the three most important ways that we can scale animations: scaling with responsive units, proportional scaling, and adaptive scaling.</p>
<h3>Scaling with responsive units</h3>
<h4>Size pieces based on the parent</h4>
<p>When we use responsive units like <code>%</code> or <code>em</code>, our animations automatically resize themselves based on the parent because their values change as their parent's do. </p>
<ul>
<li>In the case of percentages, the child's width value is set by the parent's value for the property, multiplied by the percent value set on the child.</li>
<li>In the case of <code>em</code>s, it looks at the parent's <code>font-size</code> which determines the child's size values, multiplied by the number of <code>em</code>s.</li>
</ul>
<p>This allows us to make sure that each piece of our responsive animation retains the behavior we want with respect to each other.</p>
<h4>Sizing containers based on the viewport</h4>
<p>From there, if we size our containers relative to the viewport, our responsive pieces will then end up resizing themselves based on the viewport as well.</p>
<p>We could use percents to size our containers based on the viewport, but that often requires setting something like <code>html, body { height: 100%; }</code> and making sure that the parent is sized with respect to the body, which may not always be the case with nesting. Adding this new rule can also affect other style changes.</p>
<p>Alternatively, we can use <em>viewport units</em>, which sizes the container based on the viewport regardless of how deeply it is nested. One thing to keep in mind is that <a href="http://caniuse.com/#feat=viewport-units">support for viewport units</a> is not perfect, though it's definitely in a state where it can be used for most projects.</p>
<p>I tend to use solely responsive units as a scalar for animations when it's a really simple animation, such as <a href="http://codepen.io/Zeaklous/pen/zntsb">this illusion</a>. Most the time it requires a pairing of responsive units with an approach from below to keep the animation proportional.</p>
<h3>Proportional scaling</h3>
<p>There are three main ways we can keep our responsive animation proportional while scaling it.</p>
<h4>1. Size based on the width</h4>
<p>To keep an element sized based on the width of the container, we can use the following approach:</p>
<pre rel="CSS"><code class="language-css">.container {
  height: 0;
  padding-top: 100%;
}</code></pre>
<p data-height="400" data-theme-id="0" data-slug-hash="FeInH" data-default-tab="css,result" data-user="Zeaklous" data-embed-version="2" data-pen-title="Infinite Mountains CSS" class="codepen">See the Pen <a href="http://codepen.io/Zeaklous/pen/FeInH/">Infinite Mountains CSS</a> by Zach Saucier (<a href="http://codepen.io/Zeaklous">@Zeaklous</a>) on <a href="http://codepen.io">CodePen</a>.</p>
<p>However, if you're sizing your container based on the viewport, a more straightforward approach would be to use <code>vw</code> <a href="http://codepen.io/Zeaklous/pen/dOqJVB?editors=1100">like so</a>, though it doesn't reach as far back regarding <a href="http://caniuse.com/viewport-units">support</a>.</p>
<h4>2. Size based on the height</h4>
<p>We can also size our container using the height by using <code>vh</code> as seen in <a href="http://codepen.io/Zeaklous/pen/XNPVRY?editors=1100">this demo</a>, but it is the least-used technique that I've seen. The only time I can recall doing something like this myself is when I used responsive units to create <a href="http://codepen.io/Zeaklous/pen/AvJtC">this loader</a>, but even then I didn't use a container or viewport units.</p>
<h4>3. Size based on the larger dimension</h4>
<p>Sizing based on the larger dimension is by far the most common way I size my responsive animations, especially <a href="http://codepen.io/collection/twhae/">my visualizations</a>, because I almost always want all of my responsive animations to be seen entirely. This method ensures that that happens.</p>
<pre rel="CSS"><code class="language-css">.container {
  max-width: 100vh;
  max-height: 100%;
  margin: 0 auto;
  overflow: hidden;
}
.container::before {
  content: "";
  display: block;
  margin-top: 100%;
}</code></pre>
<p data-height="400" data-theme-id="0" data-slug-hash="rsitf" data-default-tab="css,result" data-user="Zeaklous" data-embed-version="2" data-pen-title="Swirling dots" class="codepen">See the Pen <a href="http://codepen.io/Zeaklous/pen/rsitf/">Swirling dots</a> by Zach Saucier (<a href="http://codepen.io/Zeaklous">@Zeaklous</a>) on <a href="http://codepen.io">CodePen</a>.</p>
<p>This technique doesn't make use of the <code>vmax</code> unit, so any browser that <a href="http://caniuse.com/#feat=viewport-units">supports viewport units</a> (back to IE9) can use it. However, it does make use of a pseudo element (unless you want to use a real element) which should be kept in mind.</p>
<p>If you are scaling the container on the viewport itself and can use viewport units, it's very simple to size based on the larger dimension. All you need is:</p>
<pre rel="CSS"><code class="language-css">.container {
  width: 100vmin;
  height: 100vmin;
}</code></pre>
<figure><img src="http://d.pr/i/QD64/2gIc2F9i+"></p>
<figcaption><a href="http://codepen.io/Zeaklous/pen/NbLNEo?editors=1100">Here's a demo</a> for that.</figcaption>
</figure>
<p>This approach can be done <em>only</em> when the animation is sized with respect to the viewport, not some smaller container.</p>
<h3>Adaptive scaling</h3>
<p>Adaptive scaling is switching between variations at specific breakpoints. See <a href="https://twitter.com/geoffreygraham">Geoff Graham</a>'s CSS-Tricks <a href="https://css-tricks.com/the-difference-between-responsive-and-adaptive-design/">article on the distinction</a> between responsive and adaptive scaling.</p>
<p>At times we may want at least part of our responsive animations to change how they're sized at a particular screen size. This is most commonly done when text or thin lines are used, though sometimes it's also applicable when there are a lot of intricacies that would look busy when made smaller. Logos are probably <a href="https://www.google.com/search?q=responsive++adaptive+logo&source=lnms&tbm=isch&sa=X&ved=0ahUKEwiGjpSct-XQAhWCOyYKHXXECgMQ_AUICCgB&biw=1920&bih=950">the most commonly adapted elements</a> because they need to be precise.</p>
<p>There's no one way to make something adaptive, but I approach it <a href="https://zachsaucier.com/blog/blog/2014/08/11/responsive-design-primer/">in the same way</a> I do responsive design: by scaling my animation until something starts to look ugly, then add a breakpoint to fix what looks ugly.</p>
<p>Sometimes it's appropriate to mix responsive pieces with adaptive ones, such as in the Pen below. The top part is responsive but the text is adaptive to prevent text scaling from becoming ugly during in-between font sizes.</p>
<p data-height="400" data-theme-id="0" data-slug-hash="xawps" data-default-tab="css,result" data-user="Zeaklous" data-embed-version="2" data-pen-title="Breakout" class="codepen">See the Pen <a href="http://codepen.io/Zeaklous/pen/xawps/">Breakout</a> by Zach Saucier (<a href="http://codepen.io/Zeaklous">@Zeaklous</a>) on <a href="http://codepen.io">CodePen</a>.</p>
<h3>A note on SVG</h3>
<p>SVG can make use of any of the approaches outlined above. Most commonly, I treat SVG like a modular animation and make sure my SVG is sized by the SVG element itself, mostly treating it as a container based on the larger dimension, as covered above. This way it makes use of the vector nature of SVGs, allowing it to scale to be as large as it needs to be.</p>
<p>For more information on how to scale SVG specifically, check out <a href="https://twitter.com/ameliasbrain">Amelia Bellay-Royds</a>' post on <a href="https://css-tricks.com/scale-svg/">scaling SVG components</a> here on CSS-Tricks or <a href="https://twitter.com/SaraSoueidan">Sara Soueidan</a>'s Codrops post on <a href="http://tympanus.net/codrops/2014/08/19/making-svgs-responsive-with-css/">making SVG responsive</a>.</p>
<h3>Make it look great in all contexts</h3>
<p>With a bit of planning, animations can work just as well at small sizes as they do at large sizes. Don’t use pixel units, and make sure every width, height, and distance value are defined based on one or two variables based on the container/viewport dimensions or by font size.</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/scaling-responsive-animations/">Scaling Responsive Animations</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/scaling-responsive-animations/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248960</post-id>	</item>
		<item>
		<title>20 Years of CSS</title>
		<link>https://www.w3.org/Style/CSS20/</link>
		<comments>https://css-tricks.com/20-years-css/#respond</comments>
		<pubDate>Sun, 18 Dec 2016 02:12:33 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[W3C]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=249098</guid>
		<description><![CDATA[<p>Bert Bos, noting <em>today</em> as quite a notable day:</p>
<p>On December 17, 1996, W3C published <a href="https://www.w3.org/TR/REC-CSS1-961217">the first standard for CSS</a>.</p>
<p>Very interesting to see what historic points made the cut for the timeline. The Zen Garden, acid tests, preprocessors... good times!</p>
<p><a href="https://www.w3.org/Style/CSS20/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/20-years-css/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/20-years-css/">20 Years of CSS</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Bert Bos, noting <em>today</em> as quite a notable day:</p>
<blockquote><p>On December 17, 1996, W3C published <a href="https://www.w3.org/TR/REC-CSS1-961217">the first standard for CSS</a>.</p></blockquote>
<p>Very interesting to see what historic points made the cut for the timeline. The Zen Garden, acid tests, preprocessors... good times!</p>
<p><a href="https://www.w3.org/Style/CSS20/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/20-years-css/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/20-years-css/">20 Years of CSS</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/20-years-css/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">249098</post-id>	</item>
		<item>
		<title>Alternatives to Placeholder Text</title>
		<link>https://uxdesign.cc/alternatives-to-placeholder-text-13f430abc56f</link>
		<comments>https://css-tricks.com/alternatives-placeholder-text/#respond</comments>
		<pubDate>Fri, 16 Dec 2016 13:53:34 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[placeholder]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=249080</guid>
		<description><![CDATA[<p>Andrew Coyle on when to use <code>&#60;input placeholder&#62;</code>:</p>
<ul>
<li>Don't use them as a label</li>
<li>Don't use them as a secondary label</li>
<li>Don't use them as example input</li>
<li>Don't use them as helper text</li>
</ul>
<p>Which amounts to pretty much: "Don't use them". Notice there are no examples of good use cases, and even the examples in the "Do" graphics just say "Placeholder Text", which isn't exactly demonstrative of usefulness. </p>
<p>I wonder if placeholder text will fall completely out of favor.&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/alternatives-placeholder-text/">Alternatives to Placeholder Text</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Andrew Coyle on when to use <code>&lt;input placeholder&gt;</code>:</p>
<ul>
<li>Don't use them as a label</li>
<li>Don't use them as a secondary label</li>
<li>Don't use them as example input</li>
<li>Don't use them as helper text</li>
</ul>
<p>Which amounts to pretty much: "Don't use them". Notice there are no examples of good use cases, and even the examples in the "Do" graphics just say "Placeholder Text", which isn't exactly demonstrative of usefulness. </p>
<p>I wonder if placeholder text will fall completely out of favor.</p>
<p>It reminds me of <a href="https://css-tricks.com/float-labels-css/">float labels</a>. Float labels were a fun little fling, but they aren't actually useful. The reason you'd reach for them is when you're so space-limited that you can't show a regular label <em>beside</em> the input. But you can't actually ever remove the label, just move it. So if the label is still there and readable, why not just leave it there the whole time?</p>
<p><a href="https://uxdesign.cc/alternatives-to-placeholder-text-13f430abc56f" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/alternatives-placeholder-text/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/alternatives-placeholder-text/">Alternatives to Placeholder Text</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/alternatives-placeholder-text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">249080</post-id>	</item>
		<item>
		<title>Propelling developer experience through configuration</title>
		<link>http://kevinsuttle.com/posts/propelling-dx-through-config</link>
		<comments>https://css-tricks.com/propelling-developer-experience-configuration/#respond</comments>
		<pubDate>Fri, 16 Dec 2016 13:15:09 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[config]]></category>
		<category><![CDATA[dotfiles]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=249056</guid>
		<description><![CDATA[<p>Kevin Suttle on the ever-growing number of .dotfiles in projects:</p>
<p>The number of config files per repo is slowly but surely overtaking the number of code files.</p>
<p>Seems to me /config/ or /.config/ as a directory to keep them are also too overloaded to be a real solution. I agree: "something’s gotta give at some point."</p>
<p><a href="http://kevinsuttle.com/posts/propelling-dx-through-config" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/propelling-developer-experience-configuration/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/propelling-developer-experience-configuration/">Propelling developer experience through configuration</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Kevin Suttle on the ever-growing number of .dotfiles in projects:</p>
<blockquote><p>The number of config files per repo is slowly but surely overtaking the number of code files.</p></blockquote>
<p>Seems to me /config/ or /.config/ as a directory to keep them are also too overloaded to be a real solution. I agree: "something’s gotta give at some point."</p>
<p><a href="http://kevinsuttle.com/posts/propelling-dx-through-config" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/propelling-developer-experience-configuration/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/propelling-developer-experience-configuration/">Propelling developer experience through configuration</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/propelling-developer-experience-configuration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">249056</post-id>	</item>
		<item>
		<title>That Fluid Type Stuff Again</title>
		<link>https://css-tricks.com/fluid-type-stuff/</link>
		<comments>https://css-tricks.com/fluid-type-stuff/#comments</comments>
		<pubDate>Thu, 15 Dec 2016 13:50:07 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[fluid type]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=249005</guid>
		<description><![CDATA[<p>There have been a couple of articles lately regarding fluid type. </p>
<p><a href="http://allthingssmitty.com/2016/12/05/flexible-type-using-root/">Matt Smith</a> (calling it "flexible type"):</p>
<p>My preferred approach for more flexible type is to calculate the font size based on the viewport height and width using the <code>:root</code> selector</p>
<p><a href="https://24ways.org/2016/responsive-display-text/">Richard Rutter</a> (calling it "Responsive Display Text"): </p>
<p>In one fell swoop you can set the size of a display heading to be proportional to the screen or browser width, rather than choosing from a scale in a series of &#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/fluid-type-stuff/">That Fluid Type Stuff Again</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>There have been a couple of articles lately regarding fluid type. </p>
<p><a href="http://allthingssmitty.com/2016/12/05/flexible-type-using-root/">Matt Smith</a> (calling it "flexible type"):</p>
<blockquote><p>My preferred approach for more flexible type is to calculate the font size based on the viewport height and width using the <code>:root</code> selector</p></blockquote>
<p><a href="https://24ways.org/2016/responsive-display-text/">Richard Rutter</a> (calling it "Responsive Display Text"): </p>
<blockquote><p>In one fell swoop you can set the size of a display heading to be proportional to the screen or browser width, rather than choosing from a scale in a series of media queries.</p></blockquote>
<p>Both are all about leveraging viewport units to size type that doesn't jump from size to size at breakpoints, but gracefully scales.</p>
<p>I'd highly recommend checking out Mike Riethmuller's <a href="https://madebymike.com.au/writing/fluid-type-calc-examples/">Fluid type</a> though, which is nearly just as simple but allows for setting minimum and maximum sizes, which feels like the way to go for me.</p>
<p><span id="more-249005"></span></p>
<p>I <a href="https://blog.codepen.io/2016/10/31/fluid-type-blogs/">moved to fluid type on CodePen blogs</a> recently and I love it. Notice we also stole Mike's fluid modular scale as well. As in, on large screens, the size difference between h1-h6 is more dramatic, while on small screens that scales back, all fluidly.</p>
<blockquote class="twitter-tweet" data-lang="en">
<p lang="es" dir="ltr">“Fluid Type” i̶n̶s̶p̶i̶r̶e̶d̶ stolen from <a href="https://twitter.com/MikeRiethmuller">@MikeRiethmuller</a> now live on <a href="https://twitter.com/CodePen">@CodePen</a> blogs. Including “Fluid Modular Scale!” <a href="https://t.co/0yJk8Iq8fR">pic.twitter.com/0yJk8Iq8fR</a></p>
<p>&mdash; Chris Coyier (@chriscoyier) <a href="https://twitter.com/chriscoyier/status/791650814880198656">October 27, 2016</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>A <a href="http://blog.typekit.com/2016/08/17/flexible-typography-with-css-locks/">"CSS lock"</a> is how Tim Brown calls those minimums and maximums, and he demonstrates it can be useful for <code>line-height</code> as well as <code>font-size</code>.</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/fluid-type-stuff/">That Fluid Type Stuff Again</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/fluid-type-stuff/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">249005</post-id>	</item>
		<item>
		<title>Why Inline SVG is Best SVG</title>
		<link>https://www.youtube.com/watch?v=af4ZQJ14yu8</link>
		<comments>https://css-tricks.com/inline-svg-best-svg/#respond</comments>
		<pubDate>Thu, 15 Dec 2016 13:46:18 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=249008</guid>
		<description><![CDATA[<p>&#x1f4f9; by Glen Maddern:</p>
<p>I don't think most front-end developers are as comfortable as SVG as they should be. It's one of the most powerful technologies available on the web.</p>
<p>He makes a very strong case for inline SVG, which I wholeheartedly agree with. This screen from the video does a nice job of that:</p>
<p>You could do worse in leveling up your SVG knowledge than <a href="https://abookapart.com/products/practical-svg">picking up a copy of Practical SVG</a>.</p>
<p><a href="https://www.youtube.com/watch?v=af4ZQJ14yu8" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/inline-svg-best-svg/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/inline-svg-best-svg/">Why Inline SVG is Best SVG</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>&#x1f4f9; by Glen Maddern:</p>
<blockquote><p>I don't think most front-end developers are as comfortable as SVG as they should be. It's one of the most powerful technologies available on the web.</p></blockquote>
<p>He makes a very strong case for inline SVG, which I wholeheartedly agree with. This screen from the video does a nice job of that:</p>
<figure id="post-249010" class="align-none media-249010"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/inline-is-best.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/12/inline-is-best.png 1151w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/inline-is-best-300x144.png 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/inline-is-best-768x370.png 768w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/inline-is-best-1024x493.png 1024w" sizes="(max-width: 1151px) 100vw, 1151px" /></figure>
<p>You could do worse in leveling up your SVG knowledge than <a href="https://abookapart.com/products/practical-svg">picking up a copy of Practical SVG</a>.</p>
<p><a href="https://www.youtube.com/watch?v=af4ZQJ14yu8" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/inline-svg-best-svg/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/inline-svg-best-svg/">Why Inline SVG is Best SVG</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/inline-svg-best-svg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">249008</post-id>	</item>
		<item>
		<title>Client Email Helper</title>
		<link>http://jessicahische.is/helpingyouanswer</link>
		<comments>https://css-tricks.com/client-email-helper/#respond</comments>
		<pubDate>Wed, 14 Dec 2016 18:24:15 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[freelance]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248997</guid>
		<description><![CDATA[<p>For all you freelancers out there, Jessica Hische has written some copy to help you articulate saying <em>no</em> to things you should be saying no to.</p>
<p>I’ve created this handy tool to help you say “no” to free and low-budget work and to help ask for more favorable contract terms before the start of a project.</p>
<p><a href="http://jessicahische.is/helpingyouanswer" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/client-email-helper/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/client-email-helper/">Client Email Helper</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>For all you freelancers out there, Jessica Hische has written some copy to help you articulate saying <em>no</em> to things you should be saying no to.</p>
<blockquote><p>I’ve created this handy tool to help you say “no” to free and low-budget work and to help ask for more favorable contract terms before the start of a project.</p></blockquote>
<p><a href="http://jessicahische.is/helpingyouanswer" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/client-email-helper/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/client-email-helper/">Client Email Helper</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></content:encoded>
			<wfw:commentRss>https://css-tricks.com/client-email-helper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248997</post-id>	</item>
	</channel>
</rss>
