Zum Inhalt springen

Darstellung Firefox, Opera und IE


Vanlange

Empfohlene Beiträge

Hallo und Grüße an alle.

Ich bin nun so langsam am verzweifeln :D.

Ich habe für unser Krankenhaus eine Webseite erstellt um gewisse Arbeitsschritte bei Aktualisierungen zu vereinfachen.

Das funktioniert soweit auch alles super, die PHP Scripte laufen, alles schön.

Bis auf eine Kleinigkeit. Der Konzern ist der Meinung uns jetzt vorzuschreiben nur noch den Internet Explorer nutzen zu dürfen.

Im Firefox und auch im Opera sieht die Seite super aus. Nur der IE macht ziemlichen Mist drauß.

Ich habe schon bestimmt zwei Wochen geschaut, versucht und getan aber keinerlei Besserung in Sicht.

Vieleicht hat ja von euch nun einer die zündelnde Idee :D.

So sieht das ganze im Firefox aus.

post-63613-14430449134158_thumb.jpg

Alles schön, genau so siehts auch im Opera aus.

Aber nu kommts:

post-63613-14430449135191_thumb.jpg

Das macht der IE draus !!.

Der CSS Code

@charset "utf-8";

body {

	margin: 0;

	padding: 0;

	color: #333;

	font-family: "Book Antiqua", Verdana, Arial, Helvetica, sans-serif;

	font-size: 100%;

	line-height: 1.4;

	background-color: #333;

}

/* ~~ Element-/Tag-Selektoren ~~ */

ul, ol, dl { /* Aufgrund von Abweichungen zwischen verschiedenen Browsern empfiehlt es sich, die Auffüllung und den Rand in Listen auf 0 einzustellen. Zu Konsistenzzwecken können Sie die gewünschten Werte entweder hier oder in den enthaltenen Listenelementen (LI, DT, DD) eingeben. Beachten Sie, dass diese Angaben auch für die .nav-Liste gültig sind, wenn Sie keinen spezifischeren Selektor festlegen. */

	padding: 0;

	margin: 0;

}

h1, h2, h3, h4, h5, h6, p {

	margin-top: 0;	 /* Durch Entfernen des oberen Randes wird ein Problem vermieden, bei dem Ränder aus dem umgebenden Block entweichen. Der verbleibende untere Rand sorgt für den Abstand von allen folgenden Elementen. */

	padding-right: 15px;

	padding-left: 15px; /* Hinzufügen von Auffüllungswerten für beide Seiten jeweils enthaltener Blockelemente statt für die Blöcke macht Box-Modell-Berechnungen unnötig. Alternativ kann auch ein untergeordneter Block mit Auffüllung an den Seiten verwendet werden. */

}

a img { /* Dieser Selektor entfernt den standardmäßigen blauen Rahmen, der in einigen Browsern um ein Bild angezeigt wird, wenn es von einem Hyperlink umschlossen ist. */

	border: none;

}

/* ~~ Die Reihenfolge der Stildefinitionen für die Hyperlinks der Site, einschließlich der Gruppe der Selektoren zum Erzeugen des Hover-Effekts, muss erhalten bleiben. ~~ */

a:link {

	color: #FFF;

	text-decoration: underline; /* Sofern Ihre Hyperlinks nicht besonders hervorgehoben werden sollen, empfiehlt es sich, zur schnellen visuellen Erkennung Unterstreichungen zu verwenden. */

}

a:visited {

	color: #6E6C64;

	text-decoration: underline;

}

a:hover, a:active, a:focus { /* Durch diese Gruppe von Selektoren wird bei Verwendung der Tastatur der gleiche Hover-Effekt wie beim Verwenden der Maus erzielt. */

	text-decoration: none;

}

/* ~~ Dieser Container fester Breite umgibt alle anderen Blockelemente. ~~ */

.container {

	width: 960px;

	background: #FFFFFF;

	margin: 0 auto; /* Durch die Angabe der Breite und Verwendung des Werts "auto" für die Seiten wird das Layout zentriert. */

}

/* ~~ Für die Kopfzeile wird keine Breite angegeben. Sie erstreckt sich über die gesamte Breite des Layouts. ~~ */

header {

	background: #3c579a;

	padding: 0px 0px 0px 0px;

	}

/* ~~ Dies sind die Spalten für das Layout. ~~ 


1) Auffüllung wird nur für den oberen und/oder unteren Bereich der Blockelemente angegeben. Für die Elemente innerhalb dieser Blöcke sind Auffüllungswerte an den Seiten angegeben. Dadurch müssen Sie keine Box-Modell-Berechnungen durchführen. Beachten Sie, dass für den Block selbst definierte Werte für Auffüllung oder Rand an den Seiten zur angegebenen Breite addiert werden und zusammen die *Gesamtbreite* bilden. Sie können stattdessen auch die Auffüllung für das Element innerhalb des Blockelements entfernen und ein zweites Blockelement innerhalb des ersten platzieren. Diesem weisen Sie dann eine Breite von 0 und die für Ihr Design erforderliche Auffüllung zu.


2) Für die Spalten wurde kein Rand angegeben, da es sich um schwebende Spalten handelt. Wenn Sie dennoch einen Rand angeben möchten, vermeiden Sie Ränder an der Seite, an der sich die schwebende Spalte ausrichtet (z. B.: ein rechter Rand für einen Block, der nach rechts schwebend positioniert wird). In vielen Fällen kann stattdessen eine Auffüllung verwendet werden. Bei Blöcken, bei denen von dieser Regel abgewichen werden muss, fügen Sie der CSS-Regel des Blockelements die Deklaration "display:inline" hinzu, um ein Problem mit einigen Versionen des Internet Explorer zu vermeiden, bei dem der Rand verdoppelt wird.


3) Da Klassen in einem Dokument mehrmals verwendet werden können (und zudem auf ein Element mehrere Klassen angewendet werden können), wurden den Spalten Klassennamen statt IDs zugewiesen. So können beispielsweise bei Bedarf zwei Seitenleisten-Blöcke untereinander angeordnet werden. Diese div-Tags können problemlos in IDs geändert werden, solange Sie sie nur einmal pro Dokument verwenden.


4) Wenn Sie die Navigation auf der linken statt auf der rechten Seite platzieren möchten, lassen Sie diese Spalten einfach in die andere Richtung fließen (alle nach links anstatt alle nach rechts). Die Spalten werden dann in umgekehrter Reihenfolge dargestellt. Es ist nicht notwendig, die Blöcke im HTML-Quellcode zu verschieben.


*/

.sidebar1 {

	float: left;

	width: 220px;

	background: #3c579a;

	padding: 0px 0px 0px 0px;

}

.content {

	padding: 0px 0;

	width: 520px;

	float: left;

}

aside_left1 {

	float: left;

	width: 220px;

	height: 150px;

	background: #3c579a;

	padding-top: 0px;

	padding-right: 0px;

	padding-bottom: 0px;

	padding-left: 0px;

}

aside_left2 {

	float: left;

	width: 220px;

	height: 500px;

	background: #3c579a;

	padding-top: 0px;

	padding-right: 0px;

	padding-bottom: 0px;

	padding-left: 0px;

}

aside_left3 {

	float: left;

	width: 220px;

	height: 2350px;

	background: #3c579a;

	padding-top: 0px;

	padding-right: 0px;

	padding-bottom: 0px;

	padding-left: 0px;

}

aside_right {

	float: left;

	width: 220px;

	background: #FFF;

	padding: 10px 0px 0px 0px;

}

/* ~~ Mit diesem gruppierten Selektor werden die Listen im .content-Bereich angesprochen. ~~ */

.content ul, .content ol {

	padding: 0 15px 15px 40px; /* Diese Auffüllung setzt die rechte Auffüllung in der obigen Regel für Überschriften und Absätze fort. Die Auffüllung wurde unten für den Abstand zwischen anderen Elementen in den Listen und links für den Einzug angegeben. Sie können die Werte nach Bedarf ändern.  */

}


/* ~~ Stile für die Navigationslisten (können entfernt werden, wenn Sie ein vordefiniertes Ausklappmenü wie Spry verwenden) ~~ */

nav ul {

	list-style: none; /* Hiermit wird die Listenmarkierung entfernt. */

	border-top: 1px solid #666; /* Hiermit wird der obere Rahmen für die Hyperlinks erstellt. Alle anderen werden mit einem unteren Rahmen im LI-Element platziert. */

	margin-bottom: 15px; /* Hiermit wird der Abstand zwischen den Navigationselementen und den darunter angeordneten Inhalten erstellt. */

}

nav ul li {

	border-bottom: 1px solid #666; /* Hiermit wird die Trennung der Schaltflächen erstellt. */

}

nav ul a, nav ul a:visited { /* Durch Gruppieren dieser Selektoren wird sichergestellt, dass die Hyperlinks auch nach dem Aufrufen das Erscheinungsbild einer Schaltfläche beibehalten. */

	padding: 5px 5px 5px 15px;

	display: block; /* Hiermit werden die Blockeigenschaften für Hyperlinks angegeben, sodass das gesamte umschließende LI-Element ausgefüllt wird. Hiermit wird angegeben, dass der gesamte Bereich auf einen Mausklick reagiert. */

	width: 200px;  /*Mit dieser Breite reagiert die gesamte Schaltfläche in IE6 auf Mausklicks. Kann entfernt werden, wenn IE6 nicht unterstützt werden muss. Berechnen Sie die exakte Breite durch Subtrahieren der Auffüllung für diesen Hyperlink von der Breite des Containers für die Seitenleiste. */

	text-decoration: none;

	background: #3c579a;

}

nav ul a:hover, nav ul a:active, nav ul a:focus { /* Hiermit wird der Hintergrund und die Textfarbe bei der Navigation mit der Maus und der Tastatur geändert. */

	background: #3c579a;

	color: #FFF;

}


/* ~~ Fußzeile ~~ */

footer {

	background: #3c579a;

	position: relative;/* Liefert "hasLayout" für Internet Explorer 6, zum korrekten Rücksetzen der schwebenden Ausrichtung. */

	clear: both; /* Diese "clear"-Eigenschaft ermöglicht es dem .container-Block, das Ende der Spalten zu erkennen und sie korrekt zu umschließen. */

	padding: 0px 0px 0px 0px;

}

/* ~~ Verschiedene float/clear-Klassen ~~ */

.fltrt {  /* Mit dieser Klasse können Sie ein Element auf der Seite nach rechts schweben lassen. Das schwebende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */

	float: right;

	margin-left: 8px;

}

.fltlft { /* Mit dieser Klasse können Sie ein Element auf der Seite nach links schweben lassen. Das schwebende Element muss vor dem Element stehen, neben dem es auf der Seite erscheinen soll. */

	float: left;

	margin-right: 8px;

}

.clearfloat { /* Diese Klasse kann einem <br />-Tag oder einem leeren Blockelement als abschließendes Element nach dem letzten schwebenden Block (innerhalb von .container) zugewiesen werden, wenn die Fußzeile entfernt oder aus .container verschoben wird. */

	clear:both;

	height:0;

	font-size: 1px;

	line-height: 0px;

}


/*Unterstützung für HTML 5 - Legt für die neuen HTML 5-Tags die Eigenschaft "display:block" fest, damit die Tags in den Browsern korrekt dargestellt werden. */

header, section, footer, aside, nav, article, figure {

	display: block;

	border-top-style: none;

	padding: 0px 0px 0px 0px;

}


.img_aneinander

{

	float:left;

}

Und der HTML Code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>App_Stellenangebote</title>

<link href="CSS_Daten/fb_app.css" rel="stylesheet" type="text/css">

</head>

<body>

<div class="container">

  <header>

  <a href="http://www.facebook.de" target="_blank"><img class="img_aneinander" src="Bilder/face_logo.jpg" alt="facebook" name="logo" width="220" height="90" id="logo"></a>

  <img class="img_aneinander" src="Bilder/verlauf_1.jpg" width="520" height="90" alt="verlauf">

  <a href="http://www.asklepios.com/klinik/default.aspx?cid=716&pc=0701" target="_blank"><img src="Bilder/asklepios_logo.jpg" alt="Asklepios"></a>

  </header>

  <div class="sidebar1">

     <aside_left1>

     </aside_left1>

     <nav>

      <ul>

        <li><a href="index.html">App erstellen</a></li>

        <li><a href="how_to_anwender.html">How To (Bedienungsanleitung)</a></li>

        <li><a href="how_to_entwickler.html">How To (Entwickler)</a></li>

        <li><a href="#">Impressum</a></li>

      </ul>

     </nav>

     <aside_left3>

     </aside_left3>

     </div>

     <!-- end .sidebar1 -->

   <article class="content">

    <br><h1>App zum automatisierten Anpassen der Facebook Stellenangebote</h1>                

    <section>

     <p><br>Im folgenden können Sie ganz leicht ihre Facebook App (Stellenangebote) aktualisieren und stets auf dem neuesten Stand halten.</p>

     <br>

    <form action="button.htm">

     <div align="center"><br>

      <button name="auslesen" type="button"

       value="ausgelesen" onclick="self.location.href='PHP_Scripts/links_auslesen.php'">

        <p>

         <img src="Bilder/Button_kopieren.jpg"><br>

        </p>

      </button>

     </div>

    </form>

    </section>

     <section>

     <br><br>

      <h2>Vorschau der einzufügenden APP</h2>

      <p>Unten sehen Sie eine Vorschau wie Ihre App nun aussehen wird sobald Sie sie bei Facebook bereit gestellt haben.</p><br>

      <p>

      <iframe scrolling="no" src="PHP_Scripts/statisch_oben.html" height="170" width="600">

      </iframe>

      <iframe scrolling="no" src="PHP_Scripts/ausgelesene_links.html" height="280" width="600">

      </iframe>

      <iframe scrolling="no" src="PHP_Scripts/statisch_unten.html" height="130" width="600">

      </iframe>

      </p>

      <p>Sind Sie zufrieden? Dann weiter mit dem nächsten Schritt.</p>

    </section>

    <section>

    <br>

      <h2>Code kopieren</h2>

      <p>Im unteren Feld steht Ihnen nun der Quellcode der oben gezeigten Vorschau zur Verfügung.<br>

      <br><br>

      <iframe scrolling="no" src="PHP_Scripts/quelltext.php" height="440" width="510">

      </iframe> 

      <br>

      </p>

      <p>

      Jetzt den Quellcode so wie er oben steht bei Facebook importieren, und schon ist die App wieder auf dem neuesten Stand.

      </p>

      <br><br><br>

      <div align="center">

      Version :   1.0  /  Stand : 04.10.2011

      </div> 

    </section>

  <!-- end .content --></article>

  <aside_right>

    <h4>Tipps</h4>

    <p>Sollten Sie schwirigkeiten haben mit der App umzugehen, werfen Sie ruhig einen Blick ins How To. Zu finden in der linken Menüleiste unter How To.</p>

  </aside_right>

 <footer>

  <img class="img_aneinander" src="Bilder/unten_links.jpg">

  <img class="img_aneinander" src="Bilder/verlauf_1.jpg" width="520" height="90">

  <img src="Bilder/unten_rechts.jpg">

 </footer>

<!-- end .container --></div>

</body>

</html>

Ich kann wie gesagt nichts mehr finden. Und Opera und Firefox bekommen das ja super hin.

Vielen dank schon mal =)

Link zu diesem Kommentar
Auf anderen Seiten teilen

warum verwendest du Elemente, die in (X)HTML nicht enthalten sind? ("nav", "aside_left1", "article", "section", ...)

diese lassen sich durch div Elemente mit entsprechenden Klassen oder IDs ersetzen

(ich kann aber nicht sagen, ob das zwingendermaßen zu einem Fehler führt)

mir ist außerdem aufgefallen, dass du im CSS-Code teilweise Einheiten weg lässt (scheinbar bei 0-Werten)

der Sauberkeit wegen würde ich auch an diesen Stellen Einheiten hin schreiben

ich habe einfach mal statt des von dir verwendeten Doctypes folgenden verwendet

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

dadurch war der Inhalt zentriert und die Titelleiste dürfte aussehen, wie sie soll (ich konnte das nicht nachprüfen, da mir die entsprechenden Bilder fehlen)

die Navigation scheint dadurch noch nicht richtig zu funktionieren

der Grund: aufgrund der fehlenden URL bei deiner Angabe wechselte der IE in den Quirks-Modus und stellte die Seite nicht mehr richtig dar

du musst also nicht zwingendermaßen XHTML verwenden

siehe dazu auch Doctype-Switching und Browserübersicht

zusammengefasst würde ich sagen, dass die Seite eher mäßig bis schlecht erstellt wurde

der Verlauf sollte nicht als Bild eingefügt werden, sondern als Hintergrund eines anderen Elements, da dieser lediglich für das Design der Seite relevant ist

schau dir diesbezüglich die Seiten CSS4you und den CSS Zen Garden an

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hallo und liebe Grüße,

die Elemente wurden von Dreamweaver so vorgegeben und drum hab ich sie schlicht weiter verwendet. Schien ja auch erst mal zumindest im FF ordentlich zu funktionieren :D. Der neue Doctype verbessert das ganze schon mal enorm. Seite ist zentriert und die Navigation in der Sidebar läuft auch und funktioniert. Die Seite ist halt im moment noch im Aufbau darum fehlte noch der ein oder andere Link. Habe ich nun auch nachgetragen.

was genau meinst du mit

"der Verlauf sollte nicht als Bild eingefügt"?

Nun macht der IE nur noch am ende der Navigation Schluss mit der Sidebar :D.

Sieht dann so aus

post-63613-14430449135944_thumb.jpg

Meine Vermutung wäre dass er Probleme damit hat wenn man im quasi 2 oder mehr Sidebars für die Linke Seite angeben möchte.

Aber nur Navigation oder nur Sidebar is irgendwie öde :D.

Link zu diesem Kommentar
Auf anderen Seiten teilen

ok, anscheinend kenne ich noch keine HTML5-Tags (aber du hattest im Doctype HTML 4.01 angegeben ^^)

mit dem Bild habe ich mich vielleicht nicht ganz eindeutig ausgedrückt:

du hast den Verlauf mit Hilfe eines IMG-Elements eingefügt

besser wäre es, das Bild über CSS einzufügen, damit eine saubere Trennung zwischen Daten und Design gewahrt bleibt

beispielsweise könnte es als Hintergrundbild eingebunden werden

ich gehe davon aus, dass der IE Probleme mit den Elementen aside_left1 und aside_left3 hat

diesen wird zwar eine feste Höhe zugewiesen, diese scheint aber nicht verwendet zu werden

du müsstest statt dessen wohl andere Elemente (beispielsweise div-Elemente) verwenden und diesen dann eine entsprechende Klasse zuweisen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hab ich gerade noch mal nachgelesen =) Die ganzen Elemente aside, section, article und so weiter sind html 5 tags.

Ja eigentlich soll im Doctype für html 5 ja nur noch <!DOCTYPE html> stehen brauchen. Aber ich vermute mal dass die Browser damit noch nicht zurecht kommen. Also hab ich erst mal nen 4.01 genommen weil die Darstellung in FF und Opera dann erst mal sauber funktionierte.

Ja die Größe der aside_left1 interessiert den IE gar nicht. Füge ich da einfach mal nen <br /> zwischen ein dann verlängert sich die Sidebar wunderbar. Aber ich kann ja nich 200 <br /> Tags da rein hemmern um bis nach unten ne Sidebar zu haben :D :D :D.

Ich werde gleich erst mal versuchen die "aside" Elemente zu ersetzen.

Ach du meinst mit dem Verlauf bestimmt das Image für den Farbverlauf vom blauen ins weiße jeweils im header und im footer richtig? Ja das stimmt das ist ein Image. Genau genommen ja eine Zusammensetzung aus drei Bildern. Aber ich denke der Ansatz dass auch per CSS zu definieren ist gut machbar. Werde ich auch gleich ausprobieren :D. Mal sehen was der IE dann dazu sagt :D.

Wenn man das ganze durch den W3C Validator jagt und HTML 5 extra angiebt dann gibt er die aside und so weiter Tags auch nicht mehr als Fehler aus. Unter HTML4 schon =).

Bearbeitet von Vanlange
Link zu diesem Kommentar
Auf anderen Seiten teilen

Sooo kleiner Nachtrag :D es funktioniert jetzt alles wunderbar auch im IE.

Ich habe recherchiert und nachgeforscht und gegoogelt und so weiter :D. Es gibt die Möglichkeit

in die HTML Seite ein Javascript einzubauen welches dem IE einfach sagt was er mit HTML 5 Tags zu machen hat die er nicht kennt.

IE kennt nur zwei oder drei HTML5 Tgas. Unter anderen das <video> und <audio> aber das wars auch schon im großen und ganzen.

Mit dem Javascript werden aber alle HTML5 Tags im IE super verarbeitet und das Ergebniss ist eine Seite wie sie im FF und Opera zu sehen ist =).

Ach ich bin begeistert :D.

Vielen Dank an Sacaldur auf jeden Fall für deine Hilfe das hat mir schon sehr viel weiter geholfen =).

Hier einmal der Link für alle Interessierten

HTML5 Unterstützung für den Internet Explorer » HTML5, Webstandards » MountainGrafix » Agentur für visuelle Kommunikation in Reutte

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...