Probleme mit Internet Explorer

Für Fragen und Diskussionen zum Layout und Design, Templates und Stylesheets sowie Themes
Post Reply
tryr
New Member
New Member
Posts: 7
Joined: Mon May 04, 2009 7:46 am

Probleme mit Internet Explorer

Post by tryr »

Hallo,
ich habe vor kurzem angefangen mit CMSms. Nun habe ich mich dran getraut das Template und die Stylesheets etwas zu verändern was auch erst super geklappt hat. Als ich es dann allerdings mit IE6 u 7 getestet habe kamen dabei Fehler auf. Ich selbst verwende ja lieber Mozilla Image aber da es auf meiner Seite mindestens dreimal so viel IE User gibt, sollte es bei ihnen auch gut aussehen.

Hier was ich versucht habe und wie es im Mozilla Firefox angezeigt wird:

Image


Nun der MS Internet Explorer:

Version 7 (Fehler: Lücke zwischen Navigation und Content)
Image

Version 6 (Fehler: Lücke links von der Navigation und falsch positionierte Fußleisten)
Image


Hier noch der Code aus dem 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: #fff;
   color: #333;
}

/* center wrapper, min max width */
div#pagewrapper {
   border: 0px solid black;
   margin: 0 auto;       /* this centers wrapper */
   width: 83em;   /* IE wont understand these, so we will use javascript magick */
   background-color: #fff;;
   background-image:url(uploads/images/gfx/background2.jpg);
   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: 177px;    /* adjust according your image size */
   background: #fff;           
   background-image:url(uploads/images/gfx/background1.jpg);
}

/*--------------------
 vorerst mal weg
div#header h1 a {
/* you can set your own image here */
   background:none url(uploads/images/logo1.gif) no-repeat 0 12px;
   display: block;
   height: 80px;             /* 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 */
} 
vorerst mal weg
----------------------*/

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


div#main {
   margin-left: 238px; /* this will give room for sidebar, make this space bigger than sidebar width */
   min-height: 400px;
   margin-right: 19px; /* and some air on the right */
   background-image:url(uploads/images/gfx/background6.jpg);
   padding:20px;
   padding-right:30px;
}

div#mainFooter {
   margin-left: 238px; /* same like main */
   margin-right: 19px; /* and some air on the right */
   background-image:url(uploads/images/gfx/background7.jpg);
   background-repeat:no-repeat;
   height:20px;
   padding-right:30px;
}

div#sidebar {
   float: left;        /* set sidebar on the left side. Change to right to float it right instead. */
   width: 221px;     /* sidebar width, if you change this please also change #main margins */
   margin-left: 17px;
   background-image:url(uploads/images/gfx/background4.jpg);
   background-repeat:no-repeat;
   padding-left:8px;
}

div#sidebarFooter {
   float: left;        /* set sidebar on the left side. Change to right to float it right instead. */
   width: 221px;     /* sidebar width, if you change this please also change #main margins */
   height: 22px;
   margin-left: -8px;
   background-image:url(uploads/images/gfx/background5.jpg);
   background-repeat:no-repeat;
   padding-left:1px;
}

div#footer {
   clear: both;       /* keep footer below content and menu */
   color: #fff;
   background-image:url(uploads/images/gfx/background3.jpg);
   background-repeat:no-repeat;
   background-color: #fff; 
}

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

div#footer p a {
   color: #c0c0c0; /* 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;
}
und noch ein Bild wie die Hintergründe angeordnet sein sollten

Image


Vielleicht hatte jemand schonmal die selben Probleme und hat nützliche Tipps oder weis wo welche stehen.

vielen Dank im Vorraus
Tryr
antibart
Power Poster
Power Poster
Posts: 1162
Joined: Sun Aug 17, 2008 9:29 am

Re: Probleme mit Internet Explorer

Post by antibart »

Hallo,

Paar Tipps, ohne mir jetzt deinen kompletten CSS-Code durchgelesen zu haben:

- margin und padding sind für Abstände und Positionierungen zuständig - aber auf unterschiedliche Weise. Das eine Attribut sorgt für den Abstand von Elementen zueinander, das andere für Abstände innerhalb eines Elementes (zb zum Rand). Schau mal in deinem Template, ob dort nicht ab und zu die falsche Wahl getroffen wurde oder  löse es mit einem zusätzlichen, inneren Element für den Abstand. Gerade beim Arbeiten mit Hintergrundbildern ist das Vorsicht geboten, da es passieren kann, dass du das Hintergrundbild mit einrückst.

- benutz bei gefloateten DIVS dem IE zuliebe immer zusätzlich das css-Attribut display:inline; ... einige IE-Versionen verdoppeln sonst die Dimensionangabe. (5px = 10px)

- Achte immer darauf, dass deine Dimensionen und Hintergrundbildgrößen rechnerisch stimmen. Viele Fehler entstehen, weil etwas "keinen Platz hat" ... .

- das css-Attribut min-height wird nicht von allen Browser unterstützt.

- benutzt für festgelegte Abstände und Dimensionen am besten die Maßeinheit Pixel (px).

- immer gut zur Unterstützung: der css bzw html--Validator des w3c.org oder die plugins firebug bzw html-validator für den firefox.

- weitere nützlche Tips zu html / css findest du bei http://de.selfhtml.org/ oder in eiem der unzähligen css/html-Foren im Web.   
Last edited by antibart on Mon May 04, 2009 11:53 am, edited 1 time in total.
NaN

Re: Probleme mit Internet Explorer

Post by NaN »

Sorry, aber ohne den HTML Quelltext zu sehen, kann ich auf die Schnelle auch nicht sagen, wo genau der Fehler liegt.
tryr
New Member
New Member
Posts: 7
Joined: Mon May 04, 2009 7:46 am

Re: Probleme mit Internet Explorer

Post by tryr »

Vielen Dank antibart,
dank deinen Tipps konnte ich die probleme lösen. Erster Fehler, falsche margin und padding Einstellungen beim Menu, welche ich entdenkt habe dank dem Tipp mit Firebug. Die Abstände sind nun fürs Layout alle einheitlich in px.

Für min-height hab ich nun den * html Hack verwendet damit die IE's < 7 stattdessen height benutzen. Was haltet ihr von diesem Konstrukt?

Danke und lg Tryr
NaN

Re: Probleme mit Internet Explorer

Post by NaN »

Naja, halte von CSS Hacks nicht viel.
Die machen das Stylesheet oft invalide.
Ich bevorzuge ConditionalComments.
D.h. ich entwickle mit Firefox.
Und wenn ich fertig bin, entwerfe ich ein weiteres Stylesheet, das nur die Anweisungen enthält, die ich brauche, damit es auch im IE so aussieht wie ich will.
Mit Hilfe von ConditionalComments kann ich dann jeder IE Version noch ein extra CSS zuweisen, das die Anweisungen aus dem "regulären" Stylesheet überschreibt.

Aber das ist jedem selbst überlassen.
tryr
New Member
New Member
Posts: 7
Joined: Mon May 04, 2009 7:46 am

Re: Probleme mit Internet Explorer

Post by tryr »

Danke an alle für die Hilfe

Ich hab es jetzt nochmal mit nem "Extrawurst-Stylesheet" für die IE unter Version 7, mit Conditional Comments, gebastelt. Nun klappt es recht gut.
antibart
Power Poster
Power Poster
Posts: 1162
Joined: Sun Aug 17, 2008 9:29 am

Re: Probleme mit Internet Explorer

Post by antibart »

Ich nehme immer ein css für alle ohne Extrawürste... und den Validitätstest mache ich auch (meistens) und in der Regel wird er auch bestanden.

Wenn ich etwas Bestimmtes brauche (zB min-height), was nicht css-konform ist, denke ich mir was aus. Bei min-height baue ich zB einfach ein transparantes 1 pixel breites Gif mit der gewünschten Höhe ins Template ein. So brauche ich das Attribut nicht und das betroffene Element hat trotzdem eine Mindesthöhe.

Muss jeder selber wissen, wie er das löst.
Last edited by antibart on Wed May 06, 2009 6:50 am, edited 1 time in total.
mike-r

Re: Probleme mit Internet Explorer

Post by mike-r »

NaN wrote: Naja, halte von CSS Hacks nicht viel.
Die machen das Stylesheet oft invalide.
Ich bevorzuge ConditionalComments.
die meisten mir bekannten CSS-Hacks sind von Programmen/ Validatoren nicht wirklich als invalide zu erkennen. Am Beispiel, was hier gefallen ist, der Star-HTML-Hack: * html element kann Dir mal grob über den Daumen gepeilt 50%-95% aller etwas fortgeschritteneren Webautoren NICHT sagen, wo überhaupt der "Fehler" ist. Und wenn man ihn erkennt, dann kann man nicht sagen, ob es denn tatsächlich ein Fehler im Sinne der Definition ist.
Beim Conditional Comment ist das einfacher, eine "Anweisung" in einem Dokument, die nicht ausgeführt werden soll wird ... ausgeführt.
DAS ist  invalide - zumindest aus ästhetischer Sicht.

Ich bevorzuge allerdings auch CC, da sie Änderungen leichter pflegbar machen.
Post Reply

Return to “Layout und Design”