ctors to match only if several of them are present, for example:

// Will only match if element has both
//AN_Xml:.accordion.expand { }

But what about other attributes?

Class names are unique in the ability outlined above. Other attributes are not treated as "multiple values" just because they have a space in them. For instance:

<div data-type="module accordion expand"></div>

This element just has a data-type attribute with a value of "module accordion expand", not three unique values "module", "accordion" and "expand". But let's say we wanted to be able to select elements based on individual values like we can with class names.

We could do it by using a "*" substring matching attribute selector which will match if the provided string appears anywhere in the value:

[data-type*="module"] {
//AN_Xml:
//AN_Xml:}

or only match when multiple of specific "values" are present:

[data-type*="accordion"][data-type*="expand"] {
//AN_Xml:
//AN_Xml:}

Ever better, use the whitespace separated selector (e.g. [data-type~="expand"]). That way you won't get burned by something like "expand" matching "expander" when you didn't want to.

[data-type~="accordion"][data-type~="expand"] {
//AN_Xml:
//AN_Xml:}

View Demo

Works in IE7+ (because IE 7 was first IE to support attribute selectors)

Multiple Attribute Values is a post from CSS-Tricks

]]> http://css-tricks.com/multiple-attribute-values/feed/ 24 Dabblethttp://dabblet.com/ http://css-tricks.com/dabblet/#comments Fri, 16 Dec 2011 03:18:40 +0000 Chris Coyier http://css-tricks.com/?p=15595

The best part about Lea Verou's new in-browser HTML/CSS demo tool? It saves your demos to your GitHub account as gists.

Direct Link to ArticlePermalink

Dabblet is a post from CSS-Tricks

]]>
The best part about Lea Verou's new in-browser HTML/CSS demo tool? It saves your demos to your GitHub account as gists.

Direct Link to ArticlePermalink

Dabblet is a post from CSS-Tricks

]]>
http://css-tricks.com/dabblet/feed/ 0
Auto Updating IEhttp://windowsteamblog.com/ie/b/ie/archive/2011/12/15/ie-to-start-automatic-upgrades-across-windows-xp-windows-vista-and-windows-7.aspx http://css-tricks.com/auto-updating-ie/#comments Thu, 15 Dec 2011 16:51:49 +0000 Chris Coyier http://css-tricks.com/?p=15591

Big news from Microsoft:

With automatic updates enabled through Windows Update, customers can receive IE9 and future versions of Internet Explorer seamlessly

Windows XP gets IE 8
Windows Vista and 7 get IE 9

Presumably every new release will happen the same way. So when IE 10 goes final the next Windows Update will include that too for the OS's it will run on.

Direct Link to ArticlePermalink

Auto Updating IE is a post from CSS-Tricks

]]>
Big news from Microsoft:

With automatic updates enabled through Windows Update, customers can receive IE9 and future versions of Internet Explorer seamlessly

Windows XP gets IE 8
Windows Vista and 7 get IE 9

Presumably every new release will happen the same way. So when IE 10 goes final the next Windows Update will include that too for the OS's it will run on.

Direct Link to ArticlePermalink

Auto Updating IE is a post from CSS-Tricks

]]>
http://css-tricks.com/auto-updating-ie/feed/ 0
Open a Window with Full Size Unscaled Imagehttp://css-tricks.com/open-a-window-with-full-size-unscaled-image/ http://css-tricks.com/open-a-window-with-full-size-unscaled-image/#comments Thu, 15 Dec 2011 05:46:43 +0000 Chris Coyier http://css-tricks.com/?p=15582

For the gallery section of this site, I wanted people to have the ability to see the screenshot at its original size. Due to the fluid nature of this site, it's fairly common for the screenshot to be scaled down to fit into its column. So I put together this little solution.

My plan is to open a window the exact size needed to fit the image. Quick, easy, and perfectly good UX in my opinion. All you have to …

Open a Window with Full Size Unscaled Image is a post from CSS-Tricks

]]>
For the gallery section of this site, I wanted people to have the ability to see the screenshot at its original size. Due to the fluid nature of this site, it's fairly common for the screenshot to be scaled down to fit into its column. So I put together this little solution.

My plan is to open a window the exact size needed to fit the image. Quick, easy, and perfectly good UX in my opinion. All you have to do is this:

window.open(path-to-image);

Actually it's a bit more complex than that. We need to pass in a bunch of parameters to get the window we want. Namely, the kind with as little chrome as possible. A top bar with a close button and that's about it.

window.open(path-to-image, null, 'height=y, width=x, toolbar=0, location=0, status=0, scrollbars=0, resizeable=0');

Example:

The tricky part is figuring out just exactly what height and width values to pass. You can't just ask the image what size it is. Well you can, but it will lie. It will tell you its current size, not its natural size.

var img = document.getElementById('screenshot');
//AN_Xml:
//AN_Xml:img.width;  // current size, not natural size
//AN_Xml:img.height; // current size, not natural size

To get the natural size, we'll create a new image in the magical ether of JavaScript, set its source to the source of the on-screen image, and then test its width and height. It will report correctly as it's untainted by CSS on the page.

var img = document.getElementById('screenshot');
//AN_Xml:
//AN_Xml:var magicEtherImage = new Image();
//AN_Xml:magicEtherImage.src = img.src;
//AN_Xml:
//AN_Xml:var padding = 20; // little buffer to prevent forced scrollbars
//AN_Xml:
//AN_Xml:// Values to use when opening window
//AN_Xml:var winWidth = magicEtherImage.width + padding;
//AN_Xml:var winHeight = magicEtherImage.height + padding;

I use jQuery on my site, so ultimately my code is like this:

$(".view-full-size").click(function() {
//AN_Xml:
//AN_Xml:  var mainScreenshot = $("#main-screenshot");
//AN_Xml:
//AN_Xml:  var theImage = new Image();
//AN_Xml:  theImage.src = mainScreenshot.attr("src");
//AN_Xml:
//AN_Xml:  var winWidth = theImage.width + 20;
//AN_Xml:  var winHeight = theImage.height + 20;
//AN_Xml:
//AN_Xml:  window.open(this.href,  null, 'height=' + winHeight + ', width=' + winWidth + ', toolbar=0, location=0, status=0, scrollbars=0, resizable=0'); 
//AN_Xml:
//AN_Xml:  return false;
//AN_Xml:
//AN_Xml:});

You can see it in action on single gallery pages like this.

Obviously it doesn't do much on mobile, so I just remove the button with a media query.

Open a Window with Full Size Unscaled Image is a post from CSS-Tricks

]]>
http://css-tricks.com/open-a-window-with-full-size-unscaled-image/feed/ 27
New Poll: Your Internet Connection Speedhttp://css-tricks.com/new-poll-your-internet-connection-speed/ http://css-tricks.com/new-poll-your-internet-connection-speed/#comments Tue, 13 Dec 2011 23:54:54 +0000 Chris Coyier http://css-tricks.com/?p=15549

I think it would be interesting to get an idea of what the internet connection speeds are like for CSS-Tricks readers. Connection speed makes such a huge difference in the web browsing experience I hope that getting an understanding of what speeds people are getting will help us all kind that in mind when working on websites.

So go test your speed right now (Download Speed) and pick the most appropriate answer in the poll (in the sidebar). If a …

New Poll: Your Internet Connection Speed is a post from CSS-Tricks

]]>
I think it would be interesting to get an idea of what the internet connection speeds are like for CSS-Tricks readers. Connection speed makes such a huge difference in the web browsing experience I hope that getting an understanding of what speeds people are getting will help us all kind that in mind when working on websites.

So go test your speed right now (Download Speed) and pick the most appropriate answer in the poll (in the sidebar). If a mobile device is your main connection, test that, otherwise use your main home/work connection.

Remember, "Mbps"

That's "Megabits per second." Somehow this has become the standard for measuring internet connection speed. Personally, I think this is insane. People understand the size of digital things in bytes, kilobytes, megabytes, gigabytes, and terabytes. Yet instead of using these commons sizes that everyone understands, we use the "bit" versions of those, which are are 8x larger numbers. Because:

8 "Megabits" == 1 "Megabyte"
et al.

Let's stick with "Mbps" since that's what the speed tester reports.

New Poll: Your Internet Connection Speed is a post from CSS-Tricks

]]>
http://css-tricks.com/new-poll-your-internet-connection-speed/feed/ 426
TextMate 2http://blog.macromates.com/2011/textmate-2-0-alpha/ http://css-tricks.com/textmate-2/#comments Tue, 13 Dec 2011 16:46:18 +0000 Chris Coyier http://css-tricks.com/?p=15551

The long awaited has arrived (in alpha).

Direct Link to ArticlePermalink

TextMate 2 is a post from CSS-Tricks

]]>
The long awaited has arrived (in alpha).

Direct Link to ArticlePermalink

TextMate 2 is a post from CSS-Tricks

]]>
http://css-tricks.com/textmate-2/feed/ 0
//AN_Xml: alert(e.description); } } } _AN_Display_xml();