<?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>Wed, 07 Dec 2016 13:04:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.6.1</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>Prerender on hover?</title>
		<link>https://css-tricks.com/prerender-on-hover/</link>
		<comments>https://css-tricks.com/prerender-on-hover/#respond</comments>
		<pubDate>Wed, 07 Dec 2016 13:03:36 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[instantclick]]></category>
		<category><![CDATA[perceived performance]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[prerender]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248647</guid>
		<description><![CDATA[<p><a href="http://instantclick.io/">InstantClick</a> is a pretty popular JavaScript library (4,344 stars, as I type). This is the gist:</p>
<p>Before visitors click on a link, they hover over that link. Between these two events, 200 ms to 300 ms usually pass by (test yourself here). InstantClick makes use of that time to preload the page, so that the page is already there when you click.</p>
<p>You hover a link, it Ajaxs for that page and prerenders it. On click, it replaces the <code>&#60;body&#62;</code>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/prerender-on-hover/">Prerender on hover?</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p><a href="http://instantclick.io/">InstantClick</a> is a pretty popular JavaScript library (4,344 stars, as I type). This is the gist:</p>
<blockquote><p>Before visitors click on a link, they hover over that link. Between these two events, 200 ms to 300 ms usually pass by (test yourself here). InstantClick makes use of that time to preload the page, so that the page is already there when you click.</p></blockquote>
<p>You hover a link, it Ajaxs for that page and prerenders it. On click, it replaces the <code>&lt;body&gt;</code> and <code>&lt;title&gt;</code> and changes the URL. </p>
<p>I just heard about it. Seems pretty smart. Progressive enhancement. Increased perceived performance. I can imagine one objection being bandwidth concerns. Downloading every page I hover over seems a bit bandwidth greedy.</p>
<p>It got me thinking though... isn't there a newfangled prerendering thing? <span id="more-248647"></span> There is:</p>
<pre rel="HTML"><code class="language-markup">&lt;link rel="prerender" href="(url)"&gt;</code></pre>
<p>It's not <em>that</em> newfangled, actually. Steve Souders wrote about it in 2013: </p>
<blockquote><p>This is like opening the URL in a hidden tab – all the resources are downloaded, the DOM is created, the page is laid out, the CSS is applied, the JavaScript is executed, etc. If the user navigates to the specified href, then the hidden page is swapped into view making it appear to load instantly.</p></blockquote>
<p>Can I Use shows decent support:</p>
<div class="caniuse"><div class="caniuse-header"><p>This browser support data is from <a href="http://caniuse.com/#feat=link-rel-prerender">Caniuse</a>, which also reports this feature is in W3C Working Draft status.</p></div><div class="caniuse-section"><h4>Desktop</h4><table class="browser-support-table"><thead><tr><th class="chrome"><span>Google Chrome</span></th><th class="firefox"><span>Mozilla Firefox</span></th><th class="ie"><span>Internet Explorer</span></th><th class="opera"><span>Opera</span></th><th class="safari"><span>Apple Safari</span></th></tr></thead><tbody><tr><td class="y yep" title="Google Chrome - "><span class="caniuse-agents-version version">13</span></td><td class="n nope" title="Mozilla Firefox - "><span class="caniuse-agents-version version">No</span></td><td class="y yep" title="Internet Explorer - "><span class="caniuse-agents-version version">11</span></td><td class="y yep" title="Opera - "><span class="caniuse-agents-version version">15</span></td><td class="n nope" title="Apple Safari - "><span class="caniuse-agents-version version">No</span></td></tr></table></div><div class="caniuse-section"><h4>Mobile / Tablet</h4><table class="browser-support-table"><thead><tr><th class="ios_saf"><span>iOS Safari</span></th><th class="android"><span>Android</span></th><th class="op_mob"><span>Opera Mobile</span></th><th class="and_chr"><span>Android Chrome</span></th><th class="and_ff"><span>Android Firefox</span></th></tr></thead><tbody><tr><td class="n nope" title="iOS Safari - "><span class="caniuse-agents-version version">No</span></td><td class="n nope" title="Android - "><span class="caniuse-agents-version version">No</span></td><td class="n nope" title="Opera Mobile - "><span class="caniuse-agents-version version">No</span></td><td class="y yep" title="Android Chrome - "><span class="caniuse-agents-version version">54</span></td><td class="n nope" title="Android Firefox - "><span class="caniuse-agents-version version">No</span></td></tr></table></div></div>
<p>Doesn't that mean we could do something like this?</p>
<pre rel="JavaScript"><code class="language-javascript">var links = document.querySelectorAll('a');

[].forEach.call(links, function(link) {
    
  link.addEventListener("mouseenter", function() {
    
    var newPreLoadLink = document.createElement("link");
    newPreLoadLink.rel = "prerender";
    newPreLoadLink.href = link.href;
    
    document.head.appendChild(newPreLoadLink);
    
  })
  
});</code></pre>
<p>The question is if dynamically-inserted link elements like that actually trigger the prerendering. I did a fairly primitive test in Chrome, and it didn't seem to work. Oh well.</p>
<p>If you wanted to be even more predictive than hover, you could try <a href="https://mathisonian.github.io/premonish/">Premonish</a>, "A library for predicting what element a user will interact with next."</p>
<p>If you're interested in this kind of thing, prerendering isn't the only kid on the block. Robin <a href="https://css-tricks.com/prefetching-preloading-prebrowsing/">wrote about it all</a> last year.</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/prerender-on-hover/">Prerender on hover?</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/prerender-on-hover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248647</post-id>	</item>
		<item>
		<title>EOL Firebug</title>
		<link>https://getfirebug.com/</link>
		<comments>https://css-tricks.com/eol-firebug/#respond</comments>
		<pubDate>Wed, 07 Dec 2016 13:01:32 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[firebug]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248745</guid>
		<description><![CDATA[<p>The Firebug extension isn't being developed or maintained any longer. We invite you to use the Firefox built-in DevTools instead.</p>
<p>Looks like the end of an <a href="https://hacks.mozilla.org/2015/10/firebug-devtools-integration/">over 2 year process</a>.</p>
<p>Firebug was probably the single most important tooling advancement in front-end developments short life. <a href="https://twitter.com/WickyNilliams/status/806428949505052672">A glimpse of the future</a>, indeed.</p>
<p><a href="https://getfirebug.com/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/eol-firebug/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/eol-firebug/">EOL Firebug</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<blockquote><p>The Firebug extension isn't being developed or maintained any longer. We invite you to use the Firefox built-in DevTools instead.</p></blockquote>
<p>Looks like the end of an <a href="https://hacks.mozilla.org/2015/10/firebug-devtools-integration/">over 2 year process</a>.</p>
<p>Firebug was probably the single most important tooling advancement in front-end developments short life. <a href="https://twitter.com/WickyNilliams/status/806428949505052672">A glimpse of the future</a>, indeed.</p>
<p><a href="https://getfirebug.com/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/eol-firebug/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/eol-firebug/">EOL Firebug</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/eol-firebug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248745</post-id>	</item>
		<item>
		<title>CSS-Tricks Chronicle XXIX</title>
		<link>https://css-tricks.com/css-tricks-chronicle-xxix/</link>
		<comments>https://css-tricks.com/css-tricks-chronicle-xxix/#respond</comments>
		<pubDate>Tue, 06 Dec 2016 20:14:15 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Chronicle]]></category>
		<category><![CDATA[chronicle]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248205</guid>
		<description><![CDATA[<p>A round up of goings-on related to me, this site, and related projects, as we are <a href="https://css-tricks.com/category/chronicle/">wont to do</a> once in a while. I've had the good fortune of being a guest on a number of podcasts lately, so I'll link up those. I'll share some upcoming conferences I'll be at and news from CodePen and ShopTalk Show. </p>
</p>
<hr />
<a href="http://officehours.fm/podcast/122-1/"></a></p>
<p>I got to be a guest on the OfficeHours.FM Podcast with Carrie Dils in <a href="http://officehours.fm/podcast/122-1/">All the Things, Episode 122</a>. Carrie's podcast &#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/css-tricks-chronicle-xxix/">CSS-Tricks Chronicle XXIX</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>A round up of goings-on related to me, this site, and related projects, as we are <a href="https://css-tricks.com/category/chronicle/">wont to do</a> once in a while. I've had the good fortune of being a guest on a number of podcasts lately, so I'll link up those. I'll share some upcoming conferences I'll be at and news from CodePen and ShopTalk Show. </p>
<p><span id="more-248205"></span></p>
<hr>
<figure id="post-248716" class="align-none media-248716"><a href="http://officehours.fm/podcast/122-1/"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/featured-coyier.png" alt="" /></a></figure>
<p>I got to be a guest on the OfficeHours.FM Podcast with Carrie Dils in <a href="http://officehours.fm/podcast/122-1/">All the Things, Episode 122</a>. Carrie's podcast is about the WordPress ecosystem, so we chat about CSS-Tricks a good bit, which is a WordPress site. We talk about business, staying on top of things, the origin of CodePen, and more. </p>
<hr>
<figure id="post-248717" class="align-none media-248717"><a href="https://www.shopify.com/partners/blog/5-ways-to-use-svg-in-upcoming-client-projects"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/partner-session.jpg" alt="" /></a></figure>
<p>I gave my presentation <em>10 Things You Can (and Should) Do With SVG</em> as a webinar for Shopify, and they <a href="https://www.shopify.com/partners/blog/5-ways-to-use-svg-in-upcoming-client-projects">wrote it up and published the whole talk</a>. </p>
<hr>
<figure id="post-248718" class="align-none media-248718"><a href="https://aneventapart.com/event/seattle-2017"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/aea.jpg" alt="" /></a></figure>
<p>I'll be speaking at some conferences coming up. Only a few of them have landing pages up so far, so here's those:</p>
<ul>
<li>December 12, 2016 - <a href="https://openhackmia.splashthat.com/">Front-end Developers of Miami</a>, Miami, Florida</li>
<li>April 3-5, 2017 - <a href="https://aneventapart.com/event/seattle-2017">An Event Apart</a>, Seattle, Washington</li>
<li>May 15-17, 2017 - <a href="https://aneventapart.com/event/boston-2017">An Event Apart</a>, Boston, Massachusetts</li>
</ul>
<p>At AEA Seattle, not only will I be giving a talk, I'll also be giving a full day workshop. Use coupon code <strong>AEACOYI</strong> for any of those.</p>
<p>There will be more to announce soon, including some in Canada and Europe. </p>
<hr>
<figure id="post-248719" class="align-none media-248719"><a href="http://userdefenders.com/podcast/028-be-persistent-with-chris-coyier/"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/defenders.jpg" alt="" /></a></figure>
<p>I got to be on the User Defenders podcast with Jason Ogle in episode <a href="http://userdefenders.com/podcast/028-be-persistent-with-chris-coyier/">028: Be Persistent with Chris Coyier</a>.</p>
<p>This podcast offers the first-and-only discount I've ever shared for <a href="https://abookapart.com/products/practical-svg">Practical SVG</a>: <strong>SUPERSVG</strong>. </p>
<hr>
<figure id="post-248720" class="align-none media-248720"><a href="http://hackingui.com/podcast/chris-coyier-css-tricks/"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/hackingui.jpg" alt="" /></a></figure>
<p>I got to be on the HackingUI podcast with  David Tintner & Sagi Shrieber in Episode #24: <a href="http://hackingui.com/podcast/chris-coyier-css-tricks/">How to grow a blog and remain true to your audience</a>. I enjoyed these fellas entrepreneurial spirit, as they've both gone full time on HackingUI now.</p>
<hr>
<figure id="post-248722" class="align-none media-248722"><a href="https://howibuilt.it/episode-6-chris-coyier-codepen/"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/built-it.png" alt="" /></a></figure>
<p>I got to be on the How I Built It podcast with Joe Casabona on Episode #6: <a href="https://howibuilt.it/episode-6-chris-coyier-codepen/">Chris Coyier & CodePen</a>.</p>
<hr>
<figure id="post-248721" class="align-none media-248721"><a href="http://codepen.io/spark/"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/codepen-spark-header.png" alt="" /></a></figure>
<p>There is plenty happening at CodePen. We just passed <a href="https://blog.codepen.io/2016/11/25/10000000/">10,000,000</a> Pens created. We just wrapped up a mini-series on CodePen Radio where we <a href="https://blog.codepen.io/2016/10/27/codepen-talks-10-web-companies-run-business/">talk to 10 other businesses</a> that have similarity CodePen in one way or another.</p>
<p>We're still in the throes of working on big new features and infrastructure. So there haven't been a whole lot of feature releases, but there will be in the coming months, followed by more active smaller releases in 2017. </p>
<p>One brand new thing is <a href="http://codepen.io/spark/">The CodePen Spark</a>, our new newsletter. It's full of hand-picked selections of the best stuff around CodePen and the web at large each week. </p>
<hr>
<figure id="post-248725" class="align-none media-248725"><a href="http://shoptalkshow.com"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/shoptalk.jpg" alt="" /></a></figure>
<p><a href="http://shoptalkshow.com/episodes/245-rapidfire-81/">Episode 245</a> of ShopTalk Show just went out, which is our last of 2016. It's also the 14th RAPIDFIRE episode in a row, as Dave and I were enjoying the simplicity and original ShopTalk spirit of that. We'll be back in January with new shows. </p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/css-tricks-chronicle-xxix/">CSS-Tricks Chronicle XXIX</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/css-tricks-chronicle-xxix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248205</post-id>	</item>
		<item>
		<title>CSS Grid!</title>
		<link>http://meyerweb.com/eric/thoughts/2016/12/05/css-grid/</link>
		<comments>https://css-tricks.com/css-grid/#respond</comments>
		<pubDate>Tue, 06 Dec 2016 19:26:18 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[grid]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248714</guid>
		<description><![CDATA[<p>Eric Meyer, talking to himself:</p>
<p><strong>How long until I can actually use Grid, then?  Two or three years?</strong></p>
<p>March 2017. So about four months from now.</p>
<p><strong>Grid sounds like tables 2.0.  I thought we all agreed tables for layout were a bad idea.</p>
<p></strong></p>
<p>We agreed table <em>markup</em> for layout was a bad idea</p>
<p><a href="http://meyerweb.com/eric/thoughts/2016/12/05/css-grid/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/css-grid/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/css-grid/">CSS Grid!</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Eric Meyer, talking to himself:</p>
<blockquote><p><strong>How long until I can actually use Grid, then?  Two or three years?</strong></p>
<p>March 2017. So about four months from now.</p>
</blockquote>
<blockquote><p><strong>Grid sounds like tables 2.0.  I thought we all agreed tables for layout were a bad idea.
<p></strong></p>
<p>We agreed table <em>markup</em> for layout was a bad idea</p>
</blockquote>
<p><a href="http://meyerweb.com/eric/thoughts/2016/12/05/css-grid/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/css-grid/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/css-grid/">CSS Grid!</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/css-grid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248714</post-id>	</item>
		<item>
		<title>margin-bottom or margin-top</title>
		<link>https://css-tricks.com/margin-bottom-margin-top/</link>
		<comments>https://css-tricks.com/margin-bottom-margin-top/#comments</comments>
		<pubDate>Tue, 06 Dec 2016 12:45:54 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Article]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248633</guid>
		<description><![CDATA[<p>I posted a context-less poll on Twitter, just for fun. </p>
</p>
<p lang="en" dir="ltr">ok lets do this</p>
<p>&#8212; Chris Coyier (@chriscoyier) <a href="https://twitter.com/chriscoyier/status/804354359882579968">December 1, 2016</a></p>
</p>
<p>The implied context, as most CSS nerds could probably suspect, is:</p>
<p>To space elements out vertically from each other, do you generally go for <code>margin-bottom</code> on the top element, or <code>margin-bottom</code> on the top element?</p>
<p>61% of ~2,000 votes said margin-bottom. I figured it would win, but I didn't suspect so narrowly. The web feels like a push-downy kind &#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/margin-bottom-margin-top/">margin-bottom or margin-top</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>I posted a context-less poll on Twitter, just for fun. </p>
<p><span id="more-248633"></span></p>
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">ok lets do this</p>
<p>&mdash; Chris Coyier (@chriscoyier) <a href="https://twitter.com/chriscoyier/status/804354359882579968">December 1, 2016</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>The implied context, as most CSS nerds could probably suspect, is:</p>
<blockquote><p>To space elements out vertically from each other, do you generally go for <code>margin-bottom</code> on the top element, or <code>margin-bottom</code> on the top element?</p></blockquote>
<p>61% of ~2,000 votes said margin-bottom. I figured it would win, but I didn't suspect so narrowly. The web feels like a push-downy kind of medium and I'd say it feels more logical/natural to apply spacing to the first element rather than second. </p>
<p>One way or another, it's common to have to remove the spacing from one side or the other. Kinda like:</p>
<pre rel="CSS"><code class="language-css">.module &gt; *:last-child {
  margin-bottom: 0;
}

/* or */

.module &gt; *:first-child {
  margin-top: 0;
}</code></pre>
<p>But don't read too much into that. There are a million ways to handle structure, spacing, selectors, and all that. I just mean to say: it's a horse apiece. One isn't any better than the other. They don't need to be mutually exclusive either, but remember <a href="https://css-tricks.com/what-you-should-know-about-collapsing-margins/">how they collapse</a>.</p>
<p>Greg Whitworth pointed out that margin-top actually has a narrow edge in "a Bing-powered can of 1,070,510 pages".</p>
<figure id="post-248635" class="align-none media-248635"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/12/margin-data.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/12/margin-data.png 960w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/margin-data-300x60.png 300w, https://cdn.css-tricks.com/wp-content/uploads/2016/12/margin-data-768x154.png 768w" sizes="(max-width: 960px) 100vw, 960px" /><a href="https://developer.microsoft.com/en-us/microsoft-edge/platform/usage/?q=%5E(margin)-(top%7Cbottom)">Data from here</a></figure>
<p>But as Estelle Weyl pointed out, that's mostly coming from people resetting those values, not actively using them for spacing. It would be interesting to see that same data with non-zero values.</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/margin-bottom-margin-top/">margin-bottom or margin-top</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/margin-bottom-margin-top/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248633</post-id>	</item>
		<item>
		<title>Service Worker, what are you?</title>
		<link>http://kosamari.com/notes/Service-Worker-what-are-you</link>
		<comments>https://css-tricks.com/service-worker-what-are-you/#respond</comments>
		<pubDate>Mon, 05 Dec 2016 21:59:26 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[service workers]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248684</guid>
		<description><![CDATA[<p>Mariko Kosaka:</p>
<p>I finally figured out, it's an alien you can invite to live on user's browser.</p>
<p><a href="http://kosamari.com/notes/Service-Worker-what-are-you" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/service-worker-what-are-you/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/service-worker-what-are-you/">Service Worker, what are you?</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Mariko Kosaka:</p>
<blockquote><p>I finally figured out, it's an alien you can invite to live on user's browser.</p></blockquote>
<p><a href="http://kosamari.com/notes/Service-Worker-what-are-you" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/service-worker-what-are-you/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/service-worker-what-are-you/">Service Worker, what are you?</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/service-worker-what-are-you/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248684</post-id>	</item>
		<item>
		<title>The Simplest (and Most Performant) Way to Offer Sharing Links for Social Media</title>
		<link>https://css-tricks.com/simple-social-sharing-links/</link>
		<comments>https://css-tricks.com/simple-social-sharing-links/#comments</comments>
		<pubDate>Mon, 05 Dec 2016 12:40:27 +0000</pubDate>
		<dc:creator><![CDATA[Adam Coti]]></dc:creator>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[social]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248120</guid>
		<description><![CDATA[<p>This past summer, I wrote <a href="https://css-tricks.com/essential-meta-tags-social-media/">The Essential Meta Tags for Social Media</a> about how developers can prepare web pages to optimize their appearance when shared on social media. But what about creating the links to let users share these web pages? Facebook, Twitter, and LinkedIn offer numerous ways to do this, some involving button generators and others that require external JavaScript. To avoid all of that, though, you can create your own links to share web pages. And the best &#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/simple-social-sharing-links/">The Simplest (and Most Performant) Way to Offer Sharing Links for Social Media</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>This past summer, I wrote <a href="https://css-tricks.com/essential-meta-tags-social-media/">The Essential Meta Tags for Social Media</a> about how developers can prepare web pages to optimize their appearance when shared on social media. But what about creating the links to let users share these web pages? Facebook, Twitter, and LinkedIn offer numerous ways to do this, some involving button generators and others that require external JavaScript. To avoid all of that, though, you can create your own links to share web pages. And the best part is that it’s simple to do yourself. Here’s how.</p>
<p><span id="more-248120"></span></p>
<h3>Basic Concept: Just a Link</h3>
<p>When sharing web pages using links, you’re essentially submitting a GET request (i.e. clicking a link) to a URL provided by each social media service. Then, by appending a series of name/value pairs (query parameters like ?title=Title) to the end of this URL, you can specity the URL of the web page you want to share and, sometimes, additional information.</p>
<p>Now, certain symbols in GET requests known as “reserved characters”, need to be encoded properly so as not to interfere with normal browser functions. These characters are subject to “<a href="https://en.wikipedia.org/wiki/Percent-encoding">percent-encoding</a>” – that is, they are represented in query parameters with a “%” followed by a two-digit hex code. These are the reserved characters and their percent-encoded equivalents.</p>
<table>
<thead>
<tr>
<th style="text-align: center">!</th>
<th style="text-align: center">#</th>
<th style="text-align: center">$</th>
<th style="text-align: center">&amp;</th>
<th style="text-align: center">'</th>
<th style="text-align: center">(</th>
<th style="text-align: center">)</th>
<th style="text-align: center">*</th>
<th style="text-align: center">+</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">%21</td>
<td style="text-align: center">%23</td>
<td style="text-align: center">%24</td>
<td style="text-align: center">%26</td>
<td style="text-align: center">%27</td>
<td style="text-align: center">%28</td>
<td style="text-align: center">%29</td>
<td style="text-align: center">%2A</td>
<td style="text-align: center">%2B</td>
</tr>
</tbody>
</table>
<table>
<thead>
<tr>
<th style="text-align: center">,</th>
<th style="text-align: center">/</th>
<th style="text-align: center">:</th>
<th style="text-align: center">;</th>
<th style="text-align: center">=</th>
<th style="text-align: center">?</th>
<th style="text-align: center">@</th>
<th style="text-align: center">[</th>
<th style="text-align: center">]</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align: center">%2C</td>
<td style="text-align: center">%2F</td>
<td style="text-align: center">%3A</td>
<td style="text-align: center">%3B</td>
<td style="text-align: center">%3D</td>
<td style="text-align: center">%3F</td>
<td style="text-align: center">%40</td>
<td style="text-align: center">%5B</td>
<td style="text-align: center">%5D</td>
</tr>
</tbody>
</table>
<p>Note: A space can be represented by “%20” or “+”.</p>
<p>Of course, there’s no need to memorize these hex codes. There are many resources that provide conversions (<a href="http://www.bing.com/search?q=url%20encoding">Bing</a> has one built into the search engine) and, as you will soon see, JavaScript can also handle the heavy lifting in this regard. Let’s look at a few of the more popular social media services and learn how we can share web pages through them.</p>
<h3>Facebook</h3>
<p>Per their <a href="https://developers.facebook.com/docs/sharing/reference/share-dialog">Developer’s Guide</a>, Facebook specifies the following URL to submit GET requests when sharing a web page:</p>
<pre><code>https://www.facebook.com/dialog/share</code></pre>
<p>While there are four query parameters available, only two are required: the URL of the web page that you want to share and an App ID, which developers can obtain by registering at Facebook. If you don’t have an App ID, the registration process is not onerous, but there’s no need to bother when an even simpler solution exists.</p>
<p>Facebook’s original method of sharing web pages, without the required App ID, is no longer mentioned in any of their documentation, but it’s still supported. In fact, with countless web sites using this method, I can’t imagine it would be deprecated anytime soon. This URL is:</p>
<pre><code>https://www.facebook.com/sharer.php</code></pre>
<p>The only parameter available is “u”, which is used to specify the URL of the web page you want to share. Here’s an example that shares the home page of CSS-Tricks on Facebook – go ahead, cut-and-paste into a browser to see the result.</p>
<pre><code>https://www.facebook.com/sharer.php?u=https%3A%2F%2Fcss-tricks.com%2F</code></pre>
<figure id="post-248124" class="align-none media-248124"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/11/facebook.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/11/facebook.png 558w, https://cdn.css-tricks.com/wp-content/uploads/2016/11/facebook-296x300.png 296w, https://cdn.css-tricks.com/wp-content/uploads/2016/11/facebook-90x90.png 90w" sizes="(max-width: 558px) 100vw, 558px" /></figure>
<p>As previously explained, the URL shared is necessarily percent-encoded. Also, note how “?” designates the start of the first query parameter. Subsequent query parameters are separated by “&amp;” as will be seen shortly.</p>
<h3>Twitter</h3>
<p>Twitter refers to sharing a web page via URL as a Tweet Web Intent – the URL to use is:</p>
<pre><code>https://twitter.com/intent/tweet</code></pre>
<p>Unlike Facebook, where only the web page being shared can be specified, Twitter allows you to tack on some text and any number of hashtags. Users will have the opportunity to edit all of this before tweeting, but it gives them a head start in case they can’t be bothered. For example, let’s say you wanted to tweet the following information:</p>
<table>
<thead>
<tr>
<th>parameter</th>
<th>value</th>
</tr>
</thead>
<tbody>
<tr>
<td>url</td>
<td>https://css-tricks.com/</td>
</tr>
<tr>
<td>text</td>
<td>Tips, Tricks, and Techniques on using Cascading Style Sheets.</td>
</tr>
<tr>
<td>hashtags</td>
<td>css html</td>
</tr>
</tbody>
</table>
<p>The URL for that, with the query parameters percent-encoded and line breaks added for clarity, is:</p>
<pre><code>https://twitter.com/intent/tweet
?url=https%3A%2F%2Fcss-tricks.com%2F
&amp;text=Tips%2C+Tricks%2C+and+Techniques+on+using+Cascading+Style+Sheets.
&amp;hashtags=css,html</code></pre>
<p>And that gives you:</p>
<figure id="post-248125" class="align-none media-248125"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/11/twitter.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/11/twitter.png 658w, https://cdn.css-tricks.com/wp-content/uploads/2016/11/twitter-300x103.png 300w" sizes="(max-width: 658px) 100vw, 658px" /></figure>
<p>You’ll notice that Twitter pre-selects the text, which allows for easy editing by the user. And, remember, the tweet needs to be under 140 characters, so best not supply any copy that’s too long. In the interest of simplicity, I omitted discussing three lesser-used parameters, which can be found described in detail at <a href="https://dev.twitter.com/web/tweet-button/web-intent">Twitter’s Developers Documentation</a>. These additional parameters allow you to specify the username associated with the tweet, suggested related usernames, and an ID of a related tweet.</p>
<h3>LinkedIn</h3>
<p>The URL to use when sharing on LinkedIn is:</p>
<pre><code>https://www.linkedin.com/shareArticle</code></pre>
<p>In total, there are five parameters available as detailed by this chart taken from <a href="https://developer.linkedin.com/docs/share-on-linkedin">LinkedIn’s Developers documentation</a>:</p>
<table>
<thead>
<tr>
<th>Parameter</th>
<th>Description</th>
<th>Max Length</th>
<th>Required</th>
</tr>
</thead>
<tbody>
<tr>
<td>url</td>
<td>The url-encoded URL of the page that you wish to share.</td>
<td>1024</td>
<td>Yes</td>
</tr>
<tr>
<td>mini</td>
<td>A required argument whose value must always be: true</td>
<td>4</td>
<td>Yes</td>
</tr>
<tr>
<td>title</td>
<td>The url-encoded title value that you wish you use.</td>
<td>200</td>
<td>No</td>
</tr>
<tr>
<td>summary</td>
<td>The url-encoded description that you wish you use.</td>
<td>256</td>
<td>No</td>
</tr>
<tr>
<td>source</td>
<td>The url-encoded source of the content (e.g. your website or application name)</td>
<td>200</td>
<td>No</td>
</tr>
</tbody>
</table>
<p>In addition to the URL of the web page that you want to share, another query parameter called “mini” is required. But, as you can see, its value never changes, so we can hardcode that into the URL. To demonstrate, let’s share the following on LinkedIn:</p>
<table>
<thead>
<tr>
<th>parameter</th>
<th>value</th>
</tr>
</thead>
<tbody>
<tr>
<td>url</td>
<td>https://css-tricks.com/</td>
</tr>
<tr>
<td>title</td>
<td>CSS-Tricks</td>
</tr>
<tr>
<td>summary</td>
<td>Tips, Tricks, and Techniques on using Cascading Style Sheets.</td>
</tr>
<tr>
<td>source</td>
<td>CSS-Tricks</td>
</tr>
</tbody>
</table>
<p>This gives the following URL – again, line breaks added for clarity:</p>
<pre><code>https://www.linkedin.com/shareArticle
?mini=true
&amp;url=https%3A%2F%2Fwww.css-tricks.com%2F
&amp;title=CSS-Tricks
&amp;summary=Tips%2C+Tricks%2C+and+Techniques+on+using+Cascading+Style+Sheets.
&amp;source=CSS-Tricks</code></pre>
<figure id="post-248126" class="align-none media-248126"><img src="https://cdn.css-tricks.com/wp-content/uploads/2016/11/linkedin.png" alt="" srcset="https://cdn.css-tricks.com/wp-content/uploads/2016/11/linkedin.png 660w, https://cdn.css-tricks.com/wp-content/uploads/2016/11/linkedin-300x224.png 300w" sizes="(max-width: 660px) 100vw, 660px" /></figure>
<p>While not mentioned explicitly in their documentation, if the “title” parameter is omitted, LinkedIn will grab this content from the Open Graph tag <code>&lt;meta property="og:title"&gt;</code> from the shared page. Similarly, if the “summary” parameter is omitted, the Open Graph tag <code>&lt;meta property="og:description"&gt;</code> is used. As for the “source” parameter, nothing in the documentation specifies how this value is used or displayed when sharing a web page – it looks as if it can be safely ignored.</p>
<p>Knowing all of this, if the web page being shared has the proper complement of Open Graph tags, simply specifying the URL will suffice as the “title” and “summary” parameters will be suitably populated.</p>
<h3>Putting It All Together</h3>
<p>Now that we know the syntax to use when sharing web pages on social media, how exactly can we implement this code? Perhaps the most common way is simply listing a group of sharing links styled appropriately with CSS:</p>
<pre rel="HTML"><code class="language-html">&lt;ul&gt;
  &lt;li&gt;&lt;a href="https://www.facebook.com/sharer.php?..." target="blank"&gt;&lt;img src="facebook-icon.png" alt="Share Page on Facebook" /&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://twitter.com/intent/tweet?..." target="blank"&gt;&lt;img src="twitter-icon.png" alt="Share Page on Twitter" /&gt;&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="https://www.linkedin.com/shareArticle?..." target="blank"&gt;&lt;img src="linkedin-icon.png" alt="Share Page on LinkedIn" /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<p>The adding of <code>target="_blank"</code> in the anchor tag allows the sharing dialog to appear in a new window or tab, which works well on all devices, from desktop to mobile.</p>
<p>But hard-coding these links, with the percent-encoding of the query parameters, can be tedious and error prone. For any web page dynamically served by a CMS, this would be the perfect opportunity to have this data crunching performed on the server side and inserted where needed in the HTML.</p>
<p>Another option is to use the <a href="http://codepen.io/adamcoti/full/woGwym/">Social Media Sharing: HTML Links Generator</a> that I created on CodePen. This allows you to enter any or all of the necessary parameters we’ve just reviewed, and it will output the appropriate HTML for you to insert into your own code.</p>
<p data-height="535" data-theme-id="1" data-slug-hash="woGwym" data-default-tab="result" data-user="adamcoti" data-embed-version="2" data-pen-title="Social Media Sharing: HTML Links Generator" class="codepen">See the Pen <a href="http://codepen.io/adamcoti/pen/woGwym/">Social Media Sharing: HTML Links Generator</a> by Adam Coti (<a href="http://codepen.io/adamcoti">@adamcoti</a>) on <a href="http://codepen.io">CodePen</a>.</p>
<p><script async src="https://production-assets.codepen.io/assets/embed/ei.js"></script></p>
<p>As a freelance web developer working almost exclusively on the front-end, I’ve opted to use JavaScript/jQuery functionality that, without customization, works as a turnkey solution for my projects. This way, I can be assured that all sharing links will be properly handled, whether I’m working on a static web site, customizing WordPress themes, or handing off templates to be integrated into a CMS.</p>
<p>This is the HTML I use, with classes designating the particular sharing service. In the JavaScript, the function <code>setShareLinks()</code>, which attaches <code>click</code> events to the share buttons, is called when the Document Object Model (DOM) is ready:</p>
<pre><code class="language-html">&lt;ul&gt;
  &lt;li class="social-share facebook"&gt;&lt;img src="facebook-icon.png" alt="Share Page on Facebook" /&gt;&lt;/li&gt;
  &lt;li class="social-share twitter"&gt;&lt;img src="twitter-icon.png" alt="Share Page on Twitter" /&gt;&lt;/li&gt;
  &lt;li class="social-share linkedin"&gt;&lt;img src="linkedin-icon.png" alt="Share Page on LinkedIn" /&gt;&lt;/li&gt;
&lt;/ul&gt;</code></pre>
<pre><code class="language-javascript">function socialWindow(url) {
    var left = (screen.width - 570) / 2;
    var top = (screen.height - 570) / 2;
    var params = "menubar=no,toolbar=no,status=no,width=570,height=570,top=" + top + ",left=" + left;
    window.open(url,"NewWindow",params);
}

function setShareLinks() {
    var pageUrl = encodeURIComponent(document.URL);
    var tweet = encodeURIComponent(jQuery("meta[property='og:description']").attr("content"));
    
    jQuery(".social-share.facebook").on("click", function() {
        url = "https://www.facebook.com/sharer.php?u=" + pageUrl;
        socialWindow(url);
    });

    jQuery(".social-share.twitter").on("click", function() {
        url = "https://twitter.com/intent/tweet?url=" + pageUrl + "&amp;text=" + tweet;
        socialWindow(url);
    });

    jQuery(".social-share.linkedin").on("click", function() {
        url = "https://www.linkedin.com/shareArticle?mini=true&amp;url=" + pageUrl;
        socialWindow(url);
    })
}</code></pre>
<p>The URL of the current web page is easily acquired by reading a property of the <code>document</code> object. And, for Twitter, the Open Graph tag <code>&lt;meta property="og:description"&gt;</code> conveniently provides appropriate content for a default tweet.</p>
<p>Now, at the request of some of my clients, I launch the newly formed URL in a specially sized secondary (pop-up) window by utilizing <code>window.open()</code>. On most desktop browsers, this window is positioned horizontally and vertically centered on the screen. Interestingly enough, if a user is logged in to their social media account, Facebook and LinkedIn will resize this secondary window to the necessary dimensions. Twitter doesn’t, so I use a default width and height that provides it with enough real estate. As far as responsiveness, tablets and mobile devices interpret the secondary window as a new tab. A <a href="http://codepen.io/adamcoti/pen/jVGWdG">demo of this functionality</a> can be found on CodePen.</p>
<p data-height="305" data-theme-id="1" data-slug-hash="jVGWdG" data-default-tab="result" data-user="adamcoti" data-embed-version="2" data-pen-title="Social Media Sharing: Automated Link Creator" class="codepen">See the Pen <a href="http://codepen.io/adamcoti/pen/jVGWdG/">Social Media Sharing: Automated Link Creator</a> by Adam Coti (<a href="http://codepen.io/adamcoti">@adamcoti</a>) on <a href="http://codepen.io">CodePen</a>.</p>
<p>But using a pop-up window, while once common, is now frowned upon for accessibility reasons. A simple solution is to set the variable <code>params</code> to an empty string in the above JavaScript. Doing so launches the URL in a new window or tab depending on the user’s browser setting.</p>
<h3>Conclusion</h3>
<p>As the gruesome saying goes, there are many ways to skin a cat. The above technique is simply my preferred method. You may have a better, more optimized way. Perhaps using data attributes in the HTML (to specify hashtags, for example) that can be read by JavaScript and appended as a query parameter where needed. Hopefully this can at least serve as inpiration for your own implementation.</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/simple-social-sharing-links/">The Simplest (and Most Performant) Way to Offer Sharing Links for Social Media</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/simple-social-sharing-links/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248120</post-id>	</item>
		<item>
		<title>An SVG That Isn’t All… SVG</title>
		<link>http://mediatemple.net/blog/tips/an-svg-that-isnt-all-svg/</link>
		<comments>https://css-tricks.com/svg-isnt-svg/#respond</comments>
		<pubDate>Mon, 05 Dec 2016 12:39:15 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[media temple]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248643</guid>
		<description><![CDATA[<p>SVG is absolutely a vector graphics format. But it's more than that. You can set type in it. You can place raster graphics in it. There is interactivity and animation. It's more like a multimedia graphics format. Over on the Media Temple blog, I walk through the creation of a multimedia graphic to show off some of those possibilities.</p>
<p data-height="300" data-theme-id="1" data-slug-hash="yVJbGR" data-default-tab="html,result" data-user="chriscoyier" data-embed-version="2" data-pen-title="SVG is a cross-medium format!" class="codepen">See the Pen <a href="http://codepen.io/chriscoyier/pen/yVJbGR/">SVG is a cross-medium format!</a> by Chris Coyier  (<a href="http://codepen.io/chriscoyier">@chriscoyier</a>) on <a href="http://codepen.io">CodePen</a>.</p>
<p><a href="https://css-tricks.com/svg-2-conundrum/">If</a> we get SVG &#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/svg-isnt-svg/">An SVG That Isn’t All… SVG</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>SVG is absolutely a vector graphics format. But it's more than that. You can set type in it. You can place raster graphics in it. There is interactivity and animation. It's more like a multimedia graphics format. Over on the Media Temple blog, I walk through the creation of a multimedia graphic to show off some of those possibilities.</p>
<p data-height="300" data-theme-id="1" data-slug-hash="yVJbGR" data-default-tab="html,result" data-user="chriscoyier" data-embed-version="2" data-pen-title="SVG is a cross-medium format!" class="codepen">See the Pen <a href="http://codepen.io/chriscoyier/pen/yVJbGR/">SVG is a cross-medium format!</a> by Chris Coyier  (<a href="http://codepen.io/chriscoyier">@chriscoyier</a>) on <a href="http://codepen.io">CodePen</a>.</p>
<p><a href="https://css-tricks.com/svg-2-conundrum/">If</a> we get SVG 2, it'll be even more multimedia with the inclusion of audio, video, canvas, and more. </p>
<p>If you'd like to make SVG more of a part of you day-do-day workflow, and I suggest you do, pick up a copy of <a href="https://abookapart.com/products/practical-svg">Practical SVG</a>. </p>
<p><a href="http://mediatemple.net/blog/tips/an-svg-that-isnt-all-svg/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/svg-isnt-svg/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/svg-isnt-svg/">An SVG That Isn’t All… 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/svg-isnt-svg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248643</post-id>	</item>
		<item>
		<title>State of the Word 2016</title>
		<link>https://poststatus.com/matt-mullenweg-state-word-2016/</link>
		<comments>https://css-tricks.com/state-word-2016/#respond</comments>
		<pubDate>Sun, 04 Dec 2016 17:06:43 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248638</guid>
		<description><![CDATA[<p>Some highlights-of-highlights, based on Brian Krogsgard's post:</p>
<ul>
<li>BuddyPress and bbPress will get new support and engagement over the next year.</li>
<li>WordPress 4.6 was available in 50 languages the day it was released.</li>
<li>the REST API [endpoints] get included in WordPress 4.7.</li>
<li>WordPress.com is now fully on PHP7. WordPress.org will now recommend PHP7 by default.</li>
<li>There is some concern about design. "If WordPress doesn’t make changes to the interface and otherwise, [Matt Mullenweg would] expect WordPress marketshare to begin to decline </li>
</ul>
<p>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/state-word-2016/">State of the Word 2016</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>Some highlights-of-highlights, based on Brian Krogsgard's post:</p>
<ul>
<li>BuddyPress and bbPress will get new support and engagement over the next year.</li>
<li>WordPress 4.6 was available in 50 languages the day it was released.</li>
<li>the REST API [endpoints] get included in WordPress 4.7.</li>
<li>WordPress.com is now fully on PHP7. WordPress.org will now recommend PHP7 by default.</li>
<li>There is some concern about design. "If WordPress doesn’t make changes to the interface and otherwise, [Matt Mullenweg would] expect WordPress marketshare to begin to decline by 2018." and "In the coming releases, he, 'wants to see design leading the way.'"</li>
</ul>
<p><a href="https://poststatus.com/matt-mullenweg-state-word-2016/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/state-word-2016/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/state-word-2016/">State of the Word 2016</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/state-word-2016/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248638</post-id>	</item>
		<item>
		<title>Web Animation Essentials: CSS Animations and Transitions</title>
		<link>http://rachelnabors.com/css-animations-course/</link>
		<comments>https://css-tricks.com/web-animation-essentials-css-animations-transitions/#respond</comments>
		<pubDate>Sun, 04 Dec 2016 15:28:31 +0000</pubDate>
		<dc:creator><![CDATA[Chris Coyier]]></dc:creator>
				<category><![CDATA[Link]]></category>
		<category><![CDATA[Sponsored]]></category>

		<guid isPermaLink="false">https://css-tricks.com/?p=248631</guid>
		<description><![CDATA[<p>A brand new course by Rachel Nabors. There is a lot here: learning the code <em>and</em> learning the tools to help work with the code and make sure you're doing a good job. A couple favorite aspects of the course: </p>
<ul>
<li>Captioned videos you can understand without audio.</li>
<li>Convenient CodePen exercises–no code to set up.</li>
</ul>
<p>;)</p>
<p><a href="http://rachelnabors.com/css-animations-course/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/web-animation-essentials-css-animations-transitions/">Permalink</a>&#8230;</p>
<hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/web-animation-essentials-css-animations-transitions/">Web Animation Essentials: CSS Animations and Transitions</a> is a post from <a rel="nofollow" href="https://css-tricks.com">CSS-Tricks</a></small></p>
]]></description>
				<content:encoded><![CDATA[<p>A brand new course by Rachel Nabors. There is a lot here: learning the code <em>and</em> learning the tools to help work with the code and make sure you're doing a good job. A couple favorite aspects of the course: </p>
<ul>
<li>Captioned videos you can understand without audio.</li>
<li>Convenient CodePen exercises–no code to set up.</li>
</ul>
<p>;)</p>
<p><a href="http://rachelnabors.com/css-animations-course/" title="Direct link to featured article">Direct Link to Article</a> &#8212; <a href="https://css-tricks.com/web-animation-essentials-css-animations-transitions/">Permalink</a></p><hr />
<p><small><a rel="nofollow" href="https://css-tricks.com/web-animation-essentials-css-animations-transitions/">Web Animation Essentials: CSS Animations and Transitions</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/web-animation-essentials-css-animations-transitions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<post-id xmlns="com-wordpress:feed-additions:1">248631</post-id>	</item>
	</channel>
</rss>
