Bilder fließen lassen [Problem gelöst]

Diskutiere Bilder fließen lassen [Problem gelöst] im CSS Forum im Bereich Programmierung; Hier habe ich nicht ganz verstanden, was Du meinst. Wie soll ich das umsetzen? BTW: Thema let und var habe ich nachgelesen; OK. Stimmt, die sind...
  • Bilder fließen lassen [Problem gelöst] Beitrag #21
M
Martin Lemke
Member
Beiträge
19
Punkte Reaktionen
0
setze oder entferne immer nur Klassen. Deine Funktion female_ausblenden würde sich auf eine Zeile verkürzen lassen wenn du für div#content (bzw. <main>, s.o.) einfach nur eine Klasse setzt (classList hilft dabei) und .female dann über ».femaleweg .female {display:none;}« ausblendest. Zum Einblenden dann einfach die Klasse wieder entfernen und fertig - die sehr umständlichen Schleifen (querySelectorAll und forEach existieren) können dann vollständig entfernen
Hier habe ich nicht ganz verstanden, was Du meinst. Wie soll ich das umsetzen?

BTW: Thema let und var habe ich nachgelesen; OK.
  • die Links auf #menu stehen außerhalb von div.male bzw. div.female und werden damit beim Filtern nicht mit ausgeblendet
Stimmt, die sind nach Ausblendung eines Geschlechtes doppelt vorhanden; das war mir bislang nicht aufgefallen. Ich habe den Link jetzt ans Ende des gesamten Art-Abschnittes gesetzt. Somit ist dieser Effekt aufgehoben.

VG, Martin
 
  • Bilder fließen lassen [Problem gelöst] Beitrag #22
T
tk1234
Well-known member
Beiträge
103
Punkte Reaktionen
8
Eine Alternative zu <div class='text'> fällt mir nicht ein. Da sehe ich kein Potential, irgend etwas zu verschlanken. Die Klasse kommt mehrmals vor, auch innerhalb einer Section. Bis auf die Artnamen soll damit jeglicher Text ausgeblendet werden können.
die text-Klasse kannst du auch direkt den auszublendenden Elementen (dl und h3) geben, ein extra div drumrum braucht es da nicht.

Die Links, die auf das Menü verweisen sollen keine Beschriftung haben; das Symbol dafür, soll zu zurückhaltend wie möglich gehalten sein, um vom Inhalt nicht abzulenken.
Du hast das Problem nicht verstanden. Es geht darum was Screenreader an der Stelle vorlesen und bei deinem aktuellen jump2menu-Links wird da nichts sinnvolles vorgelesen werden. Du musst für die "normalen" Besucher auch keinen Text einblenden, vorhanden sein sollte er trotzdem, kann aber ausgeblendet sein. Siehe auch die Seite Sichtbarkeit von Elementen (ist leider noch nicht ganz fertig, beschreibt aber das Problem).

Zu den Hinweisen zum Code bin ich noch nicht gekommen. Der Tag geht dem Ende zu und morgen muss ich früh raus.
Falsches Bundesland? ;-) Aber kein Stress, du musst nicht alles auf einmal und sofort umsetzen …

Was die Fehlermeldungen zu fehlenden Bildern betrifft: Die helfen mir sehr bei der Fehlersuche.
Auch hier hast du das Problem nicht verstanden. Der falsche alt-Text ist keine Fehlermeldung (die gibt es im Errorlog des Servers bzw. in der Console in den Entwicklertools des Browsers) sondern einfach nur Unsinn. Der Text ist nicht für dich zur Fehlersuche sondern für (u.a.) Sehbehinderte damit die wissen was auf dem Bild zu sehen ist. Merke: Internetseiten sind nie für den Ersteller gemacht sondern immer für die späteren Besucher der Seite (ja, Ausnahmen gibt es, sind aber eher die Ausnahme) - was der Programmierer also will ist hier völlig egal.

Nach dem der Validator über meinen Tag-Eigenbau <nicht-nord> meckerte (erst weil der offen war, als </dd> schloss, danach weil ich den selber schloss <nicht-nord/>, was ihm auch missfiel.
Benutzerdefinierte Elemente müssen immer geschlossen werden, richtig wäre also <nicht-nord></nicht-nord>, aber: du missbrauchst diese Elemente statt einfach class-Attribute zu verwenden. Das Element art-ausblenden ist Unsinn bzw. falsch, hier es völlig dem Link ein class="art-ausblenden" zu spendieren, nicht interaktive Elemente dürfen ohnehin nicht per JS klickbar gemacht werden da sie bei Tastaturbedienung nicht erreichbar sind. Wobei bei dem Link noch etwas dazu kommt: ein Link mit href="#" ist ein deutlicher Hinweis darauf dass an der Stelle ein <button> das richtige Element wäre, so auch hier - vergiss aber die Beschriftung (siehe oben) nicht!
Analog das Element wiki-link: hier reicht ein class="wikilink" in dem enthaltenen a völlig aus - und wirf bei der Gelegenheit gleich das target=_blank raus.

Hier habe ich nicht ganz verstanden, was Du meinst. Wie soll ich das umsetzen?
siehe Selfhtml. Übrigens: ausblenden von einzelnen Elementen ginge auch über das hidden-Attribut (lässt sich auch per JS setzen) - bei (potentiell) mehreren Elementen ist es m.E. aber sinnvoller mit einer Schalterklasse zu arbeiten.

Mir ist übrigens neben dem bereits genannten noch was aufgefallen:
  • onclick-Attribute haben im Quelltext nichts zu suchen, hänge die click-Events per addEventListener an die jeweiligen Elemente (bzw. ein gemeinsames Elternelement, das geht auch). Wobei z.B. für die input-Elemente in nav eine Funktion reicht: die per Klick aufgerufene Funktion schaut nach welche ID das geklickte Element hat und reagiert entsprechend
  • du hast ja die divs mit Zahlen als id - aus denen würde ich ggf. ein article-Element machen. Die ganzen HTML-Kommentare sind dann im Grunde überflüssig da klar ist was mit </article> bzw. </section> beendet wird
  • im CSS wird bei .nicht-nord per content Text eingefügt - das solltest du vermeiden, der wird nicht vorgelesen, schreibe den Text (wie aktuell ja geschehen) direkt in den Code
  • für h3 wird die Schriftgröße auf "smaller" gesetzt - da sich das auf die Standardmäßig vom Benutzer als gut lesbare Größe im Browser bezieht, wird die Schrift hier zu klein (dito für figcaption)
  • der Text-Checkbox im Menü fehlt noch eine Beschriftung (bzw. der Beschriftung ein for-Attribut) und bei den anderen Beschriftungen könntest du <input> und <label> ohne Leerzeichen direkt hintereinander stellen, dann kann man nicht in der Lücke zwischen den Elementen ins Leere klicken
  • Der Seite fehlt eine Viewportangabe
 
  • Bilder fließen lassen [Problem gelöst] Beitrag #23
S
Sempervivum
Well-known member
Beiträge
760
Punkte Reaktionen
125
onclick-Attribute haben im Quelltext nichts zu suchen
Diese Aussage ist falsch. Funktional sind inline notierte Eventlistener gleichwertig zu denen, die mit addEventlistener registriert werden. Die Gründe, die letzteren zu bevorzugen sind lediglich allgemein-philosofischer Natur. Selber arbeite ich zwar gern mit Event-Bubbling aber erfahrungsgemäß sind inline notierte Listener für unerfahrene Evntwickler besser zu verstehen weil sie direkt bei dem Element notiert werden, durch das sie ausgelöst werden.
 
  • Bilder fließen lassen [Problem gelöst] Beitrag #24
T
tk1234
Well-known member
Beiträge
103
Punkte Reaktionen
8
Diese Aussage ist falsch. Funktional sind inline notierte Eventlistener gleichwertig zu denen, die mit addEventlistener registriert werden. Die Gründe, die letzteren zu bevorzugen sind lediglich allgemein-philosofischer Natur. Selber arbeite ich zwar gern mit Event-Bubbling aber erfahrungsgemäß sind inline notierte Listener für unerfahrene Evntwickler besser zu verstehen weil sie direkt bei dem Element notiert werden, durch das sie ausgelöst werden.
Wieso sollen unerfahrene Entwickler nicht gesagt bekommen wie es richtig[tm] geht? Um HTML-Code sauber von der Darstellung (CSS) und dem Programm (JS) zu trennen gehört der JS-Code eben nicht direkt ins HTML sondern als eigene Datei ausgelagert.
 
  • Bilder fließen lassen [Problem gelöst] Beitrag #26
M
Martin Lemke
Member
Beiträge
19
Punkte Reaktionen
0
Wieso sollen unerfahrene Entwickler nicht gesagt bekommen wie es richtig[tm] geht? Um HTML-Code sauber von der Darstellung (CSS) und dem Programm (JS) zu trennen gehört der JS-Code eben nicht direkt ins HTML sondern als eigene Datei ausgelagert.
Gern! Nur habe ich nicht verstanden, was Du meinst.

Ich habe keine andere Idee, als die Schleifenlösung, die Du als kompliziert bezeichnet hast.

Du hast mir allerdings mit den anderen Dingen sehr geholfen.

Danke, Martin
 
  • Bilder fließen lassen [Problem gelöst] Beitrag #27
T
tk1234
Well-known member
Beiträge
103
Punkte Reaktionen
8
Gern! Nur habe ich nicht verstanden, was Du meinst.
Hier geht es nicht um einen Ersatz für deine "Schleifenlösung" sondern um das onclick-Attribut welches ersetzt werden sollte (wie es geht ist auf der in #24 verlinkten Seite beschrieben)

Ich habe keine andere Idee, als die Schleifenlösung, die Du als kompliziert bezeichnet hast.
Diesbezüglich habe ich in #22 eine Seite bei Selfhtml verlinkt welche das Vorgehen beschreibt - du musst schon etwas konkreter werden wo es klemmt …
 
Thema:

Bilder fließen lassen [Problem gelöst]

Oben Unten