Probleme mit style

hallo, ich habe ein kleine Browsergame entwickelt, und habe nun ein Problem mit dem style, und zwar, wir es überall angewendet, ich möchte es aber nur in der naviagationszeile anzeigen.

stylsheet:
http://hkgame.de/stylsheet.css
URL
HK - The Game

Was willst du nur in der Navigationsleiste anzeigen?

Bevor du weiter hier fragst würde ich an deiner Stelle dringend den HTML-Quellcode anpassen. Da fehlen so ziemlich alle grundlegenden HTML-Elemente. Schau dir das Grundgerüst nochmal an und korrigiere danach auch alle restlichen Fehler:

[Invalid] Markup Validation of http://hkgame.de/index.php - W3C Markup Validator

kann das sein, dass der mit php nicht klar kommt, denn der meckert, dass eine seite highscore.php?von=0&bis=30 heißt, was aber im php ganz normal ist.

außerdem sieht der „


“ als fehler, bzw der mag generell kein />

auch bei den umgeänderten umlauten zeigt er fehler an, wie ä

bzw die navigazions leiste soll in etwa so aussehen:

Pennergame Hilfeseite PennerKenner

Ein HTML-Validator erkennt kein PHP zumal PHP vom Server geparst wird. Was an dieser URL falsch ist ist die Kodierung der &'s. Eigentlich müsste es so aussehen im HTML-Quellcode:

highscore.php?von=0&bis=30

außerdem sieht der „


“ als fehler, bzw der mag generell kein />

Du hast weiterhin keinen Doctype angegeben, daher springt der HTML-Validator wie auch jeder Browser in den Quirksmodus um. In diesem wie auch bei allen HTML-Doctypes ist das beenden von einzelnen HTML-Tags mittels / am Ende nicht zulässig. Wenn du


nutzen willst und der Code valide sein soll müsstest Du einen XHTML-Doctype angeben.

auch bei den umgeänderten umlauten zeigt er fehler an, wie ä

Hängt vermutlich ebenfalls mit dem fehlenden Doctype und auch mit dem fehlenden Zeichensatz zusammen.

bzw die navigazions leiste soll in etwa so aussehen:

Pennergame Hilfeseite PennerKenner

Das ist auch in dieser Vorlage eher miserabel implementiert, sieht in meinem Firefox auch etwas merkwürdig aus. Auch dort ist der Quellcode sehr fehlerhaft. Schau dir lieber mal die Grundlagen für CSS-Menüs an:
http://www.css-menü.de/
Tips und Tricks

Vielen dank, ich werde jetzt aber offline gehen, und mir das morgen ansehen, aber kannst du mir das mit dem doctyp erklären, bzw wie ich die fehler beheben kann?

mfg
zipper

Das mit dem Doctype ist eigentlich relativ einfach erklärt. Es gibt ja verschiedene HTML, XHTML und auch verschiedene CSS Versionen. Um jetzt dem Browser zu sagen, wie er das, was vom Webserver kommt, interpretieren soll, dazu gibt es den Doctype. Fehlt der Doctype, dann schaltet der Browser automatisch in den Quirksmodus, d.h. er versucht eine Art „Minimalstandard“ anzuwenden. Da die verschiedenen Browser diesen Minimalstandard interpretieren, bit es da dann auch unterschiedliche Darstellungen der gleichen Inhalte.

Weitere Informationen zum Doctype: SELFHTML: HTML/XHTML / Allgemeine Regeln für HTML / Grundgerüst einer HTML-Datei

Gruß thuemmy

hab nun folgendes hinzugefügt:

oder sollte ich das EN durch ein DE ersetzen?

Nein. Das steht für die Sprache der HTML-Tags, die logischerweise englisch und nicht deutsch ist.

wieso wird das jetzt alle so kacke dargestellt?
Pennergame Hilfeseite PennerKenner

ich habe da drei seiten, ganz oben die seite global.php, dann eine hr und die hauptseite, dann wieder eine hr und dann ende.php. aber nun werden die beiden hr’s oben angezeigt, obwohl die eine ganz unten sein müsste. wie kann ich das ändern?

[LEFT]Dir fehlt weiterhin das Grundgerüst für eine HTML-Seite:
SELFHTML: HTML/XHTML / Allgemeine Regeln für HTML / Grundgerüst einer HTML-Datei
[/LEFT]

Ich habe den typ deklariert, und etc eingefügt, was fehlt denn noch?

So einiges ist immernoch falsch. Z.B. gehört das

[code]

[/code]

in den head-Bereich.

Außerdem hast du 2 Mal html geöffnet:

[code]

[/code]

Weiterhin würde ich dir die Ausgabe des o.g. Validators nahe legen. Solange dein Quellcode nicht wenigstens valide ist lassen sich Fehler in der Darstellung nur ratenderweise lösen.

welcher viladator?

hab ich doch schon drin?

Der Validator ist ein externes Programm, welches deinen HTML-Code prüft.
The W3C Markup Validation Service (englisch)
HTML / XHTML / XML / WML Validator (deutsch, aber etwas strenger)

Das XHTML 1.1-Dokument wurde mit dem MIME-Type „text/html“ ausgeliefert, was jedoch nicht empfohlen wird.
Ändern Sie bitte den MIME-Type zu „application/xhtml+xml“
ich kann nirgendwo text/html finden ?

Es wurde keine Angabe zur Zeichenkodierung gefunden. Aus diesem Grund wurde UTF-8 verwendet.
wie mache ich das denn?

im Element table ist das Attribut background nicht erlaubt.

wieso das?

Im Element td ist das Attribut width nicht erlaubt.

Ich versteh das alles nicht :frowning:

Das wird auch im header der Seite geschickt, nur sichtbar wenn du auch den header mal abfragst. Um das Problem zu lösen würde es schon reichen einen anderen Doctype zu verwenden, z.B. xhtml 1.0 transitional.

wie mache ich das denn?

Zeichensatz als meta-Tag angeben. Steht ebenfalls bei selfhtml.

background und width sind HTML-Attribute die man in xhtml nicht verwenden sollte. Nutze stattdessen CSS um Gestaltungen wie Hintergrundbilder festzulegen.

ok, aber wie mache ich denn nun das mit css, dass der style nur bei einer tabelle wirkt, ich habe es mit

probiert, es geht aber nicht, btw jetzt ist der hintergrund überall so, wie er eigentlich nur da sein sollte.

ich habe nun die zeichencodierung festgelegt.

danke schonmal, dass ihr mir geholfen habt :wink:

und welchen Content-Type würdet ihr mir empfehlen?

Dazu kann man Selektoren oder IDs oder Klassen verwenden. Das, was Du da geschrieben hast, ist eine ID (aber keine Tabelle, wie Du sagst).

Due hast folgende Möglichkeiten, beispielsweise:

<table id="Bundesliga1">

table#Bundesliga1 {
...
}

Das ist eine ID. Nur für Tags mit Namen „table“ und der ID (kenntlich gemacht durch das „#“) mit Namen „Bundesliga1“ gilt diese Angabe im Stylesheet. Du könntest auch „table“ im CSS weglassen, dann gilt das für alle Elemente mit der ID, auch für nicht-tables.

<ul id="Liste">
  <li class="typ1">...</li>
  <li class="typ1">...</li>
  <li class="typ2">...</li>
  <li class="typ3">...</li>
  <li class="typ3">...</li>
</ul>

.typ1 {
...
}
li.typ2 {
...
}
ul#Liste li.typ3 {
...
}

Hier definierst Du mit „.typ1“ alle Elemente der Klasse (über den Identifikator „.“) mit Namen „typ1“.
Mit „li.typ2“ machst Du Angaben für alle Elemente „li“ mit der Klasse „typ2“.
„ul#Liste li.typ3“ hingegen gilt für alle Elemente „li“ mit der Klasse „typ3“, die unterhalb des Elements „ul“ mit der Id „Liste“ liegen. Das ist ein Selektor.

Es gibt noch einige Möglichkeiten mehr, lies Dich mal ins Thema ein.

nun hab ich es mal so probiert:

*[typ|=nav] {
a {
      display:block;
      color:#000;
      width:90px;
      padding:7px;
      font-size:14px;
      font-family:Verdana, Arial, sans-serif;
      font-weight:bold;
      text-decoration:none;
      text-align:center;
      background-image:url(background/back_button_frame.png);
      }
   a:hover {
      display:block;
      color:#000;
      background-image:url(background/back_button_frame_.png);
      }
}

Und in der Menülieste dann: <span typ="nav"> MEINE LINKGS </span>
aber es geht immer noch nicht :frowning:

und das mit table hab ich nicht ganz verstanden,

wenn ich

[code]


table#navigation {

a {

  display:block;

  color:#000;

  width:90px;

  padding:7px;

  font-size:14px;

  font-family:Verdana, Arial, sans-serif;

  font-weight:bold;

  text-decoration:none;

  text-align:center;

  background-image:url(background/back_button_frame.png);

  }

a:hover {

  display:block;

  color:#000;

  background-image:url(background/back_button_frame_.png);

  }

}
[/code]
Probiere weiß ich nicht, was ich dann bei der menüleiste machen muss.

Es gibt im span-Tag kein Attribut namens „typ“. Du kannst nicht einfach was neues definieren.

Und Dein Code mit der Tabelle ist gemischt und unvollständig und fehlerhaft.
Außerdem sind Tabellen für tabellarische Daten, nicht aber für Menüs. Die zeichnet man als Liste aus.

Außerdem verschachtelst Du da immer irgendwas, das geht auch nicht.

table#navigation {
a {

Sowas z.B. Du musst table#navigation erst wieder schließen, bevor Du a aufmachst.

Wenn Du Links innerhalb der Tabelle definieren wllst, muss es heißen:

table#navigation a {
...
}