uliII: display:none bei content:" "; ? geht sowas?

Hi,

lässt sich mit css ein Element ausdrücklich nicht anzeigen, wenn sein Inhalt leer ist?

Beispielsweise ein leeres div mit Rahmen ?

LG uli

  1. @@uliII:

    nuqneH

    lässt sich mit css ein Element ausdrücklich nicht anzeigen, wenn sein Inhalt leer ist?

    Ja.

    Qapla'

    --
    „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
  2. Hi,

    lässt sich mit css ein Element ausdrücklich nicht anzeigen, wenn sein Inhalt leer ist?

    du meinst abhängig davon, ob das Element leer ist?
    AFAIK nein.
    CSS ist eine Auszeichnungssprache und besitzt deshalb (von einigen wenigen Ausnahmen abgesehen) keine "Logik".
    Diese solltest du dann an der Stelle verwenden, an der dein Code generiert wird und eine entsprechende Klasse (z.B. class="empty") zuweisen.

    Beispielsweise ein leeres div mit Rahmen ?

    Wobei sich natürlich bei leeren Elementen immer die Frage stellt, ob (und wenn ja wofür) man sie wirklich braucht?

    Gruß Gunther

    1. @@Gunther:

      nuqneH

      AFAIK nein.

      Dein F ist nicht weit genug?

      CSS ist eine Auszeichnungssprache und besitzt deshalb (von einigen wenigen Ausnahmen abgesehen) keine "Logik".

      Das sind gar nicht so wenig wie mancher denkt.

      Diese solltest du dann an der Stelle verwenden, an der dein Code generiert wird und eine entsprechende Klasse (z.B. class="empty") zuweisen.

      Wozu noch eine Klasse, wenn’s doch schon eine Pseudoklasse dafür gibt?

      Qapla'

      --
      „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
      1. @@Gunnar:

        nuqneH

        AFAIK nein.

        Dein F ist nicht weit genug?

        Stimmt! ;-)
        Das liegt in erster Linie daran, dass ich persönlich die ganzen "schönen" CSS Selektoren und Pseudo-Klassen, die der IE 8 nicht unterstützt, nicht verwende.

        CSS ist eine Auszeichnungssprache und besitzt deshalb (von einigen wenigen Ausnahmen abgesehen) keine "Logik".

        Das sind gar nicht so wenig wie mancher denkt.

        Kommt darauf an, was jemand denkt ...! ;-)
        Aber es werden nach und nach auch immer mehr ...!
        Wie du ja sicher weißt, plädiere ich da schon urlange für, denn gerade für CSS wäre das eine große Hilfe.

        Diese solltest du dann an der Stelle verwenden, an der dein Code generiert wird und eine entsprechende Klasse (z.B. class="empty") zuweisen.

        Wozu noch eine Klasse, wenn’s doch schon eine Pseudoklasse dafür gibt?

        Wie gesagt, wegen dem IE (8). Denn warum eine Extrawurst, wenn man es mit einer Klasse für alle haben kann!?

        Gruß Gunther

        1. @@Gunther:

          nuqneH

          Das liegt in erster Linie daran, dass ich persönlich die ganzen "schönen" CSS Selektoren und Pseudo-Klassen, die der IE 8 nicht unterstützt, nicht verwende.

          Und das ist für dich Grund, bei CSS 2.1 zu verharren?

          Do websites need to look exactly the same in every browser?

          Wie gesagt, wegen dem IE (8).

          Wegen _des_ IE. So viel Respekt muss sein. ;-)

          Denn warum eine Extrawurst, wenn man es mit einer Klasse für alle haben kann!?

          Der IE ist die Extrawurst.

          Qapla'

          --
          „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
          1. @@Gunnarr:

            nuqneH

            Das liegt in erster Linie daran, dass ich persönlich die ganzen "schönen" CSS Selektoren und Pseudo-Klassen, die der IE 8 nicht unterstützt, nicht verwende.

            Und das ist für dich Grund, bei CSS 2.1 zu verharren?

            Do websites need to look exactly the same in every browser?

            Ich finde es immer wieder erstaunlich (und erfrischend), wo du diese Links herzauberst. ;-)

            Wie gesagt, wegen dem IE (8).

            Wegen _des_ IE. So viel Respekt muss sein. ;-)

            Heißt es dann nicht wegen des_IEs_!? :-P

            Denn warum eine Extrawurst, wenn man es mit einer Klasse für alle haben kann!?

            Der IE ist die Extrawurst.

            Sowieso ...!
            Wie löst du denn solche Probleme, wo du CSS Selektoren verwendest, die ein oder mehrere Browser (noch) nicht verstehen?

            Ich gehe momentan meist so vor, dass ich mir ein Layout überlege, welches möglichst ein CSS für alle Browser (womit erst mal die jeweils aktuellen Versionen der jeweiligen Browser gemeint sind) erlaubt. Und anschließend gucke ich, welche speziellen Anpassungen/ Änderungen für die Browser nötig sind, die unterstützt werden sollen.

            Gruß Gunther

            1. @@Gunther:

              nuqneH

              Ich finde es immer wieder erstaunlich (und erfrischend), wo du diese Links herzauberst. ;-)

              Von Jeremy Keith’ Vortrag auf der Smashing Conference.

              Qapla'

              --
              „Perfektion ist nicht dann erreicht, wenn es nichts mehr hinzuzufügen gibt, sondern wenn man nichts mehr weglassen kann.“ (Antoine de Saint-Exupéry)
            2. Wie löst du denn solche Probleme, wo du CSS Selektoren verwendest, die ein oder mehrere Browser (noch) nicht verstehen?

              Ab und zu muss man einfach drüber nachdenken, ob es schlimm ist, wenn ein Selektor oder eine Eigenschaft ignoriert wird - idR. wird man dann feststellen, dass es völlig egal ist, weil kaum jemand die runden Ecken vermissen wird, wenn er eine Website nur so kennt.

              Jemand mit einem Schwarz-Weiß-Fernseher verlangt auch kein Farbbild.

              1. Wie löst du denn solche Probleme, wo du CSS Selektoren verwendest, die ein oder mehrere Browser (noch) nicht verstehen?

                Ab und zu muss man einfach drüber nachdenken, ob es schlimm ist, wenn ein Selektor oder eine Eigenschaft ignoriert wird - idR. wird man dann feststellen, dass es völlig egal ist, weil kaum jemand die runden Ecken vermissen wird, wenn er eine Website nur so kennt.

                Wenn es um "optische Gimmicks" geht, stimme ich dir vollkommen zu. Geht es aber (eher) um Dinge, die relevant für das Layout sind, kann man die imho nicht so einfach abtun. Zumal wenn es auch (ohne wesentlichen Mehraufwand) anders geht. Warum sollte man sich selber Steine in den Weg legen!?

                Jemand mit einem Schwarz-Weiß-Fernseher verlangt auch kein Farbbild.

                Und trotzdem senden alle Sender in Farbe. Wer halt nur einen s/w Fernseher hat, der sieht eben auch nur s/w. Sprich eben auch nur ein Signal für alle.

                Gruß Gunther

                1. Wie löst du denn solche Probleme, wo du CSS Selektoren verwendest, die ein oder mehrere Browser (noch) nicht verstehen?

                  Ab und zu muss man einfach drüber nachdenken, ob es schlimm ist, wenn ein Selektor oder eine Eigenschaft ignoriert wird - idR. wird man dann feststellen, dass es völlig egal ist, weil kaum jemand die runden Ecken vermissen wird, wenn er eine Website nur so kennt.
                  Wenn es um "optische Gimmicks" geht, stimme ich dir vollkommen zu. Geht es aber (eher) um Dinge, die relevant für das Layout sind, kann man die imho nicht so einfach abtun. Zumal wenn es auch (ohne wesentlichen Mehraufwand) anders geht. Warum sollte man sich selber Steine in den Weg legen!?

                  Das ist eine Grundsatzfrage die ein guter Webdesigner entscheiden und vorher mit dem Kunden besprochen werden muss. Ab einer bestimmten Dimension wird der Mehraufwand Wesentlich - hier gilt es schon im Vorfeld die Designelemente so zu gestalten, dass sie einfach umsetzbar sind (wenn das Budget nicht reicht) oder es bestimmte Dinge technisch erforderlich machen.

                  Jemand mit einem Schwarz-Weiß-Fernseher verlangt auch kein Farbbild.
                  Und trotzdem senden alle Sender in Farbe. Wer halt nur einen s/w Fernseher hat, der sieht eben auch nur s/w. Sprich eben auch nur ein Signal für alle.

                  Wo wir wieder bei den Runden Ecken wären - kann sie der Browser nicht darstellen, gibts halt keine - auch wenn sie gesendet wurden.

                  Du musst dich also entscheiden ob du eine Krücke baust - also z.B. ob die Trikots der Spieler auch entsättigt noch klar zu unterscheiden sind (das wurde früher explizit so gemacht) oder ob dir ein Besucher mit alter Glotze völlig egal ist.

                  Um beim Beispiel zu bleiben: in puncto Fernsehsignal wurde damals viel unternommen um Zuseher mit alten Geräten auch noch zu bedienen.

                  Die Arschkarte z.B. oder die bereits genannten Trikots sind die zwei bekanntesten Beispiele.

                  Aber auch der Moiré-Effekt ist nicht zu verachten - damals als die Glotzen teilweise noch sehr geringe Auflösungen hatten (vertikal keine 100 Bildzeilen) - PAL mit 576 Zeilen kam erst in den 60ern auf.

                  Davor (und auch in der Übergangzeit danach) wurde darauf geachtet, dass die Moderatoren keine (zu eng) gestreiften oder karierten Sachen trugen.

                  Und genau solche Entscheidungen musst du bei deinen Extrawürsten für alte Browser auch machen und ein paar Punkte berücksichtigen:

                  Wie hoch ist der Nutzeranteil?
                  Ist es für den Benutzer störend?
                  Fehlt es ihm überhaupt?
                  Wie viel kostet mich die Extra-Wurst?
                  Wie viel verdiene ich dadurch mehr bzw. weniger wenn ich darauf verzichte?

                  1. Hallo,

                    Das ist eine Grundsatzfrage die ein guter Webdesigner entscheiden und vorher mit dem Kunden besprochen werden muss. Ab einer bestimmten Dimension wird der Mehraufwand Wesentlich - hier gilt es schon im Vorfeld die Designelemente so zu gestalten, dass sie einfach umsetzbar sind (wenn das Budget nicht reicht) oder es bestimmte Dinge technisch erforderlich machen.

                    richtig, und dann ist die Frage, ob man den Kunden noch mit der Nase drauf stoßen soll, wenn seine Website auf irgendeinem exotisch installierten Rechner in Werweißwo vielleicht nicht richtig angezeigt wird. "Der Kunde" schaut sie sich auf seinem Rechner an, vielleicht noch auf zwei, drei anderen, die er zur Verfügung hat, und gut.
                    Wenn es sich natürlich um den IE8 als Störfaktor handelt, dessen Verbreitung ja doch nicht zu vernachlässigen ist ...

                    Du musst dich also entscheiden ob du eine Krücke baust - also z.B. ob die Trikots der Spieler auch entsättigt noch klar zu unterscheiden sind (das wurde früher explizit so gemacht) ...

                    Da frage ich mich allerdings: Wozu? Vor allem die Spieler selbst müssen sie unterscheiden können, und natürlich der Schiedsrichter. Ob die Fernsehzuschauer jetzt schon an der Trikotfarbe erkennen, zu welchem Team dieser Spieler gehört, halte ich für nebensächlich. Wer das ist, sagt doch sowieso der Kommentator an, der seinerseits wieder im Stadion sitzt und das Spiel live sieht.

                    Um beim Beispiel zu bleiben: in puncto Fernsehsignal wurde damals viel unternommen um Zuseher mit alten Geräten auch noch zu bedienen.
                    Die Arschkarte z.B. oder die bereits genannten Trikots sind die zwei bekanntesten Beispiele.

                    Das mit der Arschkarte kannte ich; die Trikotfarben sind mir in dem Zusammenhang neu.

                    Aber auch der Moiré-Effekt ist nicht zu verachten - damals als die Glotzen teilweise noch sehr geringe Auflösungen hatten (vertikal keine 100 Bildzeilen) - PAL mit 576 Zeilen kam erst in den 60ern auf.

                    Ich behaupte mal, davor war die Anzahl der Fernsehzuschauer und -geräte auch noch sehr überschaubar, das Medium als solches galt als bahnbrechend neu - da haben die paar Privilegierten vermutlich auch über technische Unzulänglichkeiten gern hinweggesehen. Und sei's nur deshalb, weil sie nicht geahnt haben, dass er überhaupt besser möglich war.

                    Davor (und auch in der Übergangzeit danach) wurde darauf geachtet, dass die Moderatoren keine (zu eng) gestreiften oder karierten Sachen trugen.

                    Daher vermutlich auch der Begriff "kleinkariert". ;-)

                    Wie hoch ist der Nutzeranteil?
                    Ist es für den Benutzer störend?
                    Fehlt es ihm überhaupt?
                    Wie viel kostet mich die Extra-Wurst?
                    Wie viel verdiene ich dadurch mehr bzw. weniger wenn ich darauf verzichte?

                    Bringt mir die Extrawurst vielleicht sogar einen Nutzen, evtl in Form von Reputation?

                    So long,
                     Martin

                    --
                    Ein Snob ist ein Mensch, der sich auf ein Stachelschwein setzt, ohne eine Miene zu verziehen - nur weil ihm jemand gesagt hat, das sei ein Designersessel.
                    Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                    1. Das mit der Arschkarte kannte ich; die Trikotfarben sind mir in dem Zusammenhang neu.

                      Dann noch ein einfacheres Beispiel: die Begriffe White-Hat und Black-Hat sagen dir sicher was ;)

                      1. Hallo,

                        Das mit der Arschkarte kannte ich; die Trikotfarben sind mir in dem Zusammenhang neu.
                        Dann noch ein einfacheres Beispiel: die Begriffe White-Hat und Black-Hat sagen dir sicher was ;)

                        überhaupt nichts; ich musste danach googeln. Und auch jetzt habe ich nur eine vage Ahnung, nicht mehr.

                        Ciao,
                         Martin

                        --
                        I do take my work seriously, and the way to do that is not to take yourself too seriously.
                          (Alan Rickman, britischer Schauspieler)
                        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
                        1. hi,

                          überhaupt nichts; ich musste danach googeln. Und auch jetzt habe ich nur eine vage Ahnung, nicht mehr.

                          Guter Cowboy, weisser Hut. Böser Cowboy, schwarzer Hut. Dann hat man das im schlechten TV auch gleich erkannt.

      2. CSS ist eine Auszeichnungssprache und besitzt deshalb (von einigen wenigen Ausnahmen abgesehen) keine "Logik".

        Das sind gar nicht so wenig wie mancher denkt.

        CSS ist zwar (afaik) immer noch nicht turingvollständig, wird aber (je nach dem mit wem man streitet) als Programmiersprache bezeichnet.

        Die streiterei lässt sich darauf zurückführen, dass viele eine Programmiersprache nur als solche ansehen, wenn sie turingvollständig ist.

        Aber sogar Magic: The Gathering ist turingvollständig - und wir sind uns einig, dass MTG keine Programmiersprache ist.

        Programmiersprachen also über dieses Merkmal zu definieren ist was etwas schwach ;)

        1. Hallo,

          Die streiterei lässt sich darauf zurückführen, dass viele eine Programmiersprache nur als solche ansehen, wenn sie turingvollständig ist.

          wer sind denn diese "vielen"?

          Aber sogar Magic: The Gathering ist turingvollständig - und wir sind uns einig, dass MTG keine Programmiersprache ist.

          wir sind uns einig, dass das es sich um ein formale Sprache handelt. Wir sind uns ferner einig, dass es sich um ein logisches System handelt. Hiervon wäre jetzt die Programmiersprache inwiefern abzugrenzen?

          Programmiersprachen also über dieses Merkmal zu definieren ist was etwas schwach ;)

          Wer macht das denn? Was sind das für mysteriöse Personen? Vermutlich Leute, die zuviel in Wikipedia blättern.

          1. wer sind denn diese "vielen"?

            Wer macht das denn? Was sind das für mysteriöse Personen? Vermutlich Leute, die zuviel in Wikipedia blättern.

            Der Artikel zu Programmiersprachen (bzw. jeweils jener zur Turingvollständigkeit) in der deutschen Wikipedia enthält viel Rotz - hier ist unter anderem ein Abschnitt drin, wo darüber spekuliert wird ob jetzt HTML vielleicht nicht doch eine Programmiersprache ist.

            Die englischsprachige Wikipedia ist hier glücklicherweise differenzierter.