Div beachtet die Prozent-Angaben des stylesheets nicht

  • wieso zeigt mir im IE6 mein Div den kompletten inhalt an, obwohl ich via stylesheet prozentuale Angaben gemacht habe?
    mir scheint ich brauche doch ein eigenes stylesheet für jede Auflösung und muss dann das richtige stylesheet via javascript implementieren, doch dann ist das alles ja nicht mehr barrierefrei!

    hier mal der code:

    Stylesheet-Auszug:

    Quellcode-Auszug

    im firefox2.0 klappt es so, wie es soll, nur im IE6 nicht

  • class ist veraltet, benutze lieber id.

    hm, ich kann nur vermuten, aber kann es sein, dass der IE eventuell die angaben anders interpretieren würde, wenn du die Angaben anders setzt?

    Hab bei mir

    width: ...;
    height:...;

    overflow: auto;

    position: absolute;
    left: 15px;
    top: 174px;

    und klappt prima

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • ist ID nich nen "ersatz" für name gewesen??
    und der nächste knaller:
    ich hab den von mir oben geposteten code nochma separiert in iner extra html-file getestet, da hat es so geklappt, wie es sollte.
    ich könnt ja so langsam verzweifeln, aber die hoffnung stirbt zuletzt.

    du hast bei height und width .... geschrieben, aber genau da is ja bei mir der knackpunkt an der ganzen geschichte.

    edit: bei id ist das ganze layout geschrottet!!!

  • Der IE weiß offensichtlich nicht, von welchem Wert er 60 % nehmen soll.
    Gib deshalb mal noch das in den body:

    Code
    width:100%;
             height:100%;

    Übrigens: .karte kannst du so vereinfachen:

    Wenn padding überall gleich ist, reicht einmal der Wert.
    Ansonsten gilt die Reihenfolge im Uhrzeigersinn: oben, rechts, unten, links:
    margin: 30px 20px 30px 20px;
    Stimmen die gegenüberliegenden Werte überein reicht margin: 30px 20px;

  • Ich kann da bei mir keinen Unterschied erkennen.
    Dann nimm die Werte beim body wieder raus und definiere sie lediglich für den IE per conditional comment:

    Füge dann das noch in die CSS:

    Code
    * html body {width:100%; height: 100%;}

    edit:
    könnte aber auch am position absolute liegen. Das brauchst du eigentlich überhaupt nicht. Erhöhe stattdessen einfach den margin-top-Wert.

  • hab noch nicht mit conditional comments gearbeitet, kannst du mir des etwas genauer erklären?
    und wofür ist beim style das sternchen?
    kann ich den conditional comment in die normale css einfügen oder brauch ich da ne extra css für?

    edit: und ich teste das immer wieder bei 7 verschiedenen auflösungen.
    und mir ist grad aufgefallen, daß der menü-hover-effekt beim ie ausbleibt, was vorher auch nicht war-.-

  • das Conditional sollte eigentlich nur wie gesagt vom IE erkannt werden, die anderen Browser können halt nix direkt damit anfangen, ja kannste eigentlich in die Seite so reintun.

    Aber mal was anderes, willst du nicht vielleicht die Seite doch etwas überarbeiten, designmäßig? du hast zwar mit JS wohl einiges geleistet , aber wenn du es deaktiviert hast, ... naja , die Aussage "für volle Funktionalität" ist schon leicht untertrieben, das gesamte Design ist ja zerschossen...

    letztendlich absolute sicherheit auf allen auflösungen wirst du sowieso nie zu 100% erreichen, zumindest nicht mit der Methode, was bringt es dir wenn der Browser alle Auflösungen, aber nur unter der Bedingung von JS erkennt?
    Daher baue lieber das Design wenn möglich auf 800x600 und nur Farbverläufe und nicht unbedingt zu fixierende Sachen in Div-Container .

    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.
    [Blockierte Grafik: http://www.snippr.de/social/img/logo.png]
    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  • Da der IE mit CSS die meisten Mucken macht, kann man speziell Angaben definieren, die nur er lesen kann.
    Wenn du * html vor den betreffenden Selektor stellst (hier: * html body) dann kann damit nur der IE<7 was mit anfangen. Gib einfach mal ne andere background-color da ein. Im FF bleibt die vom regulären body, im IE erscheint die unter * html body definierte. Meist benutzt man das für abweichende padding und margin Werte.

    Das mit dem hover kann ich nicht nachvollziehen. Da wäre ein Link mal hilfreich.
    Du hast das aber auch falsch definiert.
    Statt

    Code
    .menulink:hover {
      color:#FFFFFF;}


    nimm

    Code
    a.menulink:hover {
      color:#FFFFFF;}


    Ebenso entsprechend bei allen anderen.

  • also der link zur kompletten site ist
    http://home.arcor.de/synaptic/stickerfood/index2.html

    und ich dachte man kann den hover-effekt auf alles möglichen style-klassen anwenden... ich hab ne frei benannte gewählt, weil ich ja nur bei den menülinks nen hover-effekt haben will bei dem sich das hintergrundbild ändert. bei den übrigen links reicht es ja, wenn sich die farbe etwas ändert.
    aber ich werd mal eben deinen oben genannten vorschlag in die tat umsetzen.
    ich muss dann praktisch zwei bodyklassen erstellen oder??
    * html body und body?

  • Zitat von K.Y.L.T.

    class ist veraltet, benutze lieber id.


    Auch wenn es jetzt vom Thema ablenkt....

    Zitat

    So wie Sie Formate für Klassen definieren können, die in HTML mit dem Universalattribut class angesprochen werden, können Sie auch Formate definieren, die über das Universalattribut id angesprochen werden. Da die Wertzuweisung an ein solches Attribut ein dokumentweit eindeutiger Name sein sollte, handelt es sich also einfach um eine zentrale Formatdefinition für das eine Element mit diesem id-Namen. In CSS werden die id-Namen allerdings nicht nur wie beispielsweise in JavaScript als dokumentweit eindeutige Bezeichner betrachtet, sondern auch als elementtypweit eindeutige Bezeichner.


    Quelle: selfhtml

    Eine id wird dann anstelle einer class benutzt wenn die Formatierung auf einer Seite nur einmalig verwendet wird. Deshalb wird eine id vor allem bei Div-Containern verwendet, da diese Container oft einmalige und große Bereich bezeichnen. Beispiele: Content, Navi, Header, Footer

  • also so ganz hat es mich nicht abgelenkt..
    sejuma, ich hab das jetzt mal so gemacht, wie du mir geraten hast. das eigentliche Layout passt jetzt an sich schon... nur irgendwie beseitige ich grad eine sache und hab danach nen neues prob^^, natürlich dann eins, was vorher nicht da war -.-
    der hover-effekt funzt noch immer nicht bei mir, bzw funktionierte der mal im ie6^^.
    ach das regt mich irgendwie grad alles voll auf. es fing an mit xhtml-konformität und entwickelte sich über den tag hinweg zum desigmässigen desaster *heul*