Chris Coyier
Founder, writer, designer, spam-deleter, email personality
Custom Fonts in Emails
A reader writes in:
…Would it be possible to draw an entire typeface in CSS to be sent in emails? Our company needs to send out emails to about 20k people to introduce a new brand that we are launching.
Burst Title
During the previews for a movie I saw recently, there was an advertisement for an Oprah-related something or another. I wasn’t paying attention because I was trying to get out my phone so I could snap a picture of it. …
CSS1k
Back in the day, the CSS Zen Garden was a place to showcase the power of CSS. A single page was redesigned in vastly different ways with no change to the HTML. The CSS1k project (head up by Jacob Rask) …
ShopTalk Episode 2
In which we talk shop with guest Paul Irish. Sponsored by LessAccounting. …
SpriteRight Giveaway
There is a new Mac app called SpriteRight for doing CSS sprites that is pretty darn nice. …
Detect Location by IP
Returns “City, State” if found otherwise the default set at the top.
function detect_city($ip) {
$default = 'UNKNOWN';
if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0.0.1' || $ip == 'localhost')
$ip = '8.8.8.8';
$curlopt_useragent = 'Mozilla/5.0 (Windows; U;
… Send a Text Message
You’ll need a TextMagic account and to download their PHP helper which they provide after signing up.
// Include the TextMagic PHP lib
require('textmagic-sms-api-php/TextMagicAPI.php');
// Set the username and password information
$username = 'myusername';
$password = 'mypassword';
// Create a
… Remove Inline Styles
This function also preserves hidden content.
function remove_style(all) {
var i = all.length;
var j, is_hidden;
// Presentational attributes.
var attr = [
'align',
'background',
'bgcolor',
'border',
'cellpadding',
'cellspacing',
'color',
'face',
'height',
'hspace',
'marginheight',
'marginwidth',
'noshade',
'nowrap',
'valign',
'vspace',
'width',
… YouTube Popup Buttons
There is a certain style of button on the latest YouTube design (most easily found in the footer) where the default state of the button has a very subtle bevel to it, but on :hover and :focus states the button …
Shop Talk Episode 1
The inaugural episode of Shop Talk where Dave and I are joined by Jonathan Snook and we answer a bunch of listener questions. Sorry about the sniffles and other rough edges, we’ll get better as we go. Sponsored by LessAccounting…