Probleme mit IE7: schreibt den Content über Footer drüber (kein Prob m. FF/IE6)

Für Fragen und Diskussionen zum Layout und Design, Templates und Stylesheets sowie Themes
Post Reply
erayser

Probleme mit IE7: schreibt den Content über Footer drüber (kein Prob m. FF/IE6)

Post by erayser »

Hallo zusammen,

Ich benutze CMS Made Simple 1.2.4., PHP version 4 und MySQL 4.0.27. Alles das läuft mit Apache / Linux bei http://www.hoststar.ch (keine Werbung, nur Spezifikationenhalber). Auf meiner Seite http://www.stritt.info habe ich bemerkt, dass bei Ansicht mit IE7 der Content nicht Halt vor dem Footer macht, bzw. die Seitenlänge nicht an den Inhalt anpasst. Footer bleibt auf normaler Höhe stehen, Content geht weiter.

Das Problem besteht nicht mit IE6, FF oder Opera - alles ausprobiert, nur der IE7 zeigt den INhalt nicht richtig an.

Da ich kein CSS und HTML Crack bin, hatte ich die existierenden Templates der CMS Made Simple 1.0.6 angepasst und weiterverwendet. Anbei kopiere ich Template und Stylesheet.

Ich wäre superfroh, wenn mir jemand helfen könnte. Habe mich im Forum schon zu tode gesucht, bis aber auf den foot clear both tipp nichts gefunden

Stylesheet

Code: Select all

/*****************
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;
}

/*
set font size for all divs,
this overrides some body rules
*/
div {
   font-size: 1em;
}

/*
if img is inside "a" it would have 
borders, we don't want that
*/
img {
   border: 0;
}

/*
default link styles
*/
/* set all links to have underline and bluish color */
a,
a:link 
a:active {
   text-decoration: underline;
/* css validation will give a warning if color is set without background color. this will explicitly tell this element to inherit bg colour from parent element */
   background-color: inherit; 
   color: #18507C; 
}

a:visited {
   text-decoration: underline;
   background-color: inherit;
  color: #18507C;                /* a different color can be used for visited links */
}


/* remove underline on hover and change color */
a:hover {
   text-decoration: none;
   background-color: #C3D4DF;
   color: #385C72;
}

/*****************
basic layout 
*****************/
body {
   background-color: #ffffff;
   color: #333;
   margin:0;    /* gives some air for the pagewrapper */
}

/* center wrapper, min max width */
div#pagewrapper {
   border: 1px solid black;
   margin: 0 auto;       /* this centers wrapper */
   max-width: 1024px;  /*IE wont understand these, so we will use javascript magick */
   min-width: 720px;
   background-color: #fff;;
   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: 151px;    /* adjust according your image size */
   background: #ECF4FF;  
margin-bottom: 0;
border-bottom: 1px solid #385C72;
}

div#header h1 a {
/* you can set your own image here */
   background: #ECF4FF url(uploads/images/logo.jpg) no-repeat  10px 0px; 
   display: block;
   height: 151px;             /* 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: 23em;    /* 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%;        /* its good to set fontsizes to be relative, this way viewer can change his/her fontsize */
   margin: 0 1em;        /* css shorthand rule will be opened to be "0 1em 0 1em" */
   border-bottom: 1px dotted #000;
}

 div.breadcrumbs span.lastitem { 
   font-weight:bold; 
 } 

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

}


div#main {
margin-left: 25%; /* this will give room for sidebar to be on the left side, make sure this space is bigger than sidebar width */
   margin-right: 2%; /* and some air on the right */
height: 520px;
}

div#sidebar {
   float: left;        /* set sidebar on the left side. Change to right to float it right instead. */
   width: 22%;     /* 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: #000000;
   background-color: #ECF4FF; /* same bg color as in header */
  border-top: 1px solid #385C72;
}

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

div#footer p a {
   color: #000000; /* 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: 1em;
   border-bottom: 1px dotted black;
   margin: 1em;
}

/* 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: #294B5F; 
	font-size: 1.5em; 
	text-align: left; 
/* some air around the text */
	padding-left: 0.5em;
	padding-bottom: 1px;
/* set borders around header */
	border-bottom: 1px solid #385C72; 
	border-left: 1.1em solid #385C72; 
        line-height: 1.5em;
/* and some air under the border */
        margin: 0 0 0.5em 0;
}
div#content h3 {
   color: #294B5F; 
   font-size: 1.3em;
   line-height: 1.3em;
   margin: 0 0 0.5em 0;
}
div#content h4 {
   color: #294B5F; 
   font-size: 1.2em;
   line-height: 1.3em;
   margin: 0 0 0.25em 0;
}
div#content h5 {
   color: #294B5F; 
   font-size: 1.1em;
   line-height: 1.3em;
   margin: 0 0 0.25em 0;
}
h6 {
   color: #294B5F; 
   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 <code> 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: 1 em;
}

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 #c0c0c0;
}


/* END LISTS */
Template

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<__html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
{* Change lang="en" to the language of your site *}

<head>

<title>{sitename} - {title}</title>
{* The sitename is changed in Site Admin/Global settings. {title} is the name of each page *}

{metadata}
{* Don't remove this! Metadata is entered in Site Admin/Global settings. *}

{stylesheet}
{* This is how all the stylesheets attached to this template are linked to *}

{literal}
<__script__ type="text/JavaScript">
<!--
//pass min and max -measured against window width
function P7_MinMaxW(a,b){
	var nw="auto",w=document.documentElement.clientWidth;
	if(w>=b){nw=b+"px";}if(w<=a){nw=a+"px";}return nw;
}
//-->
</__script>
<!--[if lte IE 6]>
<style type="text/css">
#pagewrapper {width:expression(P7_MinMaxW(720,1024));}
#container {height: 1%;}
</style>
<![endif]-->
{/literal}
{* The min and max page width for Internet Explorer is set here. For other browsers it's in the stylesheet "Layout: Left sidebar + 1 column" *}


</head>

</__body>

<div id="pagewrapper">

    {* start accessibility skip links *}
    <ul class="accessibility">
      <li>{anchor anchor='menu_vert' title='Skip to navigation' accesskey='n' text='Skip to navigation'}</li>
      <li>{anchor anchor='main' title='Skip to content' accesskey='s' text='Skip to content'}</li>
    </ul>
    {* end accessibility skip links *}


    <hr class="accessibility" />
    {* Horizontal ruler that is hidden for visual browsers by CSS *}


   {* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet  "For template: Left menu + 1 column" *}
   <div id="header">
           <h1>{cms_selflink dir="start" text="$sitename"}</h1>
   <hr class="accessibility" />
   </div>
   {* End Header *}


   {* Start Search *}
   <div id="search">
          {search}
   </div>
   {* End Search *}


   {* Start Breadcrumbs *}
   <div class="breadcrumbs">
        {breadcrumbs starttext='You are here' root='Home' delimiter='»'}
   <hr class="accessibility" />
   </div>
   {* End Breadcrumbs *}


   {* Start Content (Navigation and Content columns) *}
   <div id="content">

      {* Start Sidebar *}
      <div id="sidebar">

      {* Start Navigation *}
      <div id="menu_vert">
         <h2 class="accessibility">Navigation</h2>
         {menu template='simple_navigation.tpl' collapse='1'}
      </div>
      {* End Navigation *}

      {* Start News *}
      <div id="news">
         <h2>News</h2>
          {news number='3' detailpage='news'}
      </div>
      {* End News *}

      </div>
      {* End Sidebar *}


      {* Start Content Area *}
      <div id="main">
         <div style="float: right;">{print showbutton=true script=true}</div>
         <h2>{title}</h2>
         {content} <br />

         {* Start relational links *}
	 <div class="hr"></div>
	 <div class="right49">
	 	<p>{anchor anchor='main' text='^ Top'}</p>
	 </div>
    
	 {* End relational links *}

      <hr class="accessibility" />
      </div>
	  {* End Content Area *}


   </div>
   {* End Content *}


   {* Start Footer. Edit the footer in the Global Content Block called "footer" *}
   <div id="footer">
      {global_content name='footer'}
   </div>   
   {* End Footer  *}


</div>{* end pagewrapper *}
<__body>
</__html>
Inzwischen habe ich von der Version 1.0.6 auf 1.2.4 upgedated, in der Hoffnung, das wäre nur ein Bug. Aber irgendwie muss IE7 den Code anders interpretieren wie IE6 oder FF.

Ich hoffe, ich habe die Hilfe richtig addressiert. Falls ich noch was nachliefern muss, Bild oder so, bitte melden.

Besten Dank für einen Hinweis an was das Problem liegen kann.
Raymond
NaN

Re: Probleme mit IE7: schreibt den Content über Footer drüber (kein Prob m. FF/I

Post by NaN »

Schau mal ins Stylesheet:

div#main {
margin-left: 25%; /* this will give room for sidebar to be on the left side, make sure this space is bigger than sidebar width */
  margin-right: 2%; /* and some air on the right */
height: 520px;
}

Wenn Du dem Div eine konkrete Höhe gibst, kann der Footer sich dem Inhalt nicht anpassen.
Warum es im FF funktioniert?
Ganz einfach: Du verwendest im Inhalt Block-Elemente (div, p,ul, table etc.).
Diese haben im FF trotz der konkreten Höhe des div#main Einfluss auf nachfolgende Elemente.
Beim IE7 nicht. Der richtet sich strikt nur nach der Höhe des div#main. Was da drin steht interessiert ihn nicht.
Wenn Du mal (zu Testzwecken) nur reinen Tex in den Inhalt schreibst (einfach nur Blindtext, keine Tabellen/Listen/Absätze) und im Template diese Block-Elemente aus dem div#main rausnimmst:

Code: Select all

<div class="hr"></div>
	 <div class="right49">
	 	<p><a href="http://www.stritt.info/index.php?page=setup-and-implementation-of-a-pmo#main">^ Top</a></p>
	 </div>
dann funktioniert es nämlich auch im FF nicht mehr.
Also: nimm die Höhe da einfach raus.
erayser

Re: Probleme mit IE7: schreibt den Content über Footer drüber (kein Prob m. FF/IE6)

Post by erayser »

Vielen Dank NaN!

Habs rausgenommen und es funktioniert perfekt. Darauf wäre ich nie gekommen, das die Blockelemente verschieden interpretiert werden.

Best Dank und Gruss
Raymond
Post Reply

Return to “Layout und Design”