How to override overflow:hidden without changing parent style

I have a column on my blog that looks something like this:

<div class="column" style="overflow:hidden;">
  <div>My expandable banner</div>
</div>

The div with the overflow:hidden cannot be changed (for many reasons - please accept in this situation it cannot be changed). Is there a style or hack or something I can add to the child div to make it pop out of the parent's overflow:hidden style?

For context - this is an expandable banner - when the size expands... if it is inside the overflow:hidden parent div, the banner is cropped. I need to get it out somehow.

Ideas? :)
LVL 2
systemrideAsked:
Who is Participating?
 
David S.Connect With a Mentor Commented:
What you want is simply not possible.  An element can not overflow an ancestor that has overflow:hidden.
0
 
scrathcyboyCommented:
If you cannot style the tag in line, using javascript after the page is loaded (you need a tag ID to do this), then no, you cannot do it.  Why use overflow:hidden anyway.  Should you not be using overflow:visible?  Remember that these work opposite of what they appear to do.  Are you trying to crop the overflow or not?
0
 
systemrideAuthor Commented:
Because it will  published across many blogs - where I have no control over how people build their sites. And to alter the column, might break their site layout as many people use overflow:hidden as a hack for IE bugs.

That is why I'm looking for a hack for this, if there isn't one, then I guess we're all screwed and the world will soon be bountiful with plagues and disease. We will all rot and die.

Please... for god's sake. Help.
0
Easily Design & Build Your Next Website

Squarespace’s all-in-one platform gives you everything you need to express yourself creatively online, whether it is with a domain, website, or online store. Get started with your free trial today, and when ready, take 10% off your first purchase with offer code 'EXPERTS'.

 
scrathcyboyCommented:
Please... for god's sake. Help.

Simply edit the page TEMPLATE and CSS for the blog and get rid of overflow hidden.  If you are running the blog, you should be able to edit the template, surely?  If not, tell the person owning it to edit it.
0
 
James RodgersWeb Applications DeveloperCommented:
can you post the column class css please
0
 
systemrideAuthor Commented:
There isn't a way to do this unfortunately.

@scrathcyboy - seriously dude? You think I didn't think of that? As I mentioned, this was going across various blogs which makes it impossible to just simply "change". Please read all messages before you post something so lame.
0
 
MRothstein1Commented:
Here is a roundabout way of doing something similar to what you want.

Positioning the element absolutely will release it from the overflow constraint, but not in IE. This may also cause some issues with your banner being placed in other blogs where you do not know the position of the div relative to the page. Floating the elements inside did not help.

The screenshots show how the code renders in IE7 and Firefox 3.

In the example code, there are two overflow: hidden styled divs because making the floats and the positioned elements play nice in one div would have required needlessly complicated css.

I hope that this helps in some way.
<html>
<head>
    <title>overflow: hidden style test</title>
    
	<style type="text/css">
		div { margin-bottom: 20px; }
	
		.no-overflow-div { border: 2px purple solid; height: 300px; width: 300px; overflow: hidden; }		
		
		.abs-pos-elem { position: absolute; width: 500px; height: 100px;  background-color: #EEE; }
		.rel-pos-elem { position: relative; width: 500px; height: 100px;  background-color: #EEE; }
		.float-elem { width: 500px; height: 100px; background-color: #EEE;}
		.left { float: left; }
		.right { float: right; width: }
		
		.red { border: 3px red solid; }
		.blue { border: 3px blue solid; }
		.green { border: 3px green solid; }
		.darkgrey { border: 3px #333 solid; }
		
	</style>
</head>
 
<body>
 
	<div id="no-floats" class="no-overflow-div"> 
        <div class="rel-pos-elem darkgrey"> position: relative </div>
        <div class="abs-pos-elem red"> position: absolute </div>
    </div>
    <div id="floats" class="no-overflow-div">         
        <div class="float-elem left blue"> float: left </div>
        <div class="float-elem right green" style="text-align: right"> float: right </div>
    </div>
    
</body>
</html>

Open in new window

overflow-hidden-ie7.gif
overflow-hidden-ff.gif
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.