CSS IE zeigt alles fett an und Navigationsleiste und text bündig darstellen

Rauchender Hase

Cadet 3rd Year
Registriert
Feb. 2009
Beiträge
51
Hallo allesamt,

ich habe ein kleines Problem mit meiner Website und bitte euch um Hilfe! Erstmal ich bin laie was den ganzen html kram angeht und hab mir in den letzten zwei Wochen mein Grundwissen aus dem Informatik Kurs 8. Klasse wieder aufgefrischt und erweitert :D

Lange Rede gar kein Sinn:

Die Website die ich programmiert habe hat links und oben Navigationsleisten und in der Mitte den jeweiligen Inhalt.


1. Die komplette Website wird in allen Browsern richtig dargestellt außer im IE. Der IE zeigt alles fett an und nicht wie bei den anderen Browsern wenn man rüberhovert. Woran kann das liegen. Quelltext füge ich unten an!

2. Ich hab auf jeder einzelnen Seite mit dem "padding" befehl versucht die Navigationsleiste links bündig mit dem text in der Mitte darzustellen. Nun hab ich gemerkt, dass dies nur im firefox bündig erscheint und nicht wirklich in den anderen Browsern. Habt ihr ne Idee wie ich beides global bündig darstellen lassen kann?

Hier der Quelltext
HTML:
<!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">
	<head>
	 <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
	 <meta http-equiv="Content-Style-Type" content="text/css"/>
		<title>
                         ...
		</title>
        <link rel="shortcut icon" href="favicon.ico" type="images/x-icon" />
		<link href="UnderConstruction2.css" rel="stylesheet" type="text/css" />
		<link href="Navigation.css" rel="stylesheet" type="text/css" />
		<link href="Links.css" rel="stylesheet" type="text/css" />
	</head>
<body>
	<img src="logo.png" alt="Logo" width="180" height="75" border="0" style="position: absolute; left: 10px; top: 15px;" /><br />
<br />
<br />
<br />
<br />
<br />
<br />
<font>
<div id="Rahmen"><ul id="Navigation">
    <li><a href="index.html">Home</a></li>

    <li><a href="unternehmen.html">Unternehmen</a>
      <ul>
        <li><a href="philosophie.html">Unternehmens-<br />philosophie</a></li>
        <li><a href="hintergrund.html">Unternehmens-<br />hintergrund</a></li>
        <li><a href="team.html">Das ARIAD Team</a></li>
		<li><span>Wissenschaftliche Koorperationspartner<span></li>
		<li><a href="kontakt.html">Kontakt</a></li>
      </ul>
    </li>

    <li><a href="advisory.html">Leistungen</a>
       <ul> 
        <li><a href="advisory.html">IP Advisory Services</a></li>
        <li><a href="transaction.html">IP Transaction Services</a></li>
		<li><a href="mgt.html">IP Asset Mgt. Services</a></li>
       </ul>
    </li> 
    <li><a href="geschaeftsfelder.html">Gesch&auml;ftsfelder</a>
      <ul>
        <li><a href="holdings.html">Unternehmen/<br />Technologieholdings</a></li>
        <li><a href="pequity.html">Private Equity/Venture Capital</a></li>
        <li><a href="ma.html">M&A </a></li>
		<li><a href="strategie.html">Strategie/Due Diligence</a></li>
		<li><a href="restrukturierung.html">Restrukturierung/<br />Reorganisation</a></li>
        <li><a href="management.html">Asset/Portfolio<br /> Management</a></li>
      </ul>
    </li>

    <li><a href="presse.html">Aktuelles</a>
       <ul> 
        <li><a href="presse.html">Presse</a></li>
        <li><a href="veranstaltungen.html">Veranstaltungen</a></li>
		<li><a href="links.html">Interessante Links</a></li>
       </ul>
    </li> 
	
	<li><a href="kontakt.html">Kontakt</a></li>
    <li><a href="praktikanten.html">Karriere</a></li>
		</ul>
	<img src="Bild1.gif" alt="Linie" width="1100" height="2" border="0" />
<br />
<br />
<br />
 <table id="haupt"><tr>
  <td id="left"><ul id="Links" style="padding: 0em 0em 3.2em;">
    <li><a href="unternehmen.html">Unternehmen</a></li>
        <li><a href="philosophie.html">Unternehmens-<br />philosophie</a></li>
        <li><a href="hintergrund.html">Unternehmens-<br />hintergrund</a></li>
        <li><a href="team.html">Das ARIAD Team</a></li>
		<li><span>Wissenschaftliche Koorperationspartner</span></li>
		<li><a href="kontakt.html">Kontakt</a></li>
  </ul></td> 
  <td id="inhalt"><h5 align="justify">

<b><u>...</b></u>

  </h5></td>
  </tr>
  </table>
<br />
<br />
<br />
<br />
	<img src="Bild1.gif" alt="Linie" width="1100" height="2" border="0" />
<br />
<br />
	<img src="uk.gif" alt="uk" border="0" /><a href="index_en.html" style="text-align: right;text-decoration: none;color:#003366;"> English </a> &nbsp; &nbsp; | &nbsp; &nbsp; <a href="impressum.html" style="text-align:right;text-decoration: none;color:#003366;">Impressum </a> &nbsp; &nbsp; | &nbsp; &nbsp; <a href="sitemap.html" style="text-align:right;text-decoration: none;color:#003366;">Sitemap</a> &nbsp; &nbsp; | &nbsp; &nbsp; <a href="disclaimer.html" style="text-align:right;text-decoration: none;color:#003366;">Disclaimer</a> 
</div>
</font>
</body>
</html>
Hier die CSS Stylesheets:
HTML:
UnderConstruction2.css:


font {
	font-family: Tw Cen MT, Helvetica, Arial, sans-serif;
	color: #003366;
	text-align: right;

}
body {
	font-family: Tw Cen MT;
	background:url(bg.png) center top repeat-y;
	position:relative;
    margin:0 auto;
    width:1100px;
    min-height:600px;
    padding:10px;
	a:link { color:#003366; }
	a:visited { color:#FF9900; }
	a:active {
	color: #FFFFFF;
}

table#haupt{
  padding-bottom:10px;
  border-collapse:collapse;
}

table#haupt td{
  vertical-align:top;
  padding:0;
}

table#haupt td#left{
  padding-top:0px;
  width:50em;
}

td#inhalt{
  width:400px;
  height:300px;
}


Navigation.css:


@charset "utf-8";
/* CSS Document */

}
  div#Rahmen {
    width: 1500px;
    padding: 0.6em;
	position:relative;
    background-color: white;
  }
  div#Rahmen div {
     clear: left;
  }
  ul#Navigation {
    margin: 0; padding: 0;
    text-align: center;
  }

  ul#Navigation li {
    list-style: none;
    float: left;  /* ohne width - nach CSS 2.1 erlaubt */
    position: relative;
    margin: 0.6em; padding: 0;
  }


  ul#Navigation li ul {
	font-size:0.8em;
    margin: 0; padding: 4px 15px;
	text-align:left;
    position: absolute;
    top: 1.6em; left: -0.4em;
    display: none;  /* Unternavigation ausblenden */
	background:#FFF
  }

  ul#Navigation li:hover ul {
    display: block;  /* Unternavigation in modernen Browsern einblenden */
  }
  ul#Navigation li ul li {
    float: none;
    display: block;
    margin-bottom: 0.2em;

  }

  ul#Navigation a, ul#Navigation span {
    display: block;
    width: 6.6em;  /* Breite den in li enthaltenen Elementen zuweisen */
    padding: 0.2em 1em;
    text-decoration: none; 
    color: #003366; background-color: white;
  }
  ul#Navigation a:hover, ul#Navigation span, li a#aktuell {
	font-weight: bold;
    color: #003366; background-color: white;
  }
  ul#Navigation li ul span {  /* aktuelle Unterseite kennzeichnen */
    background-color: white;
  }


Links.css:


  @charset "utf-8";
/* CSS Document */
  
  ul#Links {
    width: 12em;
    margin: 0; 
    background-color: white;
  }

  ul#Links li {
    list-style: none;
    margin: 0.4em; padding: 0;
  }

  ul#Links a, ul#Links span, ul#Links h2 {
    display:block;
    padding: 0.2em;
    text-decoration: none;
    color: #666666; background-color: white;
	text-align:left;
  }
  
  ul#Links a:hover, ul#Links span {
	font-weight: bold;
    color: #666666; background-color: white;
  }
So das ist fürs erste der Code. Vielleicht habt ihr ne Idee! Falls es noch weitere Anregungen gibt gerne her damit :)

Danke schon mal

Rauchender Hase
 
Ohne das jetzt alles ins Kleinste zu analysieren würd ich sagen: Abreißen, neu bauen.
- <br> ist KEIN Abstandshalter. <br> ist ein bedingter Zeilenumbruch, so wie Shift-Enter in Word & Co.... nützlich für mehrzeilige Elemente wie Adressen, aber absolut nicht dafür gedacht, Dinge zu positionieren
- <table> mit etwas anderem als tabellarischen Daten zu füllen ist falsch. <table> für Layouts zu verwenden ist komplett falsch, ein Schritt zurück in die 90er.
- <font> ist tot. Dieses Element sollte man auf keinen Fall verwenden, genauso wenig wie z.B. <marquee>
- dein DOCTYPE ist zwar gültig, aber veraltet
 
Danke erstmal für die tipps! Font habe ich entfernt. Hat mein problem im IE gelöst. Dafür danke!

Neu bauen wird etwas schwierig. Deswegen würde ich lieber die Website optimieren.

Ums layout muss ich mir dann nochmal Gedanken machen.

Hast du eine sinnvolle Alternative für <br> die ich benutzen könnte?
 
okay super damit wäre das <br> gedöns auch vom tisch. Danke!!!

Könnt ihr mir sonst noch einen Tipp geben wie ich das Layout ohne Tabelle am besten gestalte?

Dann seid ihr mich auch los^^
 
Es ist scheißegal, ob es schwierig wird, das Layout jetzt standardgemäß umzusetzen. Wenn du es jetzt nicht machst, dann fällts dir später mit Schmackes auf die Füße.

1.) <table> wird von Suchmaschinen ganz anders behandelt als korrekt strukturiertes HTML. Innerhalb von <table> erwarten die Dinger, wie überraschend, tabellarische Daten...
2.) Table-Layouts sind nicht barrierefrei. Auch Sehbehinderte nutzen das Internet, aber deren Screenreader und Braille-Terminals können mit Table-Layouts kaum was anfangen
3.) <table> lässt sich nicht dynamisch per CSS umstrukturieren, um eine andere Content-Aufteilung für Smartphones/Tablets zu zeigen. Ignorierst damit ja nur den aktuell wichtigsten Kundenkreis... Oder wie würdest du es bei deiner Table machen, dass du bei breiten Bildschirmen deine Navi links in ner Spalte hast, auf schmalen Displays aber lieber über dem Content?
4.) Elemente per JS zu modifizieren ist bei <table> um einiges kniffliger, da du immer auf die Spaltenzahl achten musst. Auch sonstige Änderungen am Code sind einfach nur PFUI

Die 90er sind vorbei, <table> ist kein Designelement mehr.... und Abstände macht man mit Margin und Padding, je nachdem welches Verhalten man benötigt.

Oh, und du könntest dir sicher 10% Code sparen, wenn du nicht so wild mit Inline-Styles um dich werfen würdest.
 
Du brauchst zwei Containerelemente (z. B. <div> oder für HTML 5 <section>), die du jeweils nach links oder rechts floaten lassen musst. Mehr tut deine Tabelle aktuell nicht.
 
Okay danke auf jeden Fall. Ich hab die Tabellen entfernt und versuche mich jetzt daran beides wieder nebeneinander zu bekommen!
 
Kausalat schrieb:
Du brauchst zwei Containerelemente (z. B. <div> oder für HTML 5 <section>), die du jeweils nach links oder rechts floaten lassen musst. Mehr tut deine Tabelle aktuell nicht.
Die HTML5-Elemente <section> und <article> sollten NICHT blind als Ersatz für <div> verwendet werden. Sämtliche neuen Elemente haben eine semantische Bedeutung, an die man sich genau halten soll.

So ist ein <aside> z.B. falsch, wenn man darin eine allgemein gehaltene Seitenleiste lagert, z.B. mit Navigation, nem Link zum Newsletter, nem Login,... Hättest du hingegen passend zum Content eine Seitenleiste, die weitere Informationen zum Content liefert, dann wäre <aside> wieder korrekt. Man könnte z.B. im Hauptblock ein Hotel vorstellen (hier kann man sich um <section> oder <article> streiten) und im <aside> z.B. Google Maps und das aktuelle Urlaubswetter einbinden.

Wenn man sich nicht sicher ist, welches Element semantisch korrekt ist, dann nimmt man auch weiterhin <div> für Blockelemente und <span> für Inline.

Richtig interessant ist die korrekte Verwendung von <header> und <footer>. ...
 
Von blindem Elementeinsatz sprach ich nirgends. Man beachte meine Satzsyntax ("z. B."). Damit impliziere ich keinesfalls, dass <section> das Allheilmittel ist.

Im Übrigen sollte Semantik nicht überbewertet werden. Ein sauberer Quellcode mit einem roten Faden ist gut für die Suchmaschinenoptimierung, ja. Großes Philosophieren über Lapalien hingegen ist wohl ein Problem von Berufswebdesignern [der du ja bist].
 
Zuletzt bearbeitet: (Ergänzung, da erneutes Verständnisproblem)
Ich BIN Webentwickler, also muss ich mich damit natürlich auseinander setzen.
Deinen Vorschlag hab ich schlichtweg so gelesen, dass du keine Unterscheidung zwischen <div> und <section> getroffen hast, bzw. nur die Verwendung von HTML5 als Unterschied angesetzt hast. Das ist nun einmal falsch.
 
Zurück
Oben