2 Listen nebeneinander anordnen - html?

iSc0field  28.11.2020, 01:34

Muss ein eine Liste sein, oder darf es auch eine Tabelle sein? Und muss es reines HTML sein oder auch CSS?

MiaMaus12302 
Fragesteller
 28.11.2020, 01:40

es muss eine Liste sein, und reines html

4 Antworten

Entweder so oder durch CSS.

Anders geht es nicht.

<h2> Text </h2>


<table>
<tr>
<th>
    <ul>


      <li> 1


      </li><br>


      <li> 2


      </li><br>


      <li> 3


      </li>


    </ul>


</th>


<th>
    <ul>


      <li> 1


      </li><br>


      <li> 2


      </li><br>


      <li> 3


      </li>


    </ul>
</th>
</tr>


</table>
Woher ich das weiß:Berufserfahrung – Full-Stack Entwickler bei Mercedes-Benz
MrAmazing2  28.11.2020, 01:44

td anstatt th würd ich sagen. Is ja keine Beschreibung einer Tabelle.

1
iSc0field  28.11.2020, 01:45
@MrAmazing2

<td> funktioniert hier nicht, für das was er möchte. Probier es gerne aus. :)

0
MrAmazing2  28.11.2020, 01:46
@iSc0field

Warum sollte das nicht funktionieren? 👀

Ich tests morgen ma aus, danke für die Info 👍🏼

1
iSc0field  28.11.2020, 01:48
@MrAmazing2

EDIT: Mein Fehler, schuldigung. War zu blöd ein </td> zu machen. Habe es gerade nochmal ausprobiert. Sorry für die Fakenews, haha. Aber <td> <th> erfüllt beides seinen Zweck für diese simple Aufgabe.

1
MrAmazing2  28.11.2020, 01:53
@iSc0field

War schon verwirrt haha. Soweit ich weiß is das ja im Hintergrund genau das selbe - Einfach nur n anderer Name. Wobei man td für Tabelleninhalte hernehmen soll und th für die Spaltenbeschreibung.

Aber ja, ansonsten is deine Antwort eigtl. die Musterlösung, wundert mich dass sie noch nich mehr Likes hat.

0
regex9  28.11.2020, 02:20
@MrAmazing2

Als Musterlösung würde ich das obige Snippet nicht betrachten, denn zum einen wäre td, wie du schon geschrieben hast, vorzuziehen (bzw. th ungeeignet) und zum anderen wrd ein Fehler von der FS übernommen (br-Elemente sind als direkte Kindelemente eines ul-Elements nicht erlaubt).

2
MrAmazing2  28.11.2020, 12:15
@regex9

Wenn es nicht erlaubt ist, warum ist es dann in Browsern implementiert??

Da verleitet man ja den Programmierer dazu, die Regeln zu brechen. Wo ist der Sinn?

0
regex9  28.11.2020, 14:45
@MrAmazing2

Browser wechseln implizit zwischen verschiedenen Modi, um das Markup so gut und tolerant wie möglich interpretieren zu können. Daher wird auch dieser Fall im Toleranzbereich der Render Engine liegen.

Die eigentliche Motivation der Browserhersteller ist es, eine abwärtskompatible Interpretation zuzulassen. Genauso wie es möglich ist, HTML5-Dokumente zu interpretieren, sollte ebenso die Möglichkeit bestehen, bspw. HTML3 noch richtig interpretieren zu können. Du hast also unterschiedliche Standards mit verschiedenen Elementen / Regeln, die gehandhabt werden können. Diese Abwärtskompatibilität geht noch weiter und berücksichtigt auch den Fall, dass DAUs die Dokumente geschrieben haben. Sofern ich mich richtig erinnere, war da die WebKit-Spezifikation in ihren Worten / Aussagen ebenfalls recht direkt. Auf Teufel komm raus wird übrigens auch nicht alles interpretiert und korrigiert. Ab bestimmten Grenzbereichen, die überschritten werden (z.B. sinnloses Schachteln), werden Elemente auch einfach ignoriert.

Durch die Fehlertoleranz kommt der Seitennutzer weniger zu Schaden. Er kann die Webseite sehen. Würde ein Browser heutzutage strikt reagieren und solche Seiten z.B. gar nicht rendern, würde er von Otto-Normal-Nutzern kaum benutzt werden. Und das war für die Entwicklung von WebKit auch schon relevant (zur Orientierung: Als die erste Version von WebKit veröffentlicht wurde, war NetScape bereits auf der Abwärtsspirale).

2

Mit purem HTML machst Du eine 2-spaltige Tabelle.

Mit css kannst du auch flexboxen nutzen

MiaMaus12302 
Fragesteller
 28.11.2020, 01:32

in der Aufgabenstellung steht es müssen zwei Listen sein :(

0
MrAmazing2  28.11.2020, 01:42
@MiaMaus12302

Du kannst nicht zwei Listen nebeneinander plazieren, ohne eine Tabellenartige-Struktur (table+tablerow oder flexbox) oder CSS zu benutzen.

1