Closed (fixed)
Project:
Zen
Version:
5.x-1.x-dev
Component:
IE Problems
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
21 Mar 2007 at 14:43 UTC
Updated:
15 Nov 2007 at 20:21 UTC
Jump to comment: Most recent
Comments
Comment #1
zirafa commentedDo you know if the problem is limited to just those two blocks (if you change the order of blocks does it still happen?)
You may want to style the h2 or h3 element directly:
.block h2.title
I've noticed that since h1, h2, etc have "default styles" they can be finicky to style unless you explicitly select them to style.
zirafa
Comment #2
zirafa commentedOk, well I'm able to duplicate this problem even after trying my own method above. Not sure what's going on with IE (maybe related to IE's default header stylings overriding things.)
-z
Comment #3
jadams1-1 commentedThanks for your response. I have a feeling this is not a zen-specific issue. I am seeing similar issues on google with IE6. I'll post back if I find out anything else.
Comment #4
robknight commentedI tried
and it worked in IE6. It isn't block-specific, but it worked. Try using the HTML inspector in Firefox extension Firebug to see what styles are applied to the element.
Comment #5
add1sun commentedchanging title and component
Comment #6
johnalbinGiven jadams1 last comments, I’m closing this issue. Please re-open this issue if it turns out to be a problem with Zen.
Comment #7
fworsley commentedAny more news on this? I'm having the same problem and haven't found a solution yet.
Comment #8
fworsley commentedI've solved this problem by applying a "height" property to ".block .title" and a "width" property to ".block .blockinner". This forces IE to apply the internal "hasLayout" property and causes the first block to always render correctly.
Here is my CSS from a Zen overrides.css file:
.block .blockinner
{
border: 1px solid #C0C0C0;
padding: 0;
margin: 0;
/* force IE to apply hasLayout property and render block border. */
width: 205px;
}
.block .title
{
padding: 0.2em 0.8em 0.2em 0.8em;
margin: 0;
/* for IE to apply hasLayout property and render title background. */
height: 1.2em;
color: white;
background-color: #003475;
font-size: 9pt;
font-weight: bold;
text-transform: capitalize;
}
Here is a screenshot of the original problem:
http://frank.neatstep.com/custom/drupal/missing_decorations.png
Notice the border of the block and the title were both missing. This is now fixed.
Here is more info on IE's hasLayout property:
http://www.satzansatz.de/cssd/onhavinglayout.html
I hope this is helpful to others.
Comment #9
Anonymous (not verified) commentedAnother way to force IE6 or 7 to apply the hasLayout is to use :
zoom:1;
Only IE recognizes it, I use it a lot, it's actually one of the first trick I use to fix IE6. And it's perfect when you don't want to set a height or a width to your object.
Comment #10
fworsley commentedYes, I saw that property on the MSDN reference page. For some reason it didn't work for me in this case.