Q:

CSS: how to style a div so that it has no effect

Is it possible to style a div so that it has no effect on the layout? 
(as if the tag wasn't present in the html)
The reason I ask is that I am planning on creating a workaround for css3 multiple column layout on ie7, ie8 & ie9. 
On these versions of ie, the columns will be implemented using vertical divs.  However, on browsers that support css3 columns, I would like these divs to have zero effect (however on ie, I will override this to create columns).  Can I create a css class that does this? 
e.g.
<div class="noeffect">
<div class="item">item1</div>
<div class="item">item2</div>
</div>

<div class="noeffect">
<div class="item">item3</div>
<div class="item">item4</div>
</div>

<div class="noeffect">
<div class="item">item5</div>
<div class="item">item6</div>
</div>

So on IE 'noeffect' could be overridden to display 3 columns, however on other browsers, multiple column layout could be used to display 1,2,3,4,5 or 6 columns. 

A:

IE7, IE8 and IE9 support what are known as conditional comments.  These allow you to only include specific content when the IE browser matches the condition. 
Internet Explorer's Conditional Comments
Note that these were removed in IE11 and will not render even when immitating older versions of IE through IE11's developer tools. 
In your case, we can use if lte IE 9 to match any version of IE less than or equal to (lte) IE 9 to load an IE-specific stylesheet:
<! --[if lte IE 9]>
    <link rel="stylesheet" href="IE-Specific-CSS.css">
<![ endif]-->

This stylesheet would then overwrite the content in your regular CSS file.  Your head element would end up looking something like this:
<head>
    <title>...</title>

    <link rel="stylesheet" href="Regular-CSS.css">
    <! --[if lte IE 9]>
        <link rel="stylesheet" href="IE-Specific-CSS.css">
    <![ endif]-->
</head>

All browsers which are not versions of IE less than or equal to IE9 would only load the Regular-CSS.css file, whereas IE9 and lower would load both Regular-CSS.css and IE-Specific-CSS.css.  It's then down to specificity to allow the IE-specific CSS declarations to override the other CSS file's declarations. 
Example CSS
/* Regular-CSS.css */
div.noeffect {
    background: #f00;    /* Red background */
}

/* IE-Specific-CSS.css */
div.noeffect {
    background: #0f0;    /* Green background only on IE9 and lower */
}

The above two selectors (div.noeffect) have the same specificity (linked above), so as long as our IE-specific CSS document was loaded after our regular CSS document, the IE-specific CSS would override the regular one. 
Only Rendering the div Elements in IE9 or Lower
If you want those div elements to only appear on IE9 or lower you can just wrap the conditional comments around each div tag:
<! --[if lte IE 9]>
<div class="noeffect">
<![ endif]-->
    <div class="item">item1</div>
    <div class="item">item2</div>
<! --[if lte IE 9]>
</div>
<![ endif]-->

<! --[if lte IE 9]>
<div class="noeffect">
<![ endif]-->
    <div class="item">item3</div>
...

