<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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/"
	>

<channel>
	<title>habdas.org &#187; CSS</title>
	<atom:link href="http://www.habdas.org/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.habdas.org</link>
	<description>A tech blog by Josh Habdas</description>
	<lastBuildDate>Sat, 04 Feb 2012 21:23:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MSIE 4095 Selector Limit</title>
		<link>http://www.habdas.org/2010/05/30/msie-4095-selector-limit/</link>
		<comments>http://www.habdas.org/2010/05/30/msie-4095-selector-limit/#comments</comments>
		<pubDate>Sun, 30 May 2010 17:50:31 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[browser compatibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[debugging tools]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=1250</guid>
		<description><![CDATA[Web applications concatenate CSS files to improve performance, which can result in large numbers of style rules in a single file. Enter the 4095 selector limitation for IE browsers. An IE bug whereby the browser will only apply style for &#8230; <a href="http://www.habdas.org/2010/05/30/msie-4095-selector-limit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Web applications concatenate CSS files to improve performance, which can result in large numbers of style rules in a single file. Enter the <a href="http://marc.baffl.co.uk/browser_bugs/css-selector-limit/">4095 selector limitation for IE browsers</a>. An IE bug whereby the browser will only apply style for the first 4095 selectors declared per file. Impacted browsers include IE6, IE7, IE8 and IE9.<br />
<span id="more-1250"></span></p>
<h2>Identification</h2>
<p>Look for IE-only display issues (outside the norm) when CSS files contain many style rules. Rules near the bottom of the stylesheet will not be applied. The issue can be confirmed with the IE dev toolbar. To do so use dev toolbar to save off the CSS file downloaded from the web server, and then scroll to the bottom of the CSS tab in the toolbar (assumes IE8 dev tools). Compare the last style rule displayed in the tab with the last rule in the actual file itself. If they do not match, and the CSS is valid, the limit has been reached.</p>
<h2>Solution</h2>
<p>Reduce the number of CSS selectors per file to a number less than 4096. Several approaches for doing so include:</p>
<ul>
<li>Refactoring existing CSS</li>
<li>Splitting the CSS payload into multiple files</li>
<li>Reevaluating current browser support strategy (wink, wink)</li>
</ul>
<p>If the stylesheet under scrutiny contains IE-only hacks interspersed with standards compliant CSS, consider moving the hacks into a separate file and using <a href="http://www.quirksmode.org/css/condcom.html">Conditional Comments</a> to pull them in. Otherwise, the best option may be to split the CSS payload into multiple files–resulting in an extra HTTP request for all browsers, not just IE. Reevaluating browser support is another option, but probably not feasible for large-scale applications.</p>
<p>Regardless of which approach is taken, something will need to be done for IE once the per-file limit is reached. Though 4095 selectors ought to be enough for anybody&#8230;<br />
<script type="text/javascript"><!--
google_ad_client = "ca-pub-0082825360919078";
/* habdas.org banner ad */
google_ad_slot = "2440223718";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2010/05/30/msie-4095-selector-limit/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Web Development and Debugging Tools</title>
		<link>http://www.habdas.org/2009/01/10/useful-web-development-and-debugging-tools/</link>
		<comments>http://www.habdas.org/2009/01/10/useful-web-development-and-debugging-tools/#comments</comments>
		<pubDate>Sat, 10 Jan 2009 14:37:21 +0000</pubDate>
		<dc:creator>Josh</dc:creator>
				<category><![CDATA[Software Engineering]]></category>
		<category><![CDATA[browser compatibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[debugging tools]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[proxies]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.habdas.org/?p=234</guid>
		<description><![CDATA[Following is a  list of cross-browser/platform web development and debugging tools useful for client-side developers. Depending on the application, one or all of these tools can be valuable in completing work on a website front-end. Tools for Firefox and Chrome Build for &#8230; <a href="http://www.habdas.org/2009/01/10/useful-web-development-and-debugging-tools/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Following is a  list of cross-browser/platform web development and debugging tools useful for client-side developers. Depending on the application, one or all of these tools can be valuable in completing work on a website front-end.</p>
<p><span id="more-234"></span></p>
<h2>Tools for Firefox and Chrome</h2>
<p>Build for standards.</p>
<ul>
<li><a href="http://www.google.com/chrome/">Chrome</a> includes a powerful set of development tools out of the box, including remote debugging.</li>
<li><a href="http://getfirebug.com/">Firebug</a> integrates with Firefox to put a wealth of development tools at your fingertips while you browse.</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/html-validator/">HTML Validator</a> is a Mozilla extension that adds HTML validation inside Firefox and Mozilla.</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/web-developer/">Web Developer</a> adds a menu and a toolbar with various web developer tools.</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/1419">IE Tab</a>, an extension from Taiwan, embeds Internet Explorer in a Mozilla/Firefox tab. Handy but doesn&#8217;t work on a Mac.</li>
<li><a href="http://www.colorzilla.com/">ColorZilla</a> provides Advanced Eyedropper, Color Picker, Palette Viewer and other colorful goodies for your Firefox.</li>
<li><a href="http://developer.yahoo.com/yslow/">YSlow</a> analyzes web pages and tells you why they&#8217;re slow.</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/6647">HttpFox</a> monitors and analyzes all incoming and outgoing HTTP traffic between the browser and the web servers.</li>
<li><a href="http://davemartorana.com/multifirefox/">MultiFirefox </a>is a small launcher utility that allows you to run multiple versions of Firefox side-by-side (Mac only).</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/59">User Agent Switcher</a> to spoof user agent strings for browser support testing.</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/fangs-screen-reader-emulator/">Fangs</a> renders a text version of a web page similar to how a screen reader would read it.</li>
<li><a href="http://www.google.com/toolbar/">Google Toolbar</a> to visualize Page Rank.</li>
</ul>
<h2>Tools for Internet Explorer</h2>
<p>Ensure application compatibility.</p>
<ul>
<li><a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=95e06cbe-4940-4218-b75d-b8856fced535">Internet Explorer Developer Toolbar</a> provides a variety of tools for quickly creating, understanding, and troubleshooting Web pages. It also allows for the inspection of the MSIE-specific CSS passed in through the use of <a href="http://msdn.microsoft.com/en-us/library/ms537512.aspx">Conditional Comments</a>.</li>
<li>A look-alike is just that, not the real thing. Here are the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=21eabb90-958f-4b64-b5f1-73d0a413c8ef&amp;displaylang=en">Internet Explorer Application Compatibility VPC Images,</a> made available by Microsoft for use in testing browser compatibility with MSIE.</li>
<li><a href="http://www.httpwatch.com/">HttpWatch</a> is a tool for monitoring HTTP traffic in IE.</li>
</ul>
<h2>Performance &amp; Testing</h2>
<p>Polish it to a bright shine.</p>
<ul>
<li><a href="http://www.jslint.com/">JSLint</a> helps in checking how bad your script sucks. Just copy/paste and pray.</li>
<li><a href="http://www.webpagetest.org/">WebPagetest</a> will help access how slow your site is once it&#8217;s built.</li>
<li><a href="http://html5.validator.nu/">Validator.nu (X)HTML5 Validator</a> validates HTML5.</li>
<li><a href="http://gsnedders.html5.org/outliner/">HTML5 outliner</a> provides an easy to use document outline.</li>
<li><a href="http://seleniumhq.org/projects/ide/">Selenium IDE</a> for automated testing, helping unlock the potential for test-driven development in the UI layer.</li>
<li><a href="http://www.parosproxy.org/">Paros</a> is a simplistic proxy tool that allows you to trap raw HTTP request and response headers for analysis and testing.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.habdas.org/2009/01/10/useful-web-development-and-debugging-tools/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced

Served from: www.habdas.org @ 2012-02-04 23:50:29 -->
