<?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>CSS &#8211; here&#039;s what I did&#8230;</title>
	<atom:link href="https://www.hereswhatidid.com/category/development/css/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.hereswhatidid.com/</link>
	<description>The Development Blog of Gabe Shackle</description>
	<lastBuildDate>Mon, 05 May 2014 12:51:59 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.4.2</generator>
	<item>
		<title>Be careful with your CSS identifiers (AdBlock is watching!)</title>
		<link>https://www.hereswhatidid.com/2014/05/careful-css-identifiers-adblock-watching/</link>
		
		<dc:creator><![CDATA[Gabe]]></dc:creator>
		<pubDate>Fri, 02 May 2014 15:52:08 +0000</pubDate>
				<category><![CDATA[Browser Quirks]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://www.hereswhatidid.com/?p=557</guid>

					<description><![CDATA[If you notice that page elements are missing from browser to browser with no obvious source, verify that AdBlock is installed and then check that the offending element does not meet the criteria of being an advertisement.  Here is a list of the classes, IDs, and various other selectors that AdBlock currently looks for: #advert1, #advert2, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you notice that page elements are missing from browser to browser with no obvious source, verify that AdBlock is installed and then check that the offending element does not meet the criteria of being an advertisement.  Here is a list of the classes, IDs, and various other selectors that AdBlock currently looks for:</p>
<pre>#advert1,
#advert2,
#advertise,
#advertisement1,
#advertisetop,
#advertising_wrapper,
#advtop,
#adwrapper,
#banner-ad,
#bannerAd,
#bannerAdWrapper,
#banner_topad,
#bannerad,
#bigAd,
#bigad,
#body_ad,
#bottom_ad,
#centerads,
#cmn_ad_tag_head,
#companionAd,
#content-header-ad,
#contentAd,
#content_ads,
#content_adv,
#contentad,
#dart-container-728x90,
#dfp_ad_Entry_728x90,
#dfp_ad_Home_728x90,
#divAd,
#div_prerollAd_1,
#download_ad,
#featuread,
#featured-ads,
#featuredAds,
#footer_ad,
#footer_ads,
#game-ad,
#google_ads_frame,
#google_ads_frame1_anchor,
#google_ads_frame2,
#googlead,
#head-ad,
#header-ads,
#headerAd,
#headerAdContainer,
#header_ad,
#homead,
#ka_adRightSkyscraperWide,
#leaderAd,
#leaderBoardAd,
#leaderboard-ad,
#left_ads,
#leftad,
#leftads,
#logoAd,
#logo_ad,
#mainAd,
#main_ad,
#mpu2,
#mpu2_container,
#mpu_container,
#msad,
#myAd,
#player_ads,
#pre_advertising_wrapper,
#prerollAd,
#promo-ad,
#publicidad,
#reklama,
#rh-ad,
#right_ads,
#right_adsense,
#searchAd,
#search_ads,
#sideAd,
#side_ads,
#sidebar-ads,
#sidebar_ads,
#skybox-ad,
#sponsorAdDiv,
#sponsoredlinks,
#sponsors-home,
#takeover_ad,
#top-ad,
#topAd,
#topAdSpace,
#topAdSpace_div,
#topAdvert,
#topBannerAd,
#top_ad,
#top_ads,
#topad,
#topbannerad,
#videoAd,
.ADBAR,
.AdBody:not(body),
.AdBox,
.AdInfo,
.AdTitle,
.AdvertContainer,
.HomeAds,
.RelatedAds,
.SponsoredContent,
.ad-300x250,
.ad-banner,
.ad-block,
.ad-border,
.ad-btn,
.ad-button,
.ad-cell,
.ad-display,
.ad-enabled,
.ad-holder,
.ad-img,
.ad-inner,
.ad-item,
.ad-leader,
.ad-leaderboard,
.ad-left,
.ad-links,
.ad-right,
.ad-section,
.ad-served,
.ad-sidebar,
.ad-square,
.ad-stack,
.ad-text,
.ad-top,
.ad-unit,
.ad-unit-300-wrapper,
.ad-vertical-container,
.ad-wide,
.ad-wrap,
.ad-wrapper,
.ad160,
.ad300,
.ad728,
.ad90,
.adBlock,
.adBottomBoard,
.adBox,
.adContent,
.adDiv,
.adElement,
.adFrame,
.adFrameCnt,
.adHead,
.adHeader,
.adHeaderblack,
.adHeadline,
.adHolder,
.adHoldert,
.adImg,
.adItem,
.adLink,
.adMiddle,
.adMod,
.adModule,
.adOverlay,
.adPanel,
.adResult,
.adRight,
.adRotator,
.adSpace,
.adSpot,
.adText,
.adTitle,
.adTopHome,
.adWidget,
.adWrap,
.ad_1,
.ad_160,
.ad_160x600,
.ad_2,
.ad_3,
.ad_728x90,
.ad_Right,
.ad_body,
.ad_container,
.ad_description,
.ad_global_header,
.ad_head_rectangle,
.ad_header,
.ad_item,
.ad_leaderboard,
.ad_line,
.ad_middle,
.ad_outer,
.ad_promo,
.ad_slug_table,
.ad_space,
.ad_text,
.ad_title,
.ad_trick_header,
.ad_wrap,
.ad_wrapper,
.ad_zone,
.adarea,
.adbanner,
.adbar,
.adbottom,
.adbutton,
.adcolumn,
.adcont,
.addiv,
.adframe,
.adheader,
.adholder,
.adinfo,
.adlink,
.adlist,
.admain,
.admiddle,
.adright,
.adrow1,
.adrow2,
.ads-area,
.ads-col,
.ads-header,
.ads-holder,
.ads-inline,
.ads-item,
.ads-section,
.ads-title,
.ads-top,
.ads1,
.adsBlock,
.ads_catDiv,
.ads_div,
.ads_top,
.ads_wrapper,
.adsbottombox,
.adsbox,
.adsbygoogle,
.adscontainer,
.adshome,
.adside,
.adslot_blurred,
.adspace,
.adtile,
.adtop,
.adv_300,
.advert-block,
.advert-box,
.advert-container,
.advert-content,
.advert-horizontal,
.advert2,
.advertColumn,
.advertContainer,
.advertLink,
.advertText,
.advert_container,
.advert_list,
.advertbox,
.advertisement-1,
.advertisement-swimlane,
.advertiser,
.advertising_block,
.advertisment,
.advertorial,
.adverts,
.adverttext,
.adwords,
.afs_ads,
.after-post-ad,
.article_ad,
.banner-ads,
.banner300,
.bannerAd,
.banner_728x90,
.banner_ad,
.bannerad,
.block-ad,
.blog-ads,
.bottom-ad,
.bottom-ads,
.bottom-left-ad,
.bottomAds,
.bottom_ad_block,
.box-ads,
.boxad,
.can_ad_slug,
.category-ad,
.change_AdContainer,
.container_ad,
.container_row_ad,
.contentAd,
.content_ads,
.cp-adsInited,
.displayAd,
.featuredAdBox,
.flash-advertisement,
.footer-ad,
.footer-ads,
.footerad,
.forumAd,
.gallery-ad,
.google-sponsored,
.googleAdSense,
.googleAds,
.header-ad,
.headerAd,
.header_ad,
.header_ad_center,
.header_advert,
.headerad,
.headerads,
.home-ad,
.homeAd,
.homead,
.homepage-ad,
.homepage_ads,
.horizontal_ad,
.image-advertisement,
.imgad,
.inner_ad,
.innerad,
.interstitial_ad_wrapper,
.ipsAd,
.item-container-ad,
.leaderboard-ad,
.leaderboard-ads,
.leftAd,
.leftad,
.list-ad,
.logo-ad,
.marketing-ad,
.mid_ad,
.middle_AD,
.module-ad,
.newsAd,
.oasad,
.openx,
.page_ad,
.pfAd,
.player_ad,
.player_hover_ad,
.pm-ad,
.post-ad,
.post_ad,
.post_ads,
.postad,
.premiumAdOverlay,
.premiumAdOverlayClose,
.promoAd,
.publicidad,
.rbRectAd,
.rectangle_ad,
.refreshAds,
.region-top-ad-position,
.reklam,
.reklama,
.reportAdLink,
.right-ad,
.rightAd,
.right_ad,
.right_ads_column,
.rightad,
.rightadv,
.sb_adsNv2,
.searchAds,
.searchad,
.searchads,
.showAd,
.side-ad,
.side-bar-ad-position1,
.single-ad,
.singleAd,
.sky_ad,
.skyscraperAd,
.smallAd,
.small_ad,
.smallads,
.sponsor-box,
.sponsoredLinks,
.sponsorlink,
.text-ad,
.textad,
.textads,
.top-ad,
.topAds,
.top_ad,
.top_ad_div,
.top_ad_wrap,
.top_ads,
.topads,
.tower-ad,
.type_ads_default,
.wideAd,
.withAds,
.wp_bannerize,
.yom-ad,
a[href^="http://ad-emea.doubleclick.net/"],
a[href^="http://ad.doubleclick.net/"],
a[href^="http://adultfriendfinder.com/p/register.cgi?pid="],
a[href^="http://marketgid.com/"],
a[href^="http://mgid.com/"],
a[href^="http://pubads.g.doubleclick.net/"],
a[href^="http://us.marketgid.com/"],
a[href^="http://www.fbooksluts.com/"],
a[href^="http://www.fleshlight.com/"],
a[href^="http://www.google.com/aclk?"],
a[href^="http://www.liutilities.com/"],
a[href^="http://www.socialsex.com/"],
a[href^="http://www.yourfuckbook.com/?"],
a[id^="mg_add"],
div[id^="MarketGid"],
div[id^="div-gpt-ad-"],
iframe[src^="http://ad.yieldmanager.com/"]</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Use Bootstrap 3+ styles within the WordPress admin</title>
		<link>https://www.hereswhatidid.com/2014/02/use-bootstrap-3-styles-within-the-wordpress-admin/</link>
		
		<dc:creator><![CDATA[Gabe]]></dc:creator>
		<pubDate>Sun, 16 Feb 2014 16:29:32 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://www.hereswhatidid.com/?p=525</guid>

					<description><![CDATA[In previous versions of Bootstrap it was a one-step process to localize it to a container element. This would allow you to use Bootstrap within the WordPress admin and not affect the rest of the built-in WordPress styles. After version 3 of Bootstrap this method no longer works as Bootstrap started using more descendant selectors [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>In previous versions of Bootstrap it was a one-step process to localize it to a container element. This would allow you to use Bootstrap within the WordPress admin and not affect the rest of the built-in WordPress styles.</p>
<script src="https://gist.github.com/hereswhatidid/9036684.js"></script>
<p>After version 3 of Bootstrap this method no longer works as Bootstrap started using more descendant selectors that do not translate properly when just wrapped in a container.  Fortunately, the workaround is fairly simple.  First, with this method we need to use the output CSS from Bootstrap rather than the LESS files.  Then, when importing it we pass the <a href="http://lesscss.org/features/#import-options-less" target="_blank">(less) option</a> to force our LESS file to process the imported CSS as though it were also LESS.  This generates the correct class names to constrain your Bootstrap styles to a designated element without affecting the rest of the page.</p>
<script src="https://gist.github.com/hereswhatidid/9029915.js"></script>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Modify the default stylesheet path for WordPress blogs</title>
		<link>https://www.hereswhatidid.com/2012/02/modify-the-default-stylesheet-path-for-wordpress-blogs/</link>
		
		<dc:creator><![CDATA[Gabe]]></dc:creator>
		<pubDate>Fri, 03 Feb 2012 16:36:50 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Snippets]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">https://www.hereswhatidid.com/?p=287</guid>

					<description><![CDATA[Recently I wanted to update a particular WordPress installation to use something other than the theme&#8217;s style.css file as it&#8217;s default CSS document.  Here is the code to enable that:]]></description>
										<content:encoded><![CDATA[<p>Recently I wanted to update a particular WordPress installation to use something other than the theme&#8217;s style.css file as it&#8217;s default CSS document.  Here is the code to enable that:</p>
<pre class="prettyprint linenums">
&lt;?php
function modify_stylesheet_uri(){
$stylesheet_dir_uri = THEMEURI;
$stylesheet_uri = THEMEURI.'/css/styles-screen.css';
return $stylesheet_uri;
}
add_filter("stylesheet_uri", "modify_stylesheet_uri");
?&gt;
</pre>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Update: CSS3 Pie still pretty rough</title>
		<link>https://www.hereswhatidid.com/2011/06/update-css3-pie-still-pretty-rough/</link>
		
		<dc:creator><![CDATA[Gabe]]></dc:creator>
		<pubDate>Fri, 24 Jun 2011 19:19:22 +0000</pubDate>
				<category><![CDATA[Browser Quirks]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IE]]></category>
		<guid isPermaLink="false">https://www.hereswhatidid.com/?p=259</guid>

					<description><![CDATA[After attempting to use the CSS3 Pie method for achieving some CSS3 support in IE browsers I&#8217;ve unfortunately come to the conclusion that it is still far too buggy for any kind of use other than for testing or demonstrations.  It has a pretty significant issue with the way that IE8 and lower hand page [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>After attempting to use the CSS3 Pie method for achieving some CSS3 support in IE browsers I&#8217;ve unfortunately come to the conclusion that it is still far too buggy for any kind of use other than for testing or demonstrations.  It has a pretty significant issue with the way that IE8 and lower hand page zooming in that any background image that you have will remain at it&#8217;s fixed size and simply tile.  <span id="more-259"></span>Here&#8217;s a screenshot showing what my tabbed quotes example looks like after zooming:</p>
<p><img class="alignnone size-full wp-image-260" title="IE Tiling Background Zoom Bug" src="https://www.hereswhatidid.com/wp-content/uploads/2011/06/css3-pie-tile-bug.png" alt="" width="590" height="343" srcset="https://www.hereswhatidid.com/media/2011/06/css3-pie-tile-bug.png 590w, https://www.hereswhatidid.com/media/2011/06/css3-pie-tile-bug-580x337.png 580w" sizes="(max-width: 590px) 100vw, 590px" /></p>
<p>Here are a few other issues that I&#8217;ve run into as well:</p>
<ol>
<li><strong>Noticeable delay on style rendering when page first loads.</strong> When you first load a page using the CSS3 Pie fix there is a small delay before those CSS3 properties are put in place.  This delay increases with every element that has some type of CSS3 style applied to it.  So if you wanted to round the corners on 100 divs on a single page you could be seeing nearly a full half-second delay before those are rendered on the screen.  It appears to be affected purely by machine speed so even people with a very fast internet connection will experience a delay unless they&#8217;re on a powerful machine.</li>
<li><strong>Many &#8220;position: relative&#8221; hacks required on more complex layouts.</strong> The more complex your styling gets the more you have to utilize the &#8220;position: relative&#8221; fix that is recommended on their site to trigger the proper layout method in IE.  This becomes extremely cumbersome as you go on with a layout as it isn&#8217;t necessarily used in the same elements every time, which leads to a lot of wasted time hunting down the particular element which needs the style applied to it.</li>
<li><strong>Sometimes it just doesn&#8217;t work.</strong> Occasionally a page will load and the CSS3 Pie will not load at all this leaving it in the default styles.  This happens infrequently but the fact that it happens at all seals the deal on whether or not I would feel safe using this method for anything other than a proof of concept or demonstration site.</li>
</ol>
<p>I&#8217;m sure the problems with CSS3 Pie are purely related to having to work around the huge amount of shortcomings within the IE browser and I applaud the author for getting it this far.  For now, though, I would still recommend against using this for any type of production work.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Google News style floating sidebar</title>
		<link>https://www.hereswhatidid.com/2011/02/google-news-style-floating-sidebar/</link>
					<comments>https://www.hereswhatidid.com/2011/02/google-news-style-floating-sidebar/#comments</comments>
		
		<dc:creator><![CDATA[Gabe]]></dc:creator>
		<pubDate>Mon, 28 Feb 2011 03:34:09 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<guid isPermaLink="false">https://www.hereswhatidid.com/?p=244</guid>

					<description><![CDATA[I noticed a subtle but nice feature on the Google News main page recently.  The left-hand navigation that has the various section headings remains fixed to the top left area as you scroll down but it does not overlap the top banner area.  Also, if your browser window is too small to fit the entire [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I noticed a subtle but nice feature on the Google News main page recently.  The left-hand navigation that has the various section headings remains fixed to the top left area as you scroll down but it does not overlap the top banner area.  Also, if your browser window is too small to fit the entire navigation vertically, when you mouseover the navigation area a set of vertical scroll bars appears.  After a little digging it turns out they did this with a combination of CSS and JavaScript.  Here&#8217;s a simple demo I&#8217;ve set up that illustrates how I believe they achieved the effect.</p>
<p><span id="more-244"></span><br />
Initially, the sidebar area is set to a non-fixed position.  In my example I&#8217;m just floating it to the left of the main content area.  It also has overflow set to hidden.  Here is the CSS for the sidebar:</p>
<pre class="prettyprint linenums">
&lt;style type="text/css"&gt;
#sidebar { float: left; width: 180px; margin: 10px 0 0 0; font-size: 11px; line-height: 15px; }
#sidebar #pinned { width: 180px; height: 100%; overflow-y: hidden; }
#sidebar #pinned.pin-set { position: fixed; height: 100%; top: 0px; z-index: 99; }
#sidebar:hover #pinned { overflow-y: auto !important; }
&lt;/style&gt;
</pre>
<p>The pin-set class is what I&#8217;ll apply to the sidebar content area (#pinned) when the user scrolls far enough down that the header is covered.  Here is the JavaScript required for that effect.  I&#8217;m using jQuery for simplicity of selectors and events:</p>
<pre class="prettyprint linenums">
&lt;script type="text/javascript"&gt;
(function($) {
$(function() {
var int_sideheight = $(window).height() - $('#header').height() - 10;
$('#pinned').css('height',int_sideheight+'px');
$(window).scroll(function() {
if ($(this).scrollTop() &gt; $('#header').height()) {
$('#pinned').addClass('pin-set').css('height','100%');
} else {
var int_sideheight = $(window).height() - $('#header').height() - 10;
$('#pinned').removeClass('pin-set').css('height',int_sideheight+'px');
}
});
});
})(jQuery);
&lt;/script&gt;
</pre>
<p>What I&#8217;m doing is checking to seel when the scrollTop() is greater than the height of the header area. If it is, then apply that pin-set class to the sidebar navigation area.  If it isn&#8217;t, I&#8217;m clearing the class so that the sidebar area will always remain below the header area.  The mouseover scroll bar effect is purely CSS-driven.</p>
<p><a href="https://www.hereswhatidid.com/coding/fixedsidebar/sidebar.php" target="_blank">View a working demo of this code here.</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hereswhatidid.com/2011/02/google-news-style-floating-sidebar/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Use CSS3 PIE for enabling CSS3 in IE</title>
		<link>https://www.hereswhatidid.com/2011/02/use-css3-pie-for-enabling-css3-in-ie/</link>
					<comments>https://www.hereswhatidid.com/2011/02/use-css3-pie-for-enabling-css3-in-ie/#comments</comments>
		
		<dc:creator><![CDATA[Gabe]]></dc:creator>
		<pubDate>Sat, 12 Feb 2011 14:44:45 +0000</pubDate>
				<category><![CDATA[Browser Quirks]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[IE]]></category>
		<guid isPermaLink="false">https://www.hereswhatidid.com/?p=191</guid>

					<description><![CDATA[I recently ran across this Internet Explorer CSS3 workaround that uses a HTC file to solve the majority of my CSS3 woes when it comes to developing cross-browser layouts.  Rounded corners, drop shadows, gradients, rgba, multiple backgrounds and even PNG transparency support are all solved with a simple (mostly simple) bit of CSS and the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I recently ran across this Internet Explorer CSS3 workaround that uses a HTC file to solve the majority of my CSS3 woes when it comes to developing cross-browser layouts.  Rounded corners, drop shadows, gradients, rgba, multiple backgrounds and even PNG transparency support are all solved with a simple (mostly simple) bit of CSS and the HTC file they&#8217;ve developed.<span id="more-191"></span>The official site for this fix is here:</p>
<p><a href="http://css3pie.com/" target="_blank">http://css3pie.com/</a>/</p>
<p>I&#8217;ve set up a working demo of the code described below here:</p>
<p><a href="/coding/csspie/csspie.html" target="_blank">View Demo</a></p>
<p><a href="/codind/csspie/csspie-tabs.zip">Download Source Files</a></p>
<p>I tried this out on a new project that involved creating a tab-style content box with rounded corners.  Normally this would involve either using image sprites or living with the fact that IE-based browsers will not be able to render the corners as the designer wanted them.</p>
<p>Here&#8217;s a screenshot of the basic tabbed content boxes as they are rendered in Internet Explorer 6 and Internet Explorer 7/8.  I lumped 7 and 8 together since they were nearly identical except for some very minor font anti-aliasing differences.</p>
<h3>Before CSS3 PIE</h3>
<h3>Internet Explorer 6</h3>
<p><img class="alignnone size-full wp-image-198" title="IE 6 Before CSS3 PIE" src="https://www.hereswhatidid.com/wp-content/uploads/2011/02/css-pie-ie6-before.png" alt="IE 6 Before CSS3 PIE" width="520" height="389" /></p>
<h3>Internet Explorer 7 &amp; 8</h3>
<p><img class="alignnone size-full wp-image-200" title="IE 7 &amp; 8 Before CSS3 PIE" src="https://www.hereswhatidid.com/wp-content/uploads/2011/02/css-pie-ie78-before.png" alt="IE 7 &amp; 8 Before CSS3 PIE" width="520" height="389" /></p>
<h3>After CSS3 PIE</h3>
<h3>Internet Explorer 6</h3>
<p><img class="alignnone size-full wp-image-197" title="IE 6 After CSS3 PIE" src="https://www.hereswhatidid.com/wp-content/uploads/2011/02/css-pie-ie6-after.png" alt="IE 6 After CSS3 PIE" width="580" height="430" /></p>
<h3>Internet Explorer 7 &amp; 8</h3>
<p><img class="alignnone size-full wp-image-199" title="IE 7 &amp; 8 After CSS3 PIE" src="https://www.hereswhatidid.com/wp-content/uploads/2011/02/css-pie-ie78-after.png" alt="IE 7 &amp; 8 After CSS3 PIE" width="580" height="430" /></p>
<h3>Implementation</h3>
<p>There are a few things to watch out for when using CSS3 PIE.  A few of the CSS3 properties have to be done using the &#8220;-pie&#8221; prefix in order to trigger the proper rendering in Internet Explorer.  For example, to achieve this same multiple background declaration in CSS3 PIE:</p>
<pre class="prettyprint linenums">
background-color: #ccc;
background-image: url(quote-open.png), url(quote-close.png);
background-position: left top, right bottom;
background-repeat: no-repeat, no-repeat;
background-color: #ccc;	background-image: url(quote-open.png), url(quote-close.png);  background-position: left top, right bottom;  background-repeat: no-repeat, no-repeat;
</pre>
<p>You will need to add the CSS3 PIE specific declaration for backgrounds:</p>
<pre class="prettyprint linenums">
-pie-background: #ccc url(quote-open.png) no-repeat left top, url(quote-close.png) no-repeat right bottom;
</pre>
<p>Also, when you&#8217;re using JavaScript to manipulate styles on your page you need to add the following bit to your CSS to tell CSS3 PIE to &#8220;listen&#8221; to that element and watch for updates to it&#8217;s ancestors.</p>
<pre class="prettyprint linenums">
-pie-watch-ancestors: 1;
</pre>
<p>Finally, the last semi-tricky thing with CSS3 PIE is that for some elements you will have to apply the following CSS to their ancestor to get the CSS3 PIE to take effect.  The symptom of needing to apply this fix is if the element you&#8217;re expecting to be styled disappears from the screen upon rendering:</p>
<pre class="prettyprint linenums">
position: relative;
z-index: 1;
</pre>
<p>All in all, I&#8217;ve found this system well worth the 2-3 minor tricky parts.  In my opinion it&#8217;s a much better solution than letting the unsupported CSS3 elements degrade for those that are still using Internet Explorer 6-8.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.hereswhatidid.com/2011/02/use-css3-pie-for-enabling-css3-in-ie/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Read the Agreement Validator</title>
		<link>https://www.hereswhatidid.com/2011/02/read-the-agreement-validator/</link>
		
		<dc:creator><![CDATA[Gabe]]></dc:creator>
		<pubDate>Fri, 04 Feb 2011 20:51:06 +0000</pubDate>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[SEO]]></category>
		<guid isPermaLink="false">https://www.hereswhatidid.com/?p=175</guid>

					<description><![CDATA[Recently a client wanted to have a user agreement added to an enrollment form. The catch was that I needed to confirm that the user had at least scrolled through the text before allowing them to continue on with the form submission. Once again, jQuery to the rescue! HTML jQuery JavaScript: I&#8217;m currently working on [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Recently a client wanted to have a user agreement added to an enrollment form.  The catch was that I needed to confirm that the user had at least scrolled through the text before allowing them to continue on with the form submission.  Once again, jQuery to the rescue!<span id="more-175"></span></p>
<p>HTML</p>
<pre class="prettyprint linenums">
&lt;div class=&quot;agreement&quot;&gt;
  &lt;div class=&quot;agreement-inner&quot;&gt;
    Content for agreement goes here...
  &lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;agreement-agree&quot;&gt;
  This is the stuff I want activated when the agreement has been read.
&lt;/div&gt;
</pre>
<p>jQuery JavaScript:</p>
<pre class="prettyprint linenums">
$(&quot;.agreement&quot;).scroll(function() {
  if ($(this).scrollTop() &gt;= ($('.agreement-inner',this).height() - $(this).height())) {
    $('.agreement-agree').removeClass('disabled');
    $('.agreement').unbind('scroll');
    $('.agreement-agree').fadeTo(0,1);
  }
});
</pre>
<p>I&#8217;m currently working on deploying this to a generic jQuery plugin that will let you specify the content that needs to be scrolled through as well as the content should become enabled once that criteria is met.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Display inconsistencies between FireFox and other browsers?</title>
		<link>https://www.hereswhatidid.com/2010/11/display-inconsistencies-between-firefox-and-other-browsers/</link>
		
		<dc:creator><![CDATA[Gabe]]></dc:creator>
		<pubDate>Sat, 06 Nov 2010 04:26:56 +0000</pubDate>
				<category><![CDATA[Browser Quirks]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML]]></category>
		<guid isPermaLink="false">http://hereswhatidid/?p=46</guid>

					<description><![CDATA[Double check your syntax. FireFox is more forgiving of errors than IE when it comes to the CSS code. For example: [sourcecode language=&#8221;css&#8221;]background:transparent url(images/check.gif)no-repeat 0 6px;[/sourcecode] Will work as intended within FireFox but not IE even though there is no space between the URL declaration and the &#8220;no-repeat&#8221; parameter. Change that code to: background:transparent url(images/check.gif) [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Double check your syntax.  FireFox is more forgiving of errors than IE when it comes to the CSS code. For example:<br />
[sourcecode language=&#8221;css&#8221;]background:transparent url(images/check.gif)no-repeat 0 6px;[/sourcecode]</p>
<p>Will work as intended within FireFox but not IE even though there is no space between the URL declaration and the &#8220;no-repeat&#8221; parameter.  Change that code to:<br />
background:transparent url(images/check.gif) no-repeat 0 6px;<br />
And it will work fine all around.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
