<?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>ain't no soul - 1001 untold stories &#187; css</title>
	<atom:link href="http://blog.aint-no-soul.com/category/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.aint-no-soul.com</link>
	<description>everything is wrong, everything is allowed</description>
	<lastBuildDate>Mon, 14 Feb 2011 13:53:11 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>The one and only correct way to use sprites.</title>
		<link>http://blog.aint-no-soul.com/css/2009-08-11/the-one-and-only-correct-way-to-use-sprites-in-css/</link>
		<comments>http://blog.aint-no-soul.com/css/2009-08-11/the-one-and-only-correct-way-to-use-sprites-in-css/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 19:11:26 +0000</pubDate>
		<dc:creator>biophonc</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://blog.aint-no-soul.com/?p=317</guid>
		<description><![CDATA[In this post I&#8217;ll show you the one and only correct way to use sprites and the very little benefit if you use sprites the wrong way. It&#8217;s in everyones mouth but a lot of people do not understand fully what sprites are supposed to optimize. Well we want so badly to reduce the HTTP [...]]]></description>
			<content:encoded><![CDATA[<p>In this post I&#8217;ll show you the one and only correct way to use sprites and the very little benefit if you use sprites the wrong way. </p>
<p>It&#8217;s in everyones mouth but a lot of people do not understand fully what sprites are supposed to optimize. Well we want so badly to reduce the HTTP requests but as I&#8217;ll show you, a lot of people do not understand how to write efficient selectors for sprites. </p>
<p>Here&#8217;s a meaningfull chart I&#8217;m going to explain a few pixel down.<br />
<img src="http://blog.aint-no-soul.com/examples/css-sprites/images/stats.png" alt="css sprites the wrong and correct way" /></p>
<p>The <a href="http://blog.aint-no-soul.com/examples/css-sprites/wrong-nosprites.html">first</a> &#8220;wrong way&#8221; uses multiple images and no sprites and show you what you might except. For each image a request gets done. 22ms were used.</p>
<p>The <a href="http://blog.aint-no-soul.com/examples/css-sprites/wrong-sprites.html">second</a> wrong way shows you something, a lot of people wouldn&#8217;t have guessed. For each CSS selector a request is made! The reason is, that the Browser does not know that the image has been already requested and requests it again. The browser then, when it does it&#8217;s pre-processing understands, that tghe ressource has been already requested and grabs it ideally from the browser-cache. However that&#8217;s just 4ms faster than without sprites.</p>
<pre class="css:nocontrols:nogutter" name="code">
.icon-mail 			{ background: transparent url(images/sprite.png) 0 0 no-repeat }
.icon-mail-add 		{ background: transparent url(images/sprite.png) 0 -40px no-repeat }
.icon-mail-attach 		{ background: transparent url(images/sprite.png) 0 -80px no-repeat }
.icon-mail-delete 		{ background: transparent url(images/sprite.png) 0 -120px no-repeat }
.icon-mail-edit 		{ background: transparent url(images/sprite.png) 0 -160px no-repeat }
.icon-mail-error 		{ background: transparent url(images/sprite.png) 0 -200px no-repeat }
.icon-mail-go 			{ background: transparent url(images/sprite.png) 0 -240px no-repeat }
.icon-mail-link 		{ background: transparent url(images/sprite.png) 0 -280px no-repeat }
.icon-nail-open 		{ background: transparent url(images/sprite.png) 0 -320px no-repeat }
.icon-mail-open-image 	{ background: transparent url(images/sprite.png) 0 -360px no-repeat }
</pre>
<p><a href="http://blog.aint-no-soul.com/examples/css-sprites/right-sprites.html">The third and correct way</a> uses one selector containing the sprite and a few others to change only the position of the sprite. As you can see in my fancy chart, the benefit is: 4ms for the whole test document.  Thats 5.5 times faster than the first example and unbelievable 4 times faster than the second example, which uses the very same sprite!</p>
<pre class="css:nocontrols:nogutter" name="code">
.icons { background-image: url(images/sprite.png); background-repeat: none }
.icon-mail 			{ background-position: 0 0 }
.icon-mail-add 		{ background-position: 0 -40px }
.icon-mail-attach 		{ background-position: 0 -80px }
.icon-mail-delete 		{ background-position: 0 -120px }
.icon-mail-edit 		{ background-position: 0 -160px }
.icon-mail-error 		{ background-position: 0 -200px }
.icon-mail-go 			{ background-position: 0 -240px }
.icon-mail-link 		{ background-position: 0 -280px }
.icon-nail-open 		{ background-position: 0 -320px }
.icon-mail-open-image 	{ background-position: 0 -360px }
</pre>
<p>ps: You need something like firebug or httpwatch to check it for yourself. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aint-no-soul.com/css/2009-08-11/the-one-and-only-correct-way-to-use-sprites-in-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>beware of font&#8217;s you don&#8217;t have installed</title>
		<link>http://blog.aint-no-soul.com/css/2009-02-18/beware-of-fonts-you-dont-have-it-installed/</link>
		<comments>http://blog.aint-no-soul.com/css/2009-02-18/beware-of-fonts-you-dont-have-it-installed/#comments</comments>
		<pubDate>Wed, 18 Feb 2009 15:11:43 +0000</pubDate>
		<dc:creator>biophonc</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[fonts]]></category>

		<guid isPermaLink="false">http://blog.aint-no-soul.com/?p=257</guid>
		<description><![CDATA[Everybody is talking about CSS fontstacks and there are plenty of good lists/combinations out there but do not use them carelessly &#8211; like the prototype.js guys did (@see screenshot). DO NOT use Â«Helvetica NeueÂ» for your bodycopy or fontsizes smaller than 18px! It is a narrow/condensed font &#8211; not made for continuous text, nor small [...]]]></description>
			<content:encoded><![CDATA[<p>Everybody is talking about CSS fontstacks and there are plenty of good lists/combinations out there but do not use them carelessly &#8211; like the prototype.js guys did (@see screenshot).  <strong>DO NOT use Â«Helvetica NeueÂ» for your bodycopy or fontsizes smaller than 18px!</strong> It is a narrow/condensed font &#8211; not made for continuous text, nor small text. Use it only for headlines with 18px++.</p>
<p><img src="http://blog.aint-no-soul.com/files/2009/02/never_use_neue_helvetica_like_this.png" alt="good example of when not to use neue helvetica" title="good example of when not to use neue helvetica" width="560" height="372" class="alignnone size-full wp-image-258" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aint-no-soul.com/css/2009-02-18/beware-of-fonts-you-dont-have-it-installed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>simple method to add a safari css</title>
		<link>http://blog.aint-no-soul.com/css/2008-11-05/simple-method-to-add-a-safari-css/</link>
		<comments>http://blog.aint-no-soul.com/css/2008-11-05/simple-method-to-add-a-safari-css/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 17:12:08 +0000</pubDate>
		<dc:creator>biophonc</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://blog.aint-no-soul.com/?p=201</guid>
		<description><![CDATA[There are some selector hacks out there, but I don&#8217;t like them &#8211; ie: (@media screen and (-webkit-min-device-pixel-ratio:0) {}). My personal favourite is done with Prototype because I use it a lot and it is pretty simple: &#60;link rel="stylesheet" type="text/css" media="none" href="/css/safari.css" id="safari" /&#62; &#60;script type="text/javascript"&#62; // matches all safari/chrome versions if(Prototype.Browser.WebKit) { $('safari').media="all"; } [...]]]></description>
			<content:encoded><![CDATA[<p>There are some selector hacks out there, but I don&#8217;t like them &#8211; ie: (<em style="color: grey">@media screen and (-webkit-min-device-pixel-ratio:0) {}</em>). My personal favourite is done with Prototype because I use it a lot and it is pretty simple:</p>
<pre name="code" class="javascript:nocontrols:nogutter">
&lt;link rel="stylesheet" type="text/css" media="none" href="/css/safari.css" id="safari" /&gt;
&lt;script type="text/javascript"&gt;
	// matches all safari/chrome versions
	if(Prototype.Browser.WebKit) {
		$('safari').media="all";
	}
&lt;/script&gt;
</pre>
<p>If you set the <code>media</code> attribute to <code>none</code> &#8211; no media device will display it. By adding the little if statement, you can check if the Browser is WebKit, which is the engine name of safari or chrome and alter the <code>media</code> value to <code>all</code>. </p>
<p>If you do not use prototype, you can do it like this:</p>
<pre name="code" class="javascript:nocontrols:nogutter">
&lt;script type="text/javascript"&gt;
	// targets safari 3 - not 2!
	if(window.devicePixelRatio) {
		document.getElementById('safari')media="all";
	}

	// targets all safari or better said webKit engines
	if(navigator.userAgent.indexOf('AppleWebKit/') > -1) {
		document.getElementById('safari')media="all";
	}

	// prototype way + targeting old and new webKit with two stylesheets
	if(Prototype.Browser.WebKit) {
		var mySafari = (window.devicePixelRatio) ? 'safari3' : 'safari2';
		document.getElementById(mySafari)media="all";
	}
&lt;/script&gt;
</pre>
<p>Note, this method shouldn&#8217;t be used for &#8220;accessible&#8221; Websites, because it relies on javascript. You can do it then serverside as well by &#8220;sniffing&#8221; the UserAgent from the HTTP Request and add your little switch there &#8211; whereas this isn&#8217;t a 100% safe method though, because some people alter their UserAgent strings and there are tons of vendors/versions thus your detection may fail from time to time.</p>
<p>An alternative to this way is to load the needed script on the fly, so you can reduce a HTTP Request, by writing the link tag dynamically to your document. However &#8211; the describe method above is shorter <img src='http://blog.aint-no-soul.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aint-no-soul.com/css/2008-11-05/simple-method-to-add-a-safari-css/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>CSS 2.1 &#8211; some interesting things about specifications</title>
		<link>http://blog.aint-no-soul.com/css/2007-08-07/css_21_-_some_interesting_things_about_specifications/</link>
		<comments>http://blog.aint-no-soul.com/css/2007-08-07/css_21_-_some_interesting_things_about_specifications/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 09:44:43 +0000</pubDate>
		<dc:creator>biophonc</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://aint-no-soul.com/code/2007-08-07/css_21_-_some_interesting_things_about_specifications/</guid>
		<description><![CDATA[According to the Specification (4.1.3 Characters and case), identifiers can contain only alphanumerical characters [a-z0-9] and &#8211; big surprise &#8211; ISO 10646 characters U+00A1 and higher, plus the hyphen (-) and underscore (_). That&#8217;s totally new to me and I&#8217;ve never ever seen someone who uses special characters like that for identifiers. Actually this is [...]]]></description>
			<content:encoded><![CDATA[<p>According to the Specification (<a href="http://www.w3.org/TR/CSS21/syndata.html#characters" target="_blank">4.1.3 Characters and case</a>), identifiers can contain only alphanumerical characters [a-z0-9] and &#8211; big surprise &#8211; ISO 10646 characters U+00A1 and higher, plus the hyphen (-) and underscore (_). </p>
<p>That&#8217;s totally new to me and I&#8217;ve never ever seen someone who uses special characters like that for identifiers. Actually this is really bullshit, because no Validator supports identifiers like that. For instance: when you are going to use the ampersand character, HTML expects an html-entity and will fail. The Validation will not fail, when you use the copyright sign (ï¿½?Â© = U+00A9) &#8211; but it will fail, when you not write the ampersand as html-entity (&amp;amp;)</p>
<p>Here is an example CSS which will be displayed correctly in most browsers (ff2, ie7, opera9, safari3):</p>
<pre name="code" class="css">
.A\&#038;A {
    background-color: #D1EDEC;
    border: 1px solid #92C0DA
}
.A\26B {
    background-color: #D1EDEC;
    border: 1px solid #92C0DA
}
.A\000026C {
    background-color: #D1EDEC;
    border: 1px solid #92C0DA
}
</pre>
<p>Nevertheless: it will fail the ï¿½all mightyï¿½ <a href="http://validator.w3.org">validator.w3.org</a> test, when the class names are assigned to elements (because of the ampersand). I perfectly understand why the ampersand fails, but IMHO I think it shouldn&#8217;t be allowed plus [a-z0-9] and hyphens should be enough to describe the class/id.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aint-no-soul.com/css/2007-08-07/css_21_-_some_interesting_things_about_specifications/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>opera background image and inherit height bug</title>
		<link>http://blog.aint-no-soul.com/css/2007-07-09/opera_background_image_and_inherit_height_bug/</link>
		<comments>http://blog.aint-no-soul.com/css/2007-07-09/opera_background_image_and_inherit_height_bug/#comments</comments>
		<pubDate>Mon, 09 Jul 2007 20:27:28 +0000</pubDate>
		<dc:creator>biophonc</dc:creator>
				<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://aint-no-soul.com/css/2007-07-09/opera_background_image_and_inherit_height_bug/</guid>
		<description><![CDATA[If you have a layer which has the css property height: inherit; and also a repeating background image, you might find yourself lost with opera. You try and try so hard but you can&#8217;t get the background work. You might want to delete the height: inherit; property and eventually everything works fine. This may happens, [...]]]></description>
			<content:encoded><![CDATA[<p>If you have a layer which has the css property height: inherit; and also a repeating background image, you might find yourself lost with opera. You try and try so hard but you can&#8217;t get the background work. You might want to delete the height: inherit; property and eventually everything works fine. This may happens, when you use floating layouts. This applies even so, if you have no height defined for the parent div container. </p>
<p>It took me about 30 minutes to figure this out.<br />
I didn&#8217;t needed the height property and so I am lucky <img src='http://blog.aint-no-soul.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aint-no-soul.com/css/2007-07-09/opera_background_image_and_inherit_height_bug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tested and to be tested</title>
		<link>http://blog.aint-no-soul.com/personal/2006-12-14/tested-and-to-be-tested/</link>
		<comments>http://blog.aint-no-soul.com/personal/2006-12-14/tested-and-to-be-tested/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 11:10:07 +0000</pubDate>
		<dc:creator>biophonc</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[digital life]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://aint-no-soul.com/personal/2006-12-14/tested-and-to-be-tested/</guid>
		<description><![CDATA[Yesterday I&#8217;ve downloaded and tried to install DSL (Damn Small Linux) as X as well running it as Live-CD. The latest release from DSL uses for somehow an old Qemu release and I couldn&#8217;t start the graphical interface. After downloading the latest Qemu release for Windows and replacing some files witting the embedded version I [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday I&#8217;ve downloaded and tried to install <a title="damn small linux" href="http://www.damnsmalllinux.org">DSL</a> (Damn Small Linux) as X as well running it as <a title="wiki link to Live CD definition" target="_blank" href="http://en.wikipedia.org/wiki/LiveDistro">Live-CD</a>. The latest release from DSL uses for somehow an old <a title="qemu for windows" target="_blank" href="http://www.h7.dion.ne.jp/~qemu-win/">Qemu</a> release and I couldn&#8217;t start the graphical interface. After downloading the latest Qemu release for Windows and replacing some files witting the embedded version I was able to start it. Actually I liked it. It&#8217;s a handy dist for USB-like-devices. I wish my <a title="open wrt site" target="_blank" href="http://openwrt.org/">OpenWRT</a> would run in graphic mode and the router were easier to extend with an USB-HD. That would be really nice &#8211; something like DSL on my <a title="my linksys router ;)" target="_blank" href="http://www.linksys.com/servlet/Satellite?c=L_Product_C2&#038;childpagename=US%2FLayout&#038;cid=1148435315453&#038;pagename=Linksys%2FCommon%2FVisitorWrapper">Linksys</a> with an additional 1GB USB Stick. Well, there is a web server on OpenWRT but I configure everything via ssh.  However when I checked out <a title="project site from Dillo" target="_blank" href="http://www.dillo.org/">Dillo</a>, I figured out there&#8217;s no CSS support and no java script. It gave me a good insight into how sites can look like. When I develop sites, I use to check them with JS, CSS and images disabled &#8211; but I never thought that there are still some browsers besides lynx, who run with minimal features like Dillo. A lil bit annoying was the non ability to access my dvd from witting DSL. I recon it&#8217;s because of the emu but I am not pretty sure <img src='http://blog.aint-no-soul.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Today I&#8217;ll try to unlock my PDA (MDA Pro/HTC Universal). I&#8217;ve still found a patch some days ago to do it &#8211; but I guess it can be tricky. And no &#8211; I will not try to install some linux dist on it <img src='http://blog.aint-no-soul.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;ll be in London over New Year and got a second SIM card but atm my MDA doesn&#8217;t like non t-mobile cards. I really hate manufactures/retailers for »locking« things.</p>
<p>Another funny thing will be, to write a redirect for a WP Site. Of course it&#8217;s pretty easy to simply redirect but I want 301 Redirects for every article. I guess it will take an hour including moving WP to another domain. I have something on my mind but I guess I have to check out the <a title="cheat sheet" target="_blank" href="http://www.ilovejackdaniels.com/apache/mod_rewrite-cheat-sheet/">mod rewrite cheat sheet</a> again. Capturing simple Get Requests is easy, but Permalinks,&#8230; I never tried to capture it.</p>
<p>Capture > <a title="captcha definition on wiki" target="_blank" href="http://en.wikipedia.org/wiki/Captcha">Captcha</a>! Today I&#8217;ll write a little captcha class for my work &#8211; because we still need such class &#8211; to inhibit bots spaming some sites. I&#8217;m not really sure how to do it &#8211; I mean to write it sophisticated and 100% bot save. There will be no 100% I guess but it&#8217;s worth a try.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aint-no-soul.com/personal/2006-12-14/tested-and-to-be-tested/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Theme called Womenized</title>
		<link>http://blog.aint-no-soul.com/personal/2006-06-02/new_theme_called_womenized/</link>
		<comments>http://blog.aint-no-soul.com/personal/2006-06-02/new_theme_called_womenized/#comments</comments>
		<pubDate>Thu, 01 Jun 2006 23:22:10 +0000</pubDate>
		<dc:creator>biophonc</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://aint-no-soul.com/personal/2006-06-02/new_theme_called_womenized/</guid>
		<description><![CDATA[Don&#8217;t ask me why, but Damiano called me a womanizer last weekend and this word was allways on my mind until then, so I&#8217;ve choosen the probaly most idiotic name ever: womenized! Anyhow I have to credit someone: The owner of the picture with the very nice woman: Slastyonoff from domai.com because I have asked [...]]]></description>
			<content:encoded><![CDATA[<p>Don&#8217;t ask me why, but Damiano called me a womanizer last weekend and this word was allways on my mind until then, so I&#8217;ve choosen the probaly most idiotic name ever: womenized!</p>
<p>Anyhow I have to credit someone: The owner of the picture with the very nice woman: Slastyonoff from <a target="_blank" href="http://www.domai.com">domai.com</a> because I have asked him once to use this wonderfull picture of Aneli and he permitted it! Thanks mate!</p>
<p>There are still some bugs within the template tags for wordpress, or better said: I have to bug fix some stuff I&#8217;ve did. But therefore live journal and open ID users can also post with their ID on my blog;) I love the open ID feature and *big props* to the creator of this <a target="_blank" href="http://the-notebook.org/12/01/2006/openid-comments-for-wordpress/">wonderfull plugin</a>!</p>
<p>Whatsoever! I hope you like my new WP theme!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aint-no-soul.com/personal/2006-06-02/new_theme_called_womenized/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Alternate rollover</title>
		<link>http://blog.aint-no-soul.com/css/2006-03-09/alternate-rollover/</link>
		<comments>http://blog.aint-no-soul.com/css/2006-03-09/alternate-rollover/#comments</comments>
		<pubDate>Thu, 09 Mar 2006 15:14:13 +0000</pubDate>
		<dc:creator>biophonc</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://aint-no-soul.com/css/2006-03-09/16/</guid>
		<description><![CDATA[This article is about an alternate rollover technique. It&#8217;s not very popular until now, so I&#8217;ll try to promote it a little bit, because I like it. The regular technique to change an image, is to use JavaScript. However: This technique requires instead of JavaScript only some CSS. The good things about this one are: [...]]]></description>
			<content:encoded><![CDATA[<p>This article is about an alternate rollover technique. It&#8217;s not very popular until now, so I&#8217;ll try to promote it a little bit, because I like it. The regular technique to change an image, is to use JavaScript. However: This technique requires instead of JavaScript only some CSS.<span id="more-16"></span></p>
<p>The good things about this one are:</p>
<ul>
<li>no need of preloading images</li>
<li>no JavaScript required</li>
<li>you can easily provide alternate Text-Links</li>
</ul>
<p>The main trick is, to change the background position of an image. This can be done via a hover state in css:</p>
<pre name="code" class="css">
#myid {
background-image: url(someImage.jpg);
background-position: top;
}
#myid:hover {
background-position: bottom;
}
</pre>
<p>The only thing you need to do, which is the extra time, you have to create and provide all roll over states in one single image. And you need to define for your ï¿½aï¿½ element a height. However, this method is kind of cool, because it works with mostly all new user agents and I like sites working without CSS, so we have to provide some alternate Text-Links. This can be done like this:</p>
<pre name="code" class="html">
<ul id="nav">
<li><a id="myid" href="http://example.com/yourfile.html"><strong>Text-Link</strong></a></li>
</ul>
</pre>
<p>And the CSS:</p>
<pre name="code" class="css">
#nav strong {
position: abosulte;
top: -4000px;
bottom: -4000px;
}
</pre>
<p>If you wonder about the absolute position, then let me tell you, that &#8220;display:none&#8221; is no be nice method for screenreaders and also provides some possibility for alternate positioning.</p>
<p>To see tis method in full effect, see this <a title="opens up in a popup" onclick="popUp('/examples/css-alternate-rollover/',400,400);" href="javascript:;">example</a>(opens up in a popup).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.aint-no-soul.com/css/2006-03-09/alternate-rollover/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

