CSS - Just A Theory - Preloading Css?
I've noticed that now that I separate markup and presentation that my CSS files are significantly larger. For instance just one of my pages worth of presentation declarations is 300 lines long.
Given an extremely large site, do you think you'd ever have to get to the point where you'd preload the CSS file? -B Similar TutorialsHi, my rollover image for my table does not work. It does not seem to preload the images as expected, so the rollover effect does not look good. There seems to be some type of a lag when I rollover. I don't understand why? Below is the code. It can also be found at http://members.lycos.co.uk/eflix/junk.html Code: <html> <head> <SCRIPT language="JavaScript"> if (document.images){ var preloadPic1 = new Image(); preloadPic1.src = 'http://members.lycos.co.uk/eflix/TBOFF.gif'; var preloadPic2 = new Image(); preloadPic2.src = 'http://members.lycos.co.uk/eflix/TBON.gif;'; } </SCRIPT> <STYLE> .topbar {background-image:url('http://members.lycos.co.uk/eflix/TBOFF.gif'); } .topbar2 {background-image:url('http://members.lycos.co.uk/eflix/TBON.gif;');} </STYLE> </head> <body> <br><br><br><br><br><br><br> <table cellspacing=0 cellpadding=0 border=0 width=770> <tr><td> <table cellspacing=0 cellpadding=0 width=770 border=1 bordercolor=#6DBEE8 style="border-collapse: collapse; border-width: 1px;"> <tr height=20> <td class="topbar" align=center onMouseOver="className='topbar2'" onMouseOut="className='topbar'"> <a class="topbarlink" href="">A</a> </td> <td class="topbar" align=center onMouseOver="className='topbar2'" onMouseOut="className='topbar'"> <a class="topbarlink" href="">B</a> </td> <td class="topbar" align=center onMouseOver="className='topbar2'" onMouseOut="className='topbar'"> <a class="topbarlink" href="">C</a> </td> <td class="topbar" align=center onMouseOver="className='topbar2'" onMouseOut="className='topbar'"> <a class="topbarlink" href="">D</a> </td> <td class="topbar" align=center onMouseOver="className='topbar2'" onMouseOut="className='topbar'"> <a class="topbarlink" href="">E</a> </td> <td class="topbar" align=center onMouseOver="className='topbar2'" onMouseOut="className='topbar'"> <a class="topbarlink" href="">F</a> </td> <td class="topbar" align=center onMouseOver="className='topbar2'" onMouseOut="className='topbar'"> <a class="topbarlink" href="">G</a> </td> <td class="topbar" align=center onMouseOver="className='topbar2'" onMouseOut="className='topbar'"> <a class="topbarlink" href="">H</a> </td> </tr> </table> </td></tr> </table> </body> </html> I was working on a site today and I noticed a weird bug in IE 7. Couldn't find anything similar on the net, so I'll post here. PseudoCSS: Code: #topdiv{ width:960px; } #bottomdiv{ float: left; margin-left:15px; width: 300px; } .previous a{ background: url('images/previous.png') no-repeat; } .previous a:hover { background-position:0 -62px; } PseudoHTML: Code: <div id="topdiv"><a href="" class="previous">Link</a></div> <div id="bottomdiv">Content</div> When rolling over the image in topdiv, bottomdiv loses it's 15px margin-left and butts up against the left border of the parent div (Only in IE7). I removed the margin-left of bottomdiv and replaced it with relative positioning, left:15px. This fixed the issue and works cross browser. I guess my question is: is relative positioning "safer" than margins on floated elements? Quoted from a recent post " Using a server-side language or JavaScript to send different stylesheets to different browsers is a bad practice. It tends to cause more problems than it solves. " Enlighten me on "why this is considered a bad practice " -- or even better yet, what would u suggest is a work around. Specifically ive found that the use of absolute positioning tends to vary on how it works ( or doesn't) , ive narrowed my specific problem down to what seems to be the different browser's assigning a different "meter value" ( for lack of a better term) or size increment for "1px" My test page is essentially "displaying correctly" except offset values seem to produce a varying range of "what 1px really means". IE6 (win) and FF1/2 (win) displays the test page fine - but on IE5.2(mac), Safari (not sure version, but oddly enough this browser gives the closest true values) , and FF1 (mac) seem to "define 1px as either larger or smaller" then whatever their windows counterpart decides. How would you suggest I work around this situation if not with Browser Dection via the use of serverSide / Javascript coding ( which until reading the quoted statement above, i was going to implement). Do Share please ! edit: heres the CSS file, its been validated. The issue is inspecific to my file but related to browser detection. anyway... Code: #totalcontents { z-index : 7; position : relative; } .banner { z-index : 6; position : absolute; top : -1px; z-index : 3; } #introblock { position : relative; } .navigation { z-index : 10; position : absolute; top : -33px; left : 200px; } .smallheadline { z-index: 8; position : absolute; top : -43px; left : -175px; width : 395px; color : #CCFF00; background-color : #333300; padding : 3px; border-style : solid; border-width : 1px; border-color : #999966; font-family : times; font-size : 10pt; } .dropright { z-index: 8; position : absolute; top : -67px; padding : 7px; left : 203px; color : #CCFF00; border-style : solid; border-width : 1px; border-color : #66FF00; background-color : #333300; width : 325px; } .othernews { z-index : 5; position : absolute; top : -276px; left : -175px; width : 390px; color : #FFFFFF; padding : 5px; /*border-style : solid; border-width : 1px; border-color : #CCFF00;*/ } .backdrop { z-index : -1; position : absolute; top : -635px; } html { background-color : #646464; } |