• Hallo,
    ich bin gerade mal wieder über was gestolpert, was ich nicht kenne. Und natürlich will ich wissen was das ist und wie es funktioniert.
    In einer Website , die der Autor "selbst geschrieben" hat, indem er die Teile im Web zusammen-kopiert hat, kommt folgendes im CSS vor:

    Code
    p.showMe a.more:active {*display:none;}
    p.showMe a.more:active ~ span {*display:inline;}
    p.showMe a.more:active + a.less {*display:inline;}
    p.showMe a.less:active {*display:none;}

    Ich vermute, dass das von http://www.cssplay.co.uk/menu/showme-more.html kopiert wurde, oder von jemandem, der es dort abgeschrieben hat. Aber was bewirken die Sternchen beim Attribut? (Hier geht es also nicht um den Universal-Selektor und wohl auch nicht um den Star-Hack.)

    • Offizieller Beitrag

    Doch, es wird um den Star-Hack gehen. Der unterscheidet sich vom Underscore-Hack dadurch, dass dieser bis IE7 greift, der Underscore hingegen bis IE6.
    Einen anderen Sinn hat ein Stern an der Stelle nicht!

    Anzumerken sei noch, dass der Safari in einigen Versionen Konsolen-Warnungen wirft, wenn diese Hacks verwendet werden.
    Ich sehe ehrlich gesagt auch heute keinen Grund, auf diesen Hacks aufzubauen.

  • Bei Star-Hack steht das Sternchen aber doch beim Selektor, nicht beim Attribut.

    Code
    *p.showMe a.more:active {display:none;}

    wäre für IE6,

    Code
    p.showMe a.more:active * {*display:none;}

    für IE 6 und 7. Aber beim Attribut kenne ich sowas nicht. Kennst du einen Link, wo das beschrieben ist?

    • Offizieller Beitrag

    Bspw. hier: https://learntech.imsu.ox.ac.uk/blog/?p=494 ( keine Referenz, nur eben schnell per Google gefunden )

    Vor dem Selektor kenne ich wiederum nicht. Das ist für mich eher eine "Wildcard"-Rule. Das Sternchen als Selektor gilt für alle Elemente des Scope.
    Ob es auch ein IE Hack ist, wenn man das ohne Leerzeichen vor einen anderen Selektor hängt, kann ich nicht sagen, ich kenne die Hacks nur auf Attribut-Ebene.

  • Danke. Ich weiß zwar nicht, wonach du gegoogelt hast, aber offensichtlich hast du gefunden, was ich so lange vergeblich gesucht habe. Vielleicht liegt es auch daran, dass mir nicht klar war, dass der Star-HTML-Hack was anderes als der Star-Hack ist, obwohl beide für den IE7 sind.

    Leider ist mir inzwischen, unabhängig von deiner Info, klar geworden, dass ich bei meinem Problem nur mit CSS nicht weiter komme. Ohne JavaScript geht es nicht. Da das Teil der Navigation für eine umfangreiche Site wird, wird es wohl für mich ein mittelgroßer Aufwand, das ganze so zu bauen, dass es auch ohne JavaScript funktioniert. Außerdem werden JavaScript-Verweigerer wohl viel scrollen müssen, denn bei denen wird immer die ganze Navi aufgeklappt sein und alle Seiten aus allen Ordnern sichtbar sein :???: (>1000 Seiten).

    • Offizieller Beitrag

    Aus Verzweiflung auf JS zu bauen, finde ich doch sehr grotesk.
    Die Navigation wird doch hoffentlich zentral liegen und nicht in jeder Seite?! Dann musst Du doch nur einmal die Navi sauber umbauen und nicht < 1000 mal.

    Sollte jede Seite die Navi komplett nochmal beinhalten, solltest Du das ändern, bevor Du auf JS Workarounds zurück greifst.

  • Aus Verzweiflung auf JS zu bauen, finde ich doch sehr grotesk.

    Ich auch, aber was hat das mit diesem Thread zu tun? Was ich vorhabe geht mit JavaScript sehr gut

    Die Navigation wird doch hoffentlich zentral liegen und nicht in jeder Seite?! Dann musst Du doch nur einmal die Navi sauber umbauen und nicht < 1000 mal.

    Sollte jede Seite die Navi komplett nochmal beinhalten, solltest Du das ändern, bevor Du auf JS Workarounds zurück greifst.

    Was hat das eine mit dem anderen zu tun? Die Navi wird in jede Seite includet. Ich muss sie nicht sauber umbauen, sondern sauber bauen. Das Wort "JS Workarounds" halte ich hier nicht für passend. Ohne JavaScript müsste ich entweder die Seite nach jedem Event neu laden und jedesmal Daten vom Umfang des Alten Testaments in Get-Array übertragen, oder ich müsste das genze mit clientseitigem Java oder Flash lösen. Die beiden letzten Optionen kommen für mich nicht infrage, die erste wäre ein sehr großer Aufwand und eine sinnlose Serverbelastung. Meiner Meinung anch spricht nichts dagegen,in eine funktionierende Navi mit JavaScript zusätzliche Features ein zu bauen.

    Ich beabsichtige, die Site http://www.friedels-home.de/ neu zu schreiben. Inhaltlich gibt es das meiste schon. Die Navi soll etwa die Funtionen bieten, wie die jetzige auch. Aber natürlich soll das ganze ohne Frames funktionieren und die neue Navi funktioniert auch ohne JavaScript. Aber das Öffnen und Schließen der Ordner funktioniert ohne JavaScript nicht clientseitig. Man soll ja im Explorer herumstöbern können. Ohne JavaScript müssen immer alle Ordner offen angezeigt werden. Die Probleme beim alten Explorer bestanden ja in erster Linie darin, das ganze so zu bauen, dass es auch im Internet Explorer 4 und Netscape Navigator 3 funktioniert hat. (Netcape Navigator 4 und 6 waren noch schlimmer.) Auf derartige Gruselbrowser brauche ich jetzt keine Rücksicht mehr zu nehmen.

    Inhaltlich ist vieles schon neu geschrieben, vieles wird einfach entfernt, einiges muss noch neu geschrieben werden. Die Site, wie sie jetzt online ist, ist ja zum Teil noch auf dem Stand von der Zeit, als ich geheiratet habe und von Namibia nach Deutschland gezogen bin (2004).

    • Offizieller Beitrag

    Befasse Dich mit Sessions, dann brauchst Du auch keine gigantischen GET-Arrays übertragen und Deine Navi kann alles, was die auf Deinem Link aktuell auch kann.
    Ist alles komplett ohne JS machbar. Und JavaScript sollte man einfach nicht für grundlegende Funktionalitäten verwenden!

    Da die Tipps aber wie in #7 erkennbar nicht erwünscht sind, weil man mit JavaScript bestehende Probleme "umbauen" kann, dann bitte, mach es so.

  • Sorry, aber Sessions können dabei überhaupt nicht helfen. Natürlich braucht man damit die Get-Arrays nicht. Aber das ändert am Aufwand und an der Serverlast nichts und auch nicht daran, dass die Seite beim Browser ständig neu geladen werden müsste. Wenn du eine Idee hast, wie das ohne JavaScript geht, würde mich das sehr interessieren. Entweder muss man die Seite immer wieder neu laden, wenn man das serverseitig acht, oder man muss eine clientseitige Verarbeitung realisieren. Und ich habe nicht vor, JavaScript für grundlegende Funktionen zu verwenden. Das habe ich aber schon geschrieben.

    Antwort 7 ist übrigens von mir. Darin sind keine Tipps, die mir helfen könnten. Und welche Probleme soll ich mit JavaScript umbauen? Ich habe zwar verstanden, dass du JavaScript offensichtlich ablehnst, aber eine bessere Alternative kenne ich nicht.

    • Offizieller Beitrag

    Natürlich kannst Du ohne JavaScript (Ajax) keine Anfragen an den Server senden und die Rückgaben verarbeiten, wenn Du die Seite nicht komplett neu laden willst. Das habe ich aber auch nie gesagt, Du solltest die Antworten mal genau lesen und versuchen zu verstehen, anstatt immer nur zu antworten, dass es nicht das ist, was Du willst!

    Warum Sessions?
    Ganz einfach, weil Du dort Daten "verwalten" kannst. Und das nicht nur für einen Request, sondern für die gesamte Sitzung des Users, d.h.: auch für Anfragen per AJAX innerhalb der User-Sitzung!

    Genauere Antworten wirst Du erst erhalten können, wenn Du Deine Problematik auf den Punkt bringst.
    In #1 fragst Du nur, was der Stern bedeuet.
    Nachdem das geklärt ist, sprichst Du in #5 von einer Navi, die Du "nachbauen" willst, nichts aber davon, dass die ohne Seiten-Reload funktionieren soll.
    Die Info kommt erst in #7!

    Dann redest Du noch von JavaScript-Verweigerern. Das darfst Du aber aus der Sicht nicht betrachten, denn es gibt mehr User, die Script-Blocker installiert haben und Deine Scripte "ungefragt" blockieren!
    Daher ist es immer wichtig, die grundlegende Bedienung auch ohne JS zu ermöglichen.

    Wenn Du das nicht willst, lass es halt, aber dann frag auch nicht nach, wie man es machen sollte!

  • Warum baust du die Seite nicht, die ich dir zufolge nach bauen soll? Ich will so eine Seite nicht, deshalb baue ich sie nicht. Ich habe nach was anderem gefragt, weil ich etwas anderes will.

  • Hm, komich. Ich verstehe garnicht wie man 2004 auf JS setzen konnte, wo es bestimmt noch mehr JS verweigerer gab. Und ohne JS funktioniert die gesamte Navi nicht. Das ist nicht gut. Ich persönlich mag so 'ne Explorer Navi überhaupt nicht. Sieht irendwie antiquiert aus.