<?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>Gilluminate &#187; CSS</title>
	<atom:link href="http://www.gilluminate.com/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gilluminate.com</link>
	<description>By Jason Gill</description>
	<lastBuildDate>Sat, 28 Jan 2012 21:01:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Using Firebug to Hack TinyMCE</title>
		<link>http://www.gilluminate.com/2010/12/06/using-firebug-to-hack-tinymce/</link>
		<comments>http://www.gilluminate.com/2010/12/06/using-firebug-to-hack-tinymce/#comments</comments>
		<pubDate>Mon, 06 Dec 2010 22:34:47 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[TinyMCE]]></category>

		<guid isPermaLink="false">http://www.gilluminate.com/?p=5812</guid>
		<description><![CDATA[Sometimes we have to use someone else&#8217;s CMS to get our content live. That&#8217;s what I ran into today. The genius that set up this suctom CMS, decided it wasn&#8217;t a good idea to allow the user to have access to the HTML editor that comes with TinyMCE, so at first I thought my ability [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://getfirebug.com/"><img class="alignright size-full wp-image-5814" style="border: 0; margin: 0 0 5px 15px;" src="http://www.gilluminate.com/wp-content/uploads/firebug-large.png" alt="" width="264" height="211" /></a>Sometimes we have to use someone else&#8217;s CMS to get our content live. That&#8217;s what I ran into today. The genius that set up this suctom CMS, decided it wasn&#8217;t a good idea to allow the user to have access to the HTML editor that comes with <a title="Javascript HTML WYSIWYG editor" href="http://tinymce.moxiecode.com/">TinyMCE</a>, so at first I thought my ability to add classes, and custom code was impossible.</p>
<p>It actually is possible with the <a title="puts a wealth of web development tools at your fingertips" href="http://getfirebug.com/">Firebug plugin</a> for Firefox. As you may already know, Firebug allows you to edit HTML and CSS &#8220;live&#8221; on the page. I put &#8220;live&#8221; in quotes, because while the changes automatically appear, they won&#8217;t be stored to the server.</p>
<p>Actually, that&#8217;s not necessarily true either. Using Firebug to edit the HTML within a TinyMCE window, you can then click save in the TinyMCE toolbar and it will actually save, to the server, the HTML that currently exists in that window, including those changes you made using Firebug. An excellent hack that saved me a lot of headache because of someone elses poor implementation. My guess is that it works on other tools similar to TinyMCE. Let me know if you get it working using other CMS tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2010/12/06/using-firebug-to-hack-tinymce/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scriptaculous Autocomplete Page Jump Using Arrow Keys</title>
		<link>http://www.gilluminate.com/2009/01/20/scriptaculous-autocomplete-page-jump-using-arrow-keys/</link>
		<comments>http://www.gilluminate.com/2009/01/20/scriptaculous-autocomplete-page-jump-using-arrow-keys/#comments</comments>
		<pubDate>Tue, 20 Jan 2009 21:02:30 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Scriptaculous]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/?p=5306</guid>
		<description><![CDATA[When you use overflow:auto in your css in conjunction with Scriptaculous&#8217; Autocomplete, there is a bug that makes the entire page jump around when you use the arrow keys on your keyboard to navigate up and down through the suggestion list. This bug normally appears only when the page itself is long enough to require [...]]]></description>
			<content:encoded><![CDATA[<p>When you use overflow:auto in your css in conjunction with Scriptaculous&#8217; Autocomplete, there is a bug that makes the entire page jump around when you use the arrow keys on your keyboard to navigate up and down through the suggestion list. This bug normally appears only when the page itself is long enough to require a scroll bar.</p>
<p>I managed to come up with a very clean working solution by hacking the controls.js file that comes with scriptaculous. The solutions requires replacing the <em>markPrevious</em> and <em>markNext</em> functions and adding a small line of code to the <em>updateChoices</em> function.</p>
<p>Currently, <em>markPrevious</em> and <em>markNext</em> are telling the page to jump around like that, and I&#8217;m not sure why! As far as I can tell (please let me know otherwise) this solution could be included in the scriptaculous without breaking a thing (hint, hint to the scriptaculous team).</p>
<p>To implement the solution, replace:</p>
<pre>markPrevious: function() {
 if(this.index &gt; 0) this.index--;
  else this.index = this.entryCount-1;
   this.getEntry(this.index).scrollIntoView(true);
},

markNext: function() {
 if(this.index &lt; this.entryCount-1) this.index++;
  else this.index = 0;
  this.getEntry(this.index).scrollIntoView(false);
},</pre>
<p>With:</p>
<pre>markPrevious: function() {
 if(this.index &gt; 0) {this.index--;}
 else {
  this.index = this.entryCount-1;
  this.update.scrollTop = this.update.scrollHeight;
 }
 selection = this.getEntry(this.index);
 selection_top = selection.offsetTop;
 if(selection_top &lt; this.update.scrollTop){
  this.update.scrollTop = this.update.scrollTop-selection.offsetHeight;
 }
},

markNext: function() {
 if(this.index &lt; this.entryCount-1) {this.index++;}
 else {
  this.index = 0;
  this.update.scrollTop = 0;
 }
 selection = this.getEntry(this.index);
 selection_bottom = selection.offsetTop+selection.offsetHeight;
 if(selection_bottom &gt; this.update.scrollTop+this.update.offsetHeight){
  this.update.scrollTop = this.update.scrollTop+selection.offsetHeight;
 }
},</pre>
<p>Now find the <em>updateChoices</em> function and just after the code this.stopIndicator(); add this.update.scrollTop = 0; so that it looks like this:</p>
<pre>this.stopIndicator();
this.update.scrollTop = 0;
this.index = 0;</pre>
<p>I&#8217;ve tested in FF 2.0.0.4, FF 3.0.5, Chrome 1.0.154.43, Safari 3.2.1, Opera 9.5.1, IE 7.0.5730.13 and IE 6.0.2600 without problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/01/20/scriptaculous-autocomplete-page-jump-using-arrow-keys/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
		</item>
		<item>
		<title>IE6 Empty Div spacing issue</title>
		<link>http://www.gilluminate.com/2009/01/09/ie6-empty-div-spacing-issue/</link>
		<comments>http://www.gilluminate.com/2009/01/09/ie6-empty-div-spacing-issue/#comments</comments>
		<pubDate>Fri, 09 Jan 2009 18:47:55 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/?p=5304</guid>
		<description><![CDATA[It has become fairly common practice to use CSS to fill the contents of an empty DIV tag. For example, I&#8217;m working on a project now that uses the following DIV: &#60;div id="main_nav_top_shadow"&#62;&#60;/div&#62; And with CSS I&#8217;m giving that div a fixed height and a repeating background image that creates the appearance of a shadow [...]]]></description>
			<content:encoded><![CDATA[<p>It has become fairly common practice to use CSS to fill the contents of an empty DIV tag. For example, I&#8217;m working on a project now that uses the following DIV:</p>
<pre>&lt;div id="main_nav_top_shadow"&gt;&lt;/div&gt;</pre>
<p>And with CSS I&#8217;m giving that div a fixed height and a repeating background image that creates the appearance of a shadow being cast upward on top of my main nav.</p>
<pre>#main_nav_top_shadow {
height: 6px;
background-image: url(../images/main_nav_top_shadow_x.gif);
background-repeat: repeat-x;
}</pre>
<p>The problem is that IE6 thinks that the empty space consists of text. Empty text, but text nonetheless. So what happens is that whatever the default font size for that particular DIV becomes the height of the DIV, rather than my specified height: 6px; in the CSS. There are 2 fixes for this problem, one of which I&#8217;ve been using forever and another I just stumbled upon and which prompted me posting both solutions. Both are fairly easy.</p>
<p><strong>Solution #1</strong><br />
This solution is the one I&#8217;ve been using forever. Basically, you just choose a font size that&#8217;s smaller than the height you are setting.</p>
<pre>#main_nav_top_shadow {
height: 6px;
font-size: 1px;
background-image: url(../images/main_nav_top_shadow_x.gif);
background-repeat: repeat-x;
}</pre>
<p>That usually does the trick. But this has always seemed wrong. I can&#8217;t say why, it just feels weird. Maybe it&#8217;s the fact that I&#8217;m setting a font size for no text at all.</p>
<p><strong>Solution #2</strong><br />
This solution I found this week and actually makes more sense to me. It involves using simple HTML comments. And not the [if IE] stuff either. Just a plain simple comment:</p>
<pre>&lt;div id="main_nav_top_shadow"&gt;&lt;!--Leave this empty--&gt;&lt;/div&gt;</pre>
<p>It does not matter what text you put in there. It&#8217;s not any command to the browser or anything. But it works, by darn! I guess IE6 feels more comfortable not having anything in that div, as long as you put a comment there.</p>
<p>Not only does that work, but it is the right thing to do. After all, the next guy to come along and read your code might see an empty DIV and be tempted to remove it because it contains no content. This way you can leave some nice little message pleading the proverbial programmer to leave well enough alone!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2009/01/09/ie6-empty-div-spacing-issue/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Safari CSS Hack</title>
		<link>http://www.gilluminate.com/2008/05/02/safari-css-hack/</link>
		<comments>http://www.gilluminate.com/2008/05/02/safari-css-hack/#comments</comments>
		<pubDate>Fri, 02 May 2008 20:26:41 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://blog.gilluminate.com/2008/05/02/safari-css-hack/</guid>
		<description><![CDATA[I just came across an article about how to write CSS only visible to Safari 3.0 and Opera 9. It saved my life so I thought I&#8217;d share the love! It was especially useful to me while trying to use &#8216;display: inline;&#8217; to create a horizonal nav out of an unordered list &#60;ul&#62;. It turns [...]]]></description>
			<content:encoded><![CDATA[<p>I just came across an article about how to write <a href="http://themechanism.com/blog/2008/01/08/safari-css-hack-redux/" title="Safari CSS Hack">CSS only visible to Safari 3.0 and Opera 9</a>. It saved my life so I thought I&#8217;d share the love! It was especially useful to me while trying to use &#8216;display: inline;&#8217; to create a horizonal nav out of an unordered list &lt;ul&gt;. It turns out Safari and Opera would prefer to see &#8216;display: inline-block;&#8217; instead, which the <a href="http://www.quirksmode.org/css/display.html" title="CSS display declaration table">other browsers don&#8217;t like</a> at all. Now before you go test this, I will say that the only reason &#8216;display: inline;&#8217; wasn&#8217;t working for me in Safari/Opera is because I&#8217;m trying to throw a background-color behind each list item &lt;li&gt; and pad it so that the color flows around the outside. Safari/Opera wouldn&#8217;t let me pad the list items unless they were set to inline-block.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2008/05/02/safari-css-hack/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>piped navigation with css</title>
		<link>http://www.gilluminate.com/2007/11/21/piped-navigation-with-css/</link>
		<comments>http://www.gilluminate.com/2007/11/21/piped-navigation-with-css/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 16:22:00 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://blog.gillumiante.com/2007/11/21/piped-navigation-with-css</guid>
		<description><![CDATA[You&#8217;ve seen piped navigation before. Typically found in the footer of websites, appearing as a list of links separated by a &#124; (pipe). There&#8217;s a nice way to fake piping using really clean, standards friendly code along with our friend, CSS. I&#8217;ve been using this method for years now and am quite happy with it. [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve seen piped navigation before. Typically found in the footer of websites, appearing as a list of links separated by a | (pipe).</p>
<p>There&#8217;s a nice way to fake piping using really clean, standards friendly code along with our friend, <abbr title="Cascading Style Sheets">CSS</abbr>. I&#8217;ve been using this method for years now and am quite happy with it. Basically, you start by creating a typical unordered list containing the list of links.</p>
<pre>&lt;ul id="piped"&gt;
  &lt;li&gt;&lt;a href="first"&gt;One&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href="second"&gt;Two&lt;/a&gt;&lt;/li&gt;
  &lt;li class="last"&gt;&lt;a href="third"&gt;Three&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>I&#8217;ll explain the class=&#8221;last&#8221; in a minute.</p>
<p>Now in your stylesheet you tell the list to be displayed without any bullets and displayed inline rather than stacked as is the default. You also give each link a nice pad on both the left and right. To fake the pipe, you simply add a border to one side. This is where the class=&#8221;last&#8221; comes in. You don&#8217;t want there to be a border after the last link, so for that class, you can simply set the border to none.</p>
<pre>ul#piped li{
  display: inline;
  border-right: 1px solid #000;
  padding-left: 10px;
  padding-right: 7px;
}
ul#piped li.last{
  border-right: none;
}</pre>
<p>(Realistically, you could also do border-left and class=&#8221;first.&#8221;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2007/11/21/piped-navigation-with-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Using css to center an image with position:absolute</title>
		<link>http://www.gilluminate.com/2006/01/06/using-css-to-center-an-image-with-position-absolute/</link>
		<comments>http://www.gilluminate.com/2006/01/06/using-css-to-center-an-image-with-position-absolute/#comments</comments>
		<pubDate>Fri, 06 Jan 2006 09:37:49 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://blog.gillumiante.com/2006/01/06/using-css-to-center-an-image-with-position-absolute</guid>
		<description><![CDATA[I ran into an interesting problem yesterday while building a simple web page. I needed to cause the main image at the top of the page to do two things: 1) Be centered on a liquid layout page, so that no matter what size the window the image was centered. 2) &#34;Float&#34; above the design [...]]]></description>
			<content:encoded><![CDATA[<p>I ran into an interesting problem yesterday while building a simple web page. I needed to cause the main image at the top of the page to do two things: 1) Be centered on a liquid layout page, so that no matter what size the window the image was centered. 2) &quot;Float&quot; above the design on it&#8217;s own z-index.</p>
<p>Of course to get the image to be on it&#8217;s own layer, it must be set to position:absolute; but once you give it an absolute position it loses all references to being centered.</p>
<p>I thought I had the solution at one point, until I tested it in IE and it was all wrong. After a few hours of struggling, I finally came up with what now seems like a simple solution:</p>
<p>Adding styles to the image itself was my mistake. In this case I had to wrap the image with a div and give it an id. I then applied the following styles to that div in my stylesheet:</p>
<p class="box">#image {<br />&nbsp; position:absolute;<br />&nbsp; width: 100%;<br />&nbsp; text-align: center;<br />}</p>
<p>The image itself doesn&#8217;t need any other styles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2006/01/06/using-css-to-center-an-image-with-position-absolute/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Large tables inside of CSS two column layout causes problems</title>
		<link>http://www.gilluminate.com/2005/10/12/large-tables-inside-of-css-two-column-layout-causes-problems/</link>
		<comments>http://www.gilluminate.com/2005/10/12/large-tables-inside-of-css-two-column-layout-causes-problems/#comments</comments>
		<pubDate>Wed, 12 Oct 2005 16:36:00 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://blog.gillumiante.com/2005/10/12/large-tables-inside-of-css-two-column-layout-causes-problems</guid>
		<description><![CDATA[I&#8217;ve been dealing with a CSS problem for months. One that almost converted me back to using Table layouts instead of CSS (heaven forbid). Luckily, after many unsuccessful google searches and after much trial and error, I finally come up with a solution. The problems occurs when you try to fit an extremely long table [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been dealing with a CSS problem for months. One that almost converted me back to using Table layouts instead of CSS (heaven forbid). Luckily, after many unsuccessful google searches and after much trial and error, I finally come up with a solution.</p>
<p>The problems occurs when you try to fit an extremely long table inside of a CSS layout. For example, you are designing a web based application that has a navigation bar on the left (column 1) and the main content on the right (column 2). In trying to be a good, upstanding, standards conforming citizen, you design the two column layout using css (<a href="/examples/example1.html">see example</a>).</p>
<p>Everything seems to be working properly, until that fateful moment in which you add a long table. The table is being used properly because it contains the budget report for this month, i.e. not for layout purposes. This long table creates a lot of problems with the typical two column CSS layout. The craziest part about this whole mess is that depending on which browser you are using completely different problems occur (<a href="/examples/example2.html">see example in both IE and Firefox</a>). As you can see from the example, our friend Internet Explorer causes the table to start below the last navigation link. Not only that, but anything above the table seems to disapear. What the devil is IE thinking you might ask? Good question. By viewing the same example in firefox, you will notice that the IE bug does not appear but the table does float right off the mainBody div, past the right border, and does not cause the mainBody to stretch with it&#8217;s contents. What the devil is FF thinking? Also a good question&mdash;fortunately I have a partial answer to this one.</p>
<p>Firefox, and many other standards friendly browsers will cause the table to bleed on outside the mainBody. As far as my Google research can tell me, this is a correct and standards compliant way to display our example. That&#8217;s as much as I know. So to combat the problem, if you are experiencing it, you can add a little &lt;div&gt; around your table and add the following style to it (<a href="/examples/example3.html">see example</a>):</p>
<p class="box">overflow:auto;</p>
<p>Now for the IE problem. The simple solution to this problem, but the one that I cannot find documented anywhere on the web, is to place the following style on your navigation (<a href="/examples/example4.html">see example</a>):</p>
<p class="box">position:absolute;</p>
<p>This will cause the navigation to &quot;float&quot; on a higher plane than the rest of the content and therefore the long table is unaffected by it. Because it appears within the container, it won&#8217;t lose it&#8217;s position unless you add other positioning styles such as <i>top</i> or <i>left</i> so you shouldn&#8217;t use them in this case.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2005/10/12/large-tables-inside-of-css-two-column-layout-causes-problems/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>min-height hack for IE</title>
		<link>http://www.gilluminate.com/2004/10/21/min-height-hack-for-ie/</link>
		<comments>http://www.gilluminate.com/2004/10/21/min-height-hack-for-ie/#comments</comments>
		<pubDate>Thu, 21 Oct 2004 22:37:03 +0000</pubDate>
		<dc:creator>Jason Gill</dc:creator>
				<category><![CDATA[Developer Blog]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Internet Explorer]]></category>

		<guid isPermaLink="false">http://blog.gillumiante.com/2004/10/21/min-height-hack-for-ie</guid>
		<description><![CDATA[If you do table-less designs with CSS, you may have noticed that using float on a DIV won&#8217;t push it&#8217;s container DIV down, so that the container is at least the same height as the floater. For example, on this Blog, the right navigation is formed using float:right but I was having problems when the [...]]]></description>
			<content:encoded><![CDATA[<p>If you do table-less designs with CSS, you may have noticed that using float on a DIV won&#8217;t push it&#8217;s container DIV down, so that the container is at least the same height as the floater. For example, on this Blog, the right navigation is formed using float:right but I was having problems when the text in this box was shorter than the content of my nav bar.</p>
<p>In IE you can use height on the container, but in Firefox, once the content of that container is too long, it runs outside the borders. In Firefox, you can use min-height, but IE doesn&#8217;t recognize it. IE actually handles height the same way firefox handles min-height. So I found a &#8220;hack&#8221; to make it work in both browsers:</p>
<p class="box">#container{min-height:500px}<br />* html #container {height:500px}</p>
<p>I&#8217;m not really sure why it works, but quite frankly, I don&#8217;t care.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gilluminate.com/2004/10/21/min-height-hack-for-ie/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
	</channel>
</rss>

