TS: CSS-Selector für <td>

Hello,

sicherlich eine einfache Frage an die Wissenden. Ich weiß es leider nicht und weil ich vermute, dass mein erster Ansatz falsch aka "verboten" ist, frage ich lieber:

Jeweils die sechste Spalte in einer geraden Tabelle (also alle Zeilen gleich viel Zellen) soll zentriert formatiert werden.

Ich hatte #td6{...} und <td id="td6"> benutzt. Funktioniert auch, ist aber mWn nicht zuläsig, da ich dann ja diverse #td6 in der Tabelle hätte.

Alternativ wäre mir auch eine Kennzeichnung über <th> oder noch besser, die darin enthaltene Überschrift recht. Das wird ja aber nicht an <td> vererbt?! Und class="..." wollte ich auch nicht benutzten, wenn es sich vermeiden ließe.

Glück Auf
Tom vom Berg

--
Es gibt nichts Gutes, außer man tut es!
Das Leben selbst ist der Sinn.

akzeptierte Antworten

  1. Hallo Tom,

    tr td:nth-of-type(6)
    

    sollte zum Ergebnis führen.

    Grüße, Martl

    1. Hello,

      tr td:nth-of-type(6)
      

      sollte zum Ergebnis führen.

      Hoi, danke.
      Vermutlich besser, als meine Lösung nur mit nth-child(6).

      Glück Auf
      Tom vom Berg

      --
      Es gibt nichts Gutes, außer man tut es!
      Das Leben selbst ist der Sinn.
      1. Hallo Tom,

        tr td:nth-of-type(6)
        

        sollte zum Ergebnis führen.

        Vermutlich besser, als meine Lösung nur mit nth-child(6).

        kommt auf den Einzelfall an. Welche Kindelemente darf tr denn haben? Nur td? Nein, auch noch th. Solange du also keine th in deinen Tabellenreihen hast, sind beide Lösungen gleichwertig. Ist aber z.B. die erste Zelle jeder Zeile als th ausgezeichnet, liefern die beiden Ansätze auch verschiedene Ergebnisse. Das kann gewollt sein, aber ebensogut auch ein Schuss ins Knie.

        Immer eine Handbreit Wasser unterm Kiel
         Martin

        --
        Wenn ich den See seh, brauch ich kein Meer mehr.
        1. Hello,

          tr td:nth-of-type(6)
          

          sollte zum Ergebnis führen.

          Vermutlich besser, als meine Lösung nur mit nth-child(6).

          kommt auf den Einzelfall an. Welche Kindelemente darf tr denn haben? Nur td? Nein, auch noch th. Solange du also keine th in deinen Tabellenreihen hast, sind beide Lösungen gleichwertig. Ist aber z.B. die erste Zelle jeder Zeile als th ausgezeichnet, liefern die beiden Ansätze auch verschiedene Ergebnisse. Das kann gewollt sein, aber ebensogut auch ein Schuss ins Knie.

          Darum hatte ich oben auch schon td:nth-child(6) benutzt.

          Immer eine Handbreit Wasser unterm Kiel
           Martin

          Glück Auf
          Tom vom Berg

          --
          Es gibt nichts Gutes, außer man tut es!
          Das Leben selbst ist der Sinn.
    2. @@Martl

      tr td:nth-of-type(6)
      

      sollte zum Ergebnis führen.

      Vorläufig. Aber zu keinem guten.

      Außerdem ist der Selektor überspezifiziert; tr sollte weg.

      😷 LLAP

      --
      „Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“
      — Joachim Gauck über Impfgegner
  2. Hello,

    sicherlich eine einfache Frage an die Wissenden. Ich weiß es leider nicht und weil ich vermute, dass mein erster Ansatz falsch aka "verboten" ist, frage ich lieber:

    Jeweils die sechste Spalte in einer geraden Tabelle (also alle Zeilen gleich viel Zellen) soll zentriert formatiert werden.

    Ich hatte #td6{...} und <td id="td6"> benutzt. Funktioniert auch, ist aber mWn nicht zuläsig, da ich dann ja diverse #td6 in der Tabelle hätte.

    Alternativ wäre mir auch eine Kennzeichnung über <th> oder noch besser, die darin enthaltene Überschrift recht. Das wird ja aber nicht an <td> vererbt?! Und class="..." wollte ich auch nicht benutzten, wenn es sich vermeiden ließe.

    HA

    gefunden:

        td:nth-child(6) {
            text-align: center;
        } 
    

    Habe ich nur leider im Wiki nicht gefunden. Da ist zwar unten ein Link auf Mozilla, abe den habe ich erst gefunden, nachdem ich es selber hingefummelt hatte.

    Wie funktionieren denn solche externen Links bei der Offline-Version vom Wiki?

    Glück Auf
    Tom vom Berg

    --
    Es gibt nichts Gutes, außer man tut es!
    Das Leben selbst ist der Sinn.
  3. @@TS

    Alternativ wäre mir auch eine Kennzeichnung über <th> oder noch besser, die darin enthaltene Überschrift recht. Das wird ja aber nicht an <td> vererbt?!

    Natürlich nicht. tds sind Kinder von tr, nicht von irgendwelchen Spaltenüberschriften. Auch nicht von col – das hatten wir letztens erst.

    Und class="..." wollte ich auch nicht benutzten, wenn es sich vermeiden ließe.

    Warum? Das wäre der vernünftigste Weg: Klassifizierung der entsprechenden Tabellenzellen. Freilich nicht als „6. Spalte“, sondern anhand ihres Inhalts.

    Anhand ihrer Position wären die Zellen ja bereits per Pseudoklasse :nth-child() oder :nth-of-type() selektierbar. Da ist aber nicht die beste Idee. Bei Änderungen an der Tabelle (es kommt eine Spalte hinzu oder es fällt eine weg) müsste man das Stylesheet ändern. Solche Kopplungen sollte man vermeiden.

    😷 LLAP

    --
    „Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“
    — Joachim Gauck über Impfgegner
    1. Hello Gunnar,

      Alternativ wäre mir auch eine Kennzeichnung über <th> oder noch besser, die darin enthaltene Überschrift recht. Das wird ja aber nicht an <td> vererbt?!

      Natürlich nicht. tds sind Kinder von tr, nicht von irgendwelchen Spaltenüberschriften. Auch nicht von col – das hatten wir letztens erst.

      Und class="..." wollte ich auch nicht benutzten, wenn es sich vermeiden ließe.

      Warum? Das wäre der vernünftigste Weg: Klassifizierung der entsprechenden Tabellenzellen. Freilich nicht als „6. Spalte“, sondern anhand ihres Inhalts.

      Anhand ihrer Position wären die Zellen ja bereits per Pseudoklasse :nth-child() oder :nth-of-type() selektierbar. Da ist aber nicht die beste Idee. Bei Änderungen an der Tabelle (es kommt eine Spalte hinzu oder es fällt eine weg) müsste man das Stylesheet ändern. Solche Kopplungen sollte man vermeiden.

      Genau darum geht es mir. Ich kann (hier) nicht in den HTML-/Daten-Generator eingreifen. Das müsste ich aber, wenn ich Class benutzen würde. Die war leider nicht vorgesehen. Auf das CSS habe ich aber noch Einfluss.

      Wenn ich die Abhängigkeit nun hinbekommen könnte, dass die CSS-Eigenschaft nur auf eine Tabelle mit vorangehender <h2>-Überschrift "Tageslänge" und eine andere CSS-Eigenschaft nur auf eine mit der <h2>-Überschrift "Energieertrag", usw. reagieren würde, könnte ich mir viel Arbeit (und Ärger mit den HTML- und Datenfuzzies) ersparen.

      Und wenn ich eine Zelle, wenn sie einen negativen Zahlenwert enthält, auch noch rot einfärben könnte... Naja, man wird doch noch träumen dürfen.

      Die würden sich dann während des Vortrages nur wundern...

      Glück Auf
      Tom vom Berg

      --
      Es gibt nichts Gutes, außer man tut es!
      Das Leben selbst ist der Sinn.
      1. Hallo Tom,

        bei diesem HTML hier

        <h2>Foo</h2>
        <table>
          ...
        </table>
        

        wird es mit CSS schwierig, wenn Du nur die Table im Abschnitt Foo formatieren willst.

        Es müsste schon

        <h2 id="foo">Foo</h2>
        <table>
          ...
        </table>
        

        sein (dann geht der Nachbarselektor #foo+table) oder besser noch

        <section id="foo">
        <h2>Foo</h2>
        <table>
          ...
        </table>
        </section>
        

        für #foo table, dann bist Du nicht auf direkte Nachbarschaft angewiesen.

        Und wenn ich eine Zelle, wenn sie einen negativen Zahlenwert enthält, auch noch rot einfärben könnte...

        Ohne JavaScript setzt das wohl eine klasse Mitarbeit der Fuzzies voraus. Aber: kannst Du JavaScript auf die Seite bringen?

        Rolf

        --
        sumpsi - posui - obstruxi
        1. Hello,

          für #foo table, dann bist Du nicht auf direkte Nachbarschaft angewiesen.

          Und wenn ich eine Zelle, wenn sie einen negativen Zahlenwert enthält, auch noch rot einfärben könnte...

          Ohne JavaScript setzt das wohl eine klasse Mitarbeit der Fuzzies voraus. Aber: kannst Du JavaScript auf die Seite bringen?

          Nee, leider geht da gar nix mehr.

          Es wird standardmäßig eine externe CSS-Datei eingebunden, die aber meistens gar nicht benutzt wird. Die haben ihr minimalistisches CSS lokal in der genererierten Datei. Aber das kann ich dann wohl mittels !importantüberschreiben. Hat zumindest eben im Test funktioniert.

          Ich hoffe nur, dass ich die CSS-Datei dann noch ins passende Verzeichnis des Webservers kopieren (lassen) darf.

          Irgendwie konnte man auf dem darstellenden Host ja auch ein User-CSS in den Firefox einbinden? Das habe ich aber leider vergessen, wie das ging und welche Priorität es hätte.

          Glück Auf
          Tom vom Berg

          --
          Es gibt nichts Gutes, außer man tut es!
          Das Leben selbst ist der Sinn.
          1. Hallo TS,

            User-Stylesheet

            !important artet schnell in Atombombenweitwurf aus (denk an das nette Specifishity-Bild). In einem User-Stylesheet hast Du allerdings keine andere Wahl, das ist durch die Kaskade immer unspezifischer als das Autoren-Stylesheet. Lediglich die !important-Angaben im User-Stylesheet haben Vorrang vor dem Autoren-Stylesheet, sogar gegenüber !important-Angaben dort.

            Ablauf der Kaskade

            Rolf

            --
            sumpsi - posui - obstruxi
            1. Hello Rolf,

              User-Stylesheet

              Danke. Mit dieser Beschreibung werde ich vielleicht zum Ziel kommen ;-)

              Muss ich aber auf morgen vertagen.

              letzte Frage zu diesem Thema (für heute)

              die HTML-Datei ist eine PHP-Ressource und die kann ich per Link in meiner Vortragsseite aktuell vom Server laden.

              Wenn ich in der Datei nun auch einen CSS-Bezug auf eine lokale CSS_Datei hätte... Würde das überhaupt irgenwie funktionieren? Müsste ich da in die URL der CSS-Datei "localhost/meinCSS.css" eintragen? Oder `file:///meinCSS.css, ...
              Wie sieht das da mit Foreign/Same Origin aus?

              Die Seite selber ist ja auch nur per https erreichbar. Was sagt der Browser dazu?

              Der eine Datenkollege meinte, die eine Zeile ins Stamm-HTML würde er mir schon noch reinsetzen. Aber obs überhaupt funktioniert, weiß weder er noch ich. Und heute schaffe ich es nicht mehr auszuprobieren.

              Glück Auf
              Tom vom Berg

              --
              Es gibt nichts Gutes, außer man tut es!
              Das Leben selbst ist der Sinn.
              1. Hallo TS,

                Müsste ich da in die URL der CSS-Datei "localhost/meinCSS.css" eintragen? Oder `file:///meinCSS.css, ...

                localhost setzt einen lokalen Webserver voraus, von dem die Datei geholt wird.

                Wie es mit dem Laden von CSS Dateien von Fremdorigins aussieht, weiß ich gerade nicht. https wird hier eher das Problem sein; man kann in eine HTTPS-Seite nur https-Ressourcen einbinden.

                Mit einem FF Userstylesheet solltest Du dieses Problem aber nicht haben.

                Rolf

                --
                sumpsi - posui - obstruxi
                1. Hello,

                  Müsste ich da in die URL der CSS-Datei "localhost/meinCSS.css" eintragen? Oder `file:///meinCSS.css, ...

                  localhost setzt einen lokalen Webserver voraus, von dem die Datei geholt wird.

                  Das ist mir bewusst und vielleicht eine Lücke gegen die CrossOrigin-Restriktionen von JS (nach Gunnars Vorschlag).

                  Der localhost ist aber da, da ich den Vortrag ja mittels meines Linux-Laptops halte. Da läuft der sowie meistens.

                  Wie es mit dem Laden von CSS Dateien von Fremdorigins aussieht, weiß ich gerade nicht. https wird hier eher das Problem sein; man kann in eine HTTPS-Seite nur https-Ressourcen einbinden.

                  Mit einem FF Userstylesheet solltest Du dieses Problem aber nicht haben.

                  Ich werde es berichten, wenn ich es herausgefunden habe.

                  Glück Auf
                  Tom vom Berg

                  --
                  Es gibt nichts Gutes, außer man tut es!
                  Das Leben selbst ist der Sinn.
              2. @@TS

                Der eine Datenkollege meinte, die eine Zeile ins Stamm-HTML würde er mir schon noch reinsetzen.

                <link rel="stylesheet" href=""/><script src=""></script>
                

                ist auch nur eine Zeile. Und schon kriegste auch deine negativen Zahlen rot.


                Was ist das überhaupt für eine verkehrte Welt, wenn Backend-Entwickler („Datenfuzzies“) das Markup bestimmen?

                Frontend-Entwickler haben zu sagen, wie das Markup auszusehen hat, und Backend-Entwickler haben dafür zu sorgen, genau das Markup zu generieren, das von ihnen verlangt wird.

                😷 LLAP

                --
                „Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“
                — Joachim Gauck über Impfgegner
                1. Hello Gunnar,

                  Der eine Datenkollege meinte, die eine Zeile ins Stamm-HTML würde er mir schon noch reinsetzen.

                  <link rel="stylesheet" href=""/><script src=""></script>
                  

                  ist auch nur eine Zeile. Und schon kriegste auch deine negativen Zahlen rot.


                  Danke für die Vorlage.

                  Ich muss aber erst ausprobieren, ob das wegen https und CrossOrigin überhaupt funktioniert. Die seite wird von einem Sefver geladen und müsste dann vom anderen die JS-Datei und die CSS-Datei laden.

                  Was muss ich da beachten, damit das JS-Script/CSS aus einer anderen Domain-Quelle ausgeführt wwerden dürfen.

                  Ob das JS dann aber bis Dienstagabend überhaupt noch hinbekomme, wage ich zu bezweifeln. Da bin ich zu lange raus.

                  Was ist das überhaupt für eine verkehrte Welt, wenn Backend-Entwickler („Datenfuzzies“) das Markup bestimmen?

                  Frontend-Entwickler haben zu sagen, wie das Markup auszusehen hat, und Backend-Entwickler haben dafür zu sorgen, genau das Markup zu generieren, das von ihnen verlangt wird.

                  Die Datenscripte sind bestimmt schon fünf bis sieben Jahre alt und damals hat keiner daran gedacht, da irgendwas "hübsch" zu machen.

                  Glück Auf
                  Tom vom Berg

                  --
                  Es gibt nichts Gutes, außer man tut es!
                  Das Leben selbst ist der Sinn.
                  1. Hallo Tom,

                    <link rel="stylesheet" href=""/><script src=""></script>
                    

                    Ich muss aber erst ausprobieren, ob das wegen https und CrossOrigin überhaupt funktioniert. Die seite wird von einem Sefver geladen und müsste dann vom anderen die JS-Datei und die CSS-Datei laden.

                    das ist kein Thema. Du darfst ohne Einschränkungen eine JS-Ressource von sonstwoher laden. Erst Zugriffe durch Javascript unterliegen dann den bekannten Cross-Domain-Einschränkungen.

                    Was muss ich da beachten, damit das JS-Script/CSS aus einer anderen Domain-Quelle ausgeführt wwerden dürfen.

                    Nichts. Es muss nur ebenfalls über https erreichbar sein.

                    Ob das JS dann aber bis Dienstagabend überhaupt noch hinbekomme, wage ich zu bezweifeln. Da bin ich zu lange raus.

                    Das ist nun wieder eine andere Geschichte.

                    Immer eine Handbreit Wasser unterm Kiel
                     Martin

                    --
                    Wenn ich den See seh, brauch ich kein Meer mehr.
                    1. Hello,

                      <link rel="stylesheet" href=""/><script src=""></script>
                      

                      Ich muss aber erst ausprobieren, ob das wegen https und CrossOrigin überhaupt funktioniert. Die seite wird von einem Server geladen und müsste dann vom anderen die JS-Datei und die CSS-Datei laden.

                      das ist kein Thema. Du darfst ohne Einschränkungen eine JS-Ressource von sonstwoher laden. Erst Zugriffe durch Javascript unterliegen dann den bekannten Cross-Domain-Einschränkungen.

                      Das Laden nützt mir aber nichts, wenn das JS aus der anderen Domain dann in der Seite nichts machen darf ;-P

                      Was muss ich da beachten, damit das JS-Script/CSS aus einer anderen Domain-Quelle ausgeführt wwerden dürfen.

                      Nichts. Es muss nur ebenfalls über https erreichbar sein.

                      Ob das JS dann aber bis Dienstagabend überhaupt noch hinbekomme, wage ich zu bezweifeln. Da bin ich zu lange raus.

                      Das ist nun wieder eine andere Geschichte.

                      Ich mache da heute und morgen noch ein paar Trockenübungen. Habe ich eine Prima Ausrede, die ca. 30 gesammelten Vorgänge auf meinem Schreibtisch nichteinzuscannen und wegzusortieren. Abee ich fürchte, das muss dann am Donnerstag nachgeholt werden.

                      Glück Auf
                      Tom vom Berg

                      --
                      Es gibt nichts Gutes, außer man tut es!
                      Das Leben selbst ist der Sinn.
                      1. Hi,

                        Ich muss aber erst ausprobieren, ob das wegen https und CrossOrigin überhaupt funktioniert. Die seite wird von einem Server geladen und müsste dann vom anderen die JS-Datei und die CSS-Datei laden.

                        das ist kein Thema. Du darfst ohne Einschränkungen eine JS-Ressource von sonstwoher laden. Erst Zugriffe durch Javascript unterliegen dann den bekannten Cross-Domain-Einschränkungen.

                        Das Laden nützt mir aber nichts, wenn das JS aus der anderen Domain dann in der Seite nichts machen darf ;-P

                        darf es aber! Es spielt keine Rolle, woher das JS selbst geladen wird. Es spielt erst eine Rolle, wohin das JS später zugreifen will. Sobald es geladen ist, egal woher, ist es Teil der Seite, in die es geladen wurde.

                        Wäre das nicht so, würden ja auch sämtlich Google-Analytics-Scripte nicht funktionieren. Oder die Einbindung von Werbung durch ein JS von einem zentralen Ad-Server.

                        Immer eine Handbreit Wasser unterm Kiel
                         Martin

                        --
                        Wenn ich den See seh, brauch ich kein Meer mehr.
                        1. Hello,

                          Ich muss aber erst ausprobieren, ob das wegen https und CrossOrigin überhaupt funktioniert. Die seite wird von einem Server geladen und müsste dann vom anderen die JS-Datei und die CSS-Datei laden.

                          das ist kein Thema. Du darfst ohne Einschränkungen eine JS-Ressource von sonstwoher laden. Erst Zugriffe durch Javascript unterliegen dann den bekannten Cross-Domain-Einschränkungen.

                          Das Laden nützt mir aber nichts, wenn das JS aus der anderen Domain dann in der Seite nichts machen darf ;-P

                          darf es aber! Es spielt keine Rolle, woher das JS selbst geladen wird. Es spielt erst eine Rolle, wohin das JS später zugreifen will. Sobald es geladen ist, egal woher, ist es Teil der Seite, in die es geladen wurde.

                          Wäre das nicht so, würden ja auch sämtlich Google-Analytics-Scripte nicht funktionieren. Oder die Einbindung von Werbung durch ein JS von einem zentralen Ad-Server.

                          Fremd-JS dürfen die Daten-Werte im vorhandenen DOM aber weder lesen noch beschreiben (ändern). Sie dürfen nur eigene Nodes hinzufügen. Wie das allerdings geregelt ist, wem die Nodes "gehören", und wieviele unterschiedliche Eigentümer es geben darf, habe ich noch nicht herausgefunden.

                          Ich müsste aber die entsprechenden Zellen suchen, ihren Inhalt parsen (numerisch behandeln) und dann je nach Vorzeichen der Zelle eine Eigenschaft zuweisen.

                          JQuery hat das allerdings auch irgendwie gekonnt. Ich erinnere mich nicht ehr, ob es dazu von der Origin-Domain stammen musste.

                          Glück Auf
                          Tom vom Berg

                          --
                          Es gibt nichts Gutes, außer man tut es!
                          Das Leben selbst ist der Sinn.
                      2. Hallo Tom,

                        nochmal zur Verdeutlichung ein Beispiel.

                        Das Laden nützt mir aber nichts, wenn das JS aus der anderen Domain dann in der Seite nichts machen darf ;-P

                        Nehmen wir an, https://me.example/ liefert ein HTML-Dokument. Dieses Dokument zieht sich nun eine Jacascript-Ressource von https://you.example/. Das kann es ohne Einschränkung tun.

                        Das Script läuft nun aber im Kontext von me.example, das ist sein Origin. Es kann im Dokument, in das es eingebettet ist, nach Herzenslust schalten und walten. Aber - und das mag paradox erscheinen - es darf nicht mehr auf you.example zugreifen, obwohl es doch selbst von dort kommt!

                        Immer eine Handbreit Wasser unterm Kiel
                         Martin

                        --
                        Wenn ich den See seh, brauch ich kein Meer mehr.
                        1. Hello,

                          nochmal zur Verdeutlichung ein Beispiel.

                          Das Laden nützt mir aber nichts, wenn das JS aus der anderen Domain dann in der Seite nichts machen darf ;-P

                          Nehmen wir an, https://me.example/ liefert ein HTML-Dokument. Dieses Dokument zieht sich nun eine Jacascript-Ressource von https://you.example/. Das kann es ohne Einschränkung tun.

                          Das Script läuft nun aber im Kontext von me.example, das ist sein Origin. Es kann im Dokument, in das es eingebettet ist, nach Herzenslust schalten und walten. Aber - und das mag paradox erscheinen - es darf nicht mehr auf you.example zugreifen, obwohl es doch selbst von dort kommt!

                          Interessant!

                          Das ist ja dann noch einfacher geregelt mit der "Sicherheit". Und darf es denn dann überhaupt noch auf weitere Frendseiten zugreifen?

                          Das wäre wieder eine Lücke, um doch noch Daten zu veruntreuen.

                          Das muss ich dringend nochmal untersuchen ;-)

                          Aber ich habe zuvor noch mit ein paar anderen Mythen aufzuräumen, auf die ich im ersten Anlauf reingefallen bin.

                          Ich trage meinen Vornamen vermutlich aber zu Recht ;-P

                          Glück Auf
                          Tom vom Berg

                          --
                          Es gibt nichts Gutes, außer man tut es!
                          Das Leben selbst ist der Sinn.
                          1. Hi,

                            Das Script läuft nun aber im Kontext von me.example, das ist sein Origin. Es kann im Dokument, in das es eingebettet ist, nach Herzenslust schalten und walten. Aber - und das mag paradox erscheinen - es darf nicht mehr auf you.example zugreifen, obwohl es doch selbst von dort kommt!

                            Interessant!

                            gelle? 😀

                            Das ist ja dann noch einfacher geregelt mit der "Sicherheit". Und darf es denn dann überhaupt noch auf weitere Frendseiten zugreifen?

                            Meines Wissens nicht. Es sei denn, da sind irgendwelche CORS-Geschichten im Spiel (das Thema habe ich aber selbst noch nicht hundertprozentig kapiert, also wer da wem einen Persilschein ausstellen muss).
                            Merke: Origin ist immer die Domain, von der das Dokument stammt. Wo untergeordnete, eingebundene Ressourcen herkommen, spielt keine Rolle.
                            It's that easy.

                            Ich trage meinen Vornamen vermutlich aber zu Recht ;-P

                            Könnte auch mein zweiter Vorname sein, so gesehen.

                            Immer eine Handbreit Wasser unterm Kiel
                             Martin

                            --
                            Wenn ich den See seh, brauch ich kein Meer mehr.
                    2. Hallo Tom,

                      Du darfst ohne Einschränkungen eine JS-Ressource von sonstwoher laden.

                      gerade probiert: Eine CSS Ressource auch.

                      Rolf

                      --
                      sumpsi - posui - obstruxi
                      1. Hello,

                        Du darfst ohne Einschränkungen eine JS-Ressource von sonstwoher laden.

                        gerade probiert: Eine CSS Ressource auch.

                        Und darf das CSS mit der Seite aus der anderen Domain dann auch etwas machen?

                        Beim JS bin ich mir fast sicher, dass das nicht ohne weiteres geht. JS-Ressourcen werden jeweils pro Quell-Domain in getrennte Namespaces geladen. Die dürfen sich zwar in ihrem eigenen austoben, aber nicht in andere übergreifen. Die Stammseite haut auch einen eigenen. Sonst könnte ja z. B. Google das gesamte DOM der Stammseite auslesen.

                        Aber ich probiere es sowieso noch aus.

                        Glück Auf
                        Tom vom Berg

                        --
                        Es gibt nichts Gutes, außer man tut es!
                        Das Leben selbst ist der Sinn.
                        1. Hallo TS,

                          CSS und JS dürfen auf der Seite, von der sie geladen wurden, herumtoben. Also HTML Elemente formatieren, das DOM umbauen, mit globalen Variablen herumspielen, ganz normal. Wenn der Browser sie lädt, dürfen sie auch aktiv werden.

                          Das Namespacing bezieht sich meines Wissens auf AJAX-Zugriffe. Ein JS von origin1, das auf einer Seite von origin2 geladen wird, darf nur AJAX-Zugriffe nach origin1 machen (also Beispiel: google.com/adservices.js auf example.org/werbeschleuder.html darf keinen fetch bei example.org machen, nur bei google.com, und ein Script, das example.org in werbeschleuder.html eingesetzt hat, darf nur was bei example.org fetchen, aber nicht bei google.com.

                          Man kann weitergehende Zugriffe erlauben, dann müssen aber CORS Header gesetzt werden. Welcher Server für welchen Zweck welche Header setzen muss, ist mir auch nicht ganz transparent, da war ich bisher nicht so involviert.

                          Rolf

                          --
                          sumpsi - posui - obstruxi
                          1. Hi,

                            Das Namespacing bezieht sich meines Wissens auf AJAX-Zugriffe. Ein JS von origin1, das auf einer Seite von origin2 geladen wird, darf nur AJAX-Zugriffe nach origin1 machen

                            nicht etwa gerade umgekehrt??

                            (also Beispiel: google.com/adservices.js auf example.org/werbeschleuder.html darf keinen fetch bei example.org machen, nur bei google.com

                            Das widerspricht meinem bisherigen Verständnis. Obwohl ... hmmm, die Scripte von Google Analytics müssen ihre Ergebnisse ja auch an Google zurückmelden können. 🤔
                            Sehr seltsam.

                            und ein Script, das example.org in werbeschleuder.html eingesetzt hat, darf nur was bei example.org fetchen, aber nicht bei google.com.

                            Okay, da gibt es keinen Zweifel.

                            Immer eine Handbreit Wasser unterm Kiel
                             Martin

                            --
                            Wenn ich den See seh, brauch ich kein Meer mehr.
        2. @@Rolf B

          Bei manchen deiner Postings bin ich froh, dass du sie schreibst. Das erspart mir die Arbeit, es zu tun. 😆

          Ich hätte hier lediglich die Reihenfolge vertauscht und angefangen mit „In einer perfekten Welt wären Abschitte auch als section ausgezeichnet und hätten eine ID …“

          😷 LLAP

          --
          „Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“
          — Joachim Gauck über Impfgegner
      2. @@TS

        Ich kann (hier) nicht in den HTML-/Daten-Generator eingreifen.

        Wie verträgt sich das mit

        Ich hatte #td6{...} und <td id="td6"> benutzt. […] Und class="..." wollte ich auch nicht benutzten, wenn es sich vermeiden ließe.

        ? IDs kannst du vergeben, Klassen aber nicht?

        😷 LLAP

        --
        „Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“
        — Joachim Gauck über Impfgegner
        1. Hello,

          Ich kann (hier) nicht in den HTML-/Daten-Generator eingreifen.

          Wie verträgt sich das mit

          In meinem Test.
          Aber derartige Änderungen in der (tiefen) Datenbeschaffung/-Aufbereitung baut mir keiner mehr ein.

          Ich bekomme bestenfalls eine Zeile für Link-CSS ganz am Anfang der HTMl-Ausgabe ;-)

          Glück Auf
          Tom vom Berg

          --
          Es gibt nichts Gutes, außer man tut es!
          Das Leben selbst ist der Sinn.
    2. @@Gunnar Bittersmann

      Und class="..." wollte ich auch nicht benutzten, wenn es sich vermeiden ließe.

      Warum? Das wäre der vernünftigste Weg: Klassifizierung der entsprechenden Tabellenzellen. Freilich nicht als „6. Spalte“, sondern anhand ihres Inhalts.

      Man kann class auch bestens vermeiden, wenn die Tabellenzellen schon anderweitig anhand ihres Inhalts ausgezeichent sind – mit RDFa o.ä.

      Dann lässt sich bspw. <td property="name"> mittels Attributselektor stylen:
      [property="name"] {}. ☞ … wo nie ein Mensch zuvor gewesen ist.

      😷 LLAP

      --
      „Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“
      — Joachim Gauck über Impfgegner
    3. @@Gunnar Bittersmann

      Anhand ihrer Position wären die Zellen ja bereits per Pseudoklasse :nth-child() oder :nth-of-type() selektierbar. Da ist aber nicht die beste Idee.

      Es sei denn, die Formatierungen sollen sich tatsächlich auf die Position der Zellen beziehen, unabhängig davon, was für Daten in ihnen sind. Das kann ich mir nur für die jeweils ersten und letzten Zellen einer Zeile vorstellen.

      Beispiel:

      th, td { padding: 0.25rem }
      

      Nun sollen die Zelleninhalte aber bündig zum übrigen Seiteninhalt sein; das Padding ganz links und ganz rechts also weg. Dafür ist natürlich

      :is(th, td):first-child { padding-left: 0 }
      
      :is(th, td):last-child { padding-right: 0 }
      

      der richtige Weg. Denn das trifft ja hierfür nicht zu:

      Bei Änderungen an der Tabelle (es kommt eine Spalte hinzu oder es fällt eine weg) müsste man das Stylesheet ändern.

      😷 LLAP

      --
      „Dann ist ja auch schrecklich, dass wir in einem Land leben, in dem nicht nur Bildungswillige leben, sondern auch hinreichende Zahlen von Bekloppten. Das darf ich so locker formulieren, ich bin ja jetzt Rentner und muss nicht mehr auf jedes Wort achten.“
      — Joachim Gauck über Impfgegner
  4. Hi,

    die div-variante könnte funktionieren.

    Der Code für HTML und CSS (sollte funktionieren)

    1. Hallo,

      die div-variante könnte funktionieren.

      sicher nicht, und dein gezeigter Code ist hochgradig unsinnig.

      Der Code für HTML und CSS (sollte funktionieren)

      1. Du hast Toms Randbedingungen nicht verstanden.
      2. Dein HTML ist grob fehlerhaft. Selbst wenn ich mal unterstelle, dass dein th-Element in Wirklichkeit ein tr sein sollte, darf tr kein div als Kind haben. Und td darf seinerseits kein Kind von div sein, sondern ausschließlich von tr.
      3. Wozu ein zusätzliches div-Element? Es transportiert keinerlei Aussage, und es lässt sich unter den gegebenen Bedingungen ebensogut (oder ebensowenig) stylen wie ein td.
      4. Wenn du Code zeigen willst, füge ihn bitte als Text ein, anstatt einen Screenshot hier reinzuklatschen.

      Oder wolltest du nur trollen?

      Immer eine Handbreit Wasser unterm Kiel
       Martin

      --
      Wenn ich den See seh, brauch ich kein Meer mehr.