Solved

How to override overflow:hidden without changing parent style

Posted on 2008-10-03
7
7,152 Views
Last Modified: 2013-11-19
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? :)
0
Comment
Question by:systemride
7 Comments
 
LVL 44

Expert Comment

by:scrathcyboy
ID: 22639812
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
 
LVL 2

Author Comment

by:systemride
ID: 22642178
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
 
LVL 42

Accepted Solution

by:
David S. earned 125 total points
ID: 22642936
What you want is simply not possible.  An element can not overflow an ancestor that has overflow:hidden.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 
LVL 44

Expert Comment

by:scrathcyboy
ID: 22647154
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
 
LVL 25

Expert Comment

by:James Rodgers
ID: 22686123
can you post the column class css please
0
 
LVL 2

Author Comment

by:systemride
ID: 22744845
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
 

Expert Comment

by:MRothstein1
ID: 25337301
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

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
Building a website can seem like a daunting task to the uninitiated but it really only requires knowledge of two basic languages: HTML and CSS.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will the learn the benefit of plain text editors and code an HTML5 based template for use in further tutorials.

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now