Page 1 of 1

IE 7 not playing well with CSS - Solved

Posted: Thu Jan 04, 2007 12:31 am
by superK
****The image was too wide and IE was dropping it down for some reason. All's well that ends well!*****

I'm building a site for a client using CMS 1.0.2 "Maui". I've basically been using the included template "Left sidebar + 1 column" and making changes as I need them.

Building the site on a Mac and testing on Firefox everything is great. When I jump over to test on IE 7 (on PC of course) the image on the homepage starts about 4 inches below where it's suppossed to. I've been tweaking the CSS for 2 days and thought I fixed it once, but alas, that's not so.

The work in progress can be viewed here: http://www.csapostfalls.com/site/

Here's the CSS I've been working with:

/*****************
browsers interpret margin and padding a little differently,
we'll remove all default padding and margins and
set them later on
******************/
* {
margin:0;
padding:0;
}

/*
Set initial font styles
*/
body {
  text-align: left;
  font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
  font-size: 75.01%;
  line-height: 1em;
}

div {
  font-size: 1em;
}

img {
  border: 0;
  vertical-align: top;
  height: auto;
}

a,
a:link
a:active {
  text-decoration: underline;
  background-color: inherit;
  color: #18507C;
}

a:visited {
  text-decoration: underline;
  background-color: inherit;
  color: #18507C;         
}

a:normal:hover {
  text-decoration: none;
  background-color: #C3D4DF;
  color: #385C72;
}

a.footer:hover {
  text-decoration: underline;
  background-color: none;
  color: none;
}

/*****************
basic layout
*****************/

body {
  background: #ccc url(uploads/images/back.png) repeat-x;
  margin:1em;    /* gives some air for the pagewrapper */
}

div#pagewrapper {
  border: 1px solid black;
  margin: 0 auto;      /* this centers wrapper */
  width: 770px;
  background-color: #FFFFFF;
  color: black;
}

/*** header ***
we will hide text and replace it with a image
we need to assign a height for it so that the image wont cut off
*/
div#header {
  height: 110px;    /* adjust according your image size */
  background: #ffffff;         
}

div#header h1 a {
/* you can set your own image here */
  background: #ffffff url(uploads/images/headerNEW.png) no-repeat;
  display: block;
  height: 110px;            /* adjust according your image size */
  text-indent: -999em;  /* this hides the text */
  text-decoration:none; /* old firefox would have shown underline for the link, this explicitly hides it */
}

/* position for the search box */
div#search {
  float: right;
  width: 30em;    /* enough width for the search input box */
  text-align: right;
  padding: 0.6em 0 0.2em 0;
  margin: 0 1em;
}

div.breadcrumbs {
  padding: 1em 0 1.2em 0; /* CSS short hand rule first value is top then right, bottom and left */
  font-size: 90%;
  margin: 0 1em; 
  border-bottom: 1px solid #000;
}

div#content {
  margin: 1.5em auto 2em 0;  /* some air above and under menu and content */
}

div#main {
  margin-left: 18em;
  margin-right: 2em;
}

div#sidebar {
  float: left;        /* set sidebar on the left side. Change to right to float it right instead. */
  width: 17em;  /* sidebar width, if you change this please also change #main margins */
  display: inline;  /* FIX IE double margin bug */
  margin-left: 0;
}

div#footer {
  clear: both;      /* keep footer below content and menu */
  color: #fff;
  background-color: #4682B4;
}

div#footer p {
  font-size: 9px;
  padding: .8em;      /* some air for footer */
  text-align: center;  /* centered text */
  margin: 0;
}

div#footer p a {
  color: #fff; /* needed becouse footer link would be same color as background otherwise */
}

/* as we hid all hr for accessibility we create new hr with extra div element */
div.hr {
  height: 1px;
  padding: .2em;
  border-bottom: 1px solid #ccc;
  margin: .2em;
}

/* relational links under content */
div.left49 {
  width: 49%; /* 50% for both left and right might lead to rounding error on some browser */
}

div.right49 {
  float: right;
  width: 49%;
  text-align: right;
}

/********************
CONTENT STYLING
*********************/
div#content {

}

/* HEADINGS */
div#content h1 {
  font-size: 2em; /* font size for h1 */
  line-height: 1em;
  margin: 0;
}
div#content h2 {
color: #1B5C9C;
font-size: 1.2em;
text-align: left;
/* some air around the text */
padding-left: 0.5em;
padding-bottom: 1px;
/* set borders around header */
border-bottom: 1px solid #D3CCB7;
border-left: 1.1em solid #D3CCB7;
        line-height: 1.5em;
/* and some air under the border */
        margin: 0 0 0.5em 0;
}
div#content h3 {
  color: #1B5C9C;
  font-size: 1.1em;
  line-height: 1.3em;
  margin: 0 0 0.5em 0;
}
div#content h4 {
  color: #1B5C9C;
  font-size: 1.2em;
  line-height: 1.3em;
  margin: 0 0 0.25em 0;
}
div#content h5 {
  color: #1B5C9C;
  font-size: 1.1em;
  line-height: 1.3em;
  margin: 0 0 0.25em 0;
}
h6 {
  color: #1B5C9C;
  font-size: 1em;
  line-height: 1.3em;
  margin: 0 0 0.25em 0;
}
/* END HEADINGS */

/* TEXT */
p {
  font-size: 1em;
  margin: 0 0 1.5em 0; /* some air around p elements */
  line-height: 1.4em;
  padding: 0;
}

blockquote {
  border-left: 10px solid #ddd;
  margin-left: 10px;
}
strong, b {
/* explicit setting for these */
  font-weight: bold;
}
em, i {
/* explicit setting for these */
  font-style:italic;
}

/* Wrapping text in tags. Makes CSS not validate */
code, pre {
white-space: pre-wrap;      /* css-3 */
white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
white-space: -pre-wrap;      /* Opera 4-6 */
white-space: -o-pre-wrap;    /* Opera 7 */
word-wrap: break-word;      /* Internet Explorer 5.5+ */
font-family: "Courier New", Courier, monospace;
font-size: 1em;
}

pre {
  border: 1px solid #000;  /* black border for pre blocks */
  background-color: #ddd;
  margin: 0 1em 1em 1em;
  padding: 0.5em;
  line-height: 1.5em;
  font-size: 90%;
}

/* Separating the divs on the template explanation page, with some bottom-border */
div.templatecode {
  margin: 0 0 2.5em;
}

/* END TEXT */

/* LISTS */
/* lists in content need some margins to look nice */
div#main ul,
div#main ol,
div#main dl {
  font-size: 1.0em;
  line-height: 1.4em;
  margin: 0 0 1.5em 0;
}

div#main ul li,
div#main ol li {
  margin: 0 0 0.25em 3em;
}

/* definition lists topics on bold */
div#main dl dt {
  font-weight: bold;
  margin: 0 0 0 1em;
}
div#main dl dd {
  margin: 0 0 1em 1em;
}

div#main dl {
  margin-bottom: 2em;
  padding-bottom: 1em;
  border-bottom: 1px solid #ccc;
}


/* END LISTS */


The weird part to me is that the layout (image above text) is basically the same on the Directions page but that renders fine in IE 7. Also, I got the image to layout right in "quirks" mode but that doesn't really help anybody.

Here's the HTML that I believe is where it's happening:


       

        Home
       
        CSA of Post Falls, known locally as “Cardiovascular Services of Post Falls”, is dedicated to serving our patients with
        compassion and with the highest quality of care using cutting-edge technology.



Thanks for any help anyone can give, I think CMS made simple is a very powerful system and I've enjoyed using it except for this silly problem (which is more Microsoft's fault that the CMS).

Thanks!