CSS only Slider

Gast #5326841
Lesenswert?
• ▲
▼
Hi,

dass man mit HTML & CSS einen Slider machen kann, welcher beim klicken 
z.B. 3 verschiedene Textboxen mit einem weichen Übergang machen kann ist 
mir bereits bekannt. Die Frage ist, ist es möglich auch "ohne" klicken 
einen ständigen Durchlauf von Informationen hinzubekommen <- ohne 
Javascript...

das ganze soll etwa so aussehen:

ich habe ein Div in welchen verschiedene spans sind
1
<div>
2
   <span id="text1">Hier könnte Ihre Werbung stehen!<span>
3
   <span id="text2">Das Wetter ist gar nicht mal gut<span>
4
   <span id="text3">Nachts ist es kälter als draußen<span>
5
</div>

nun soll beim Laden der Seite nur das #text1 sichtbar sein... nach 
nSekunden (z.B. 2) kommt #text2 dann #text3 im anschluss wieder #text1

mit Javascript ist das kein Problem, die Machbarkeitsstudie verlangt 
aber nach reinen HTML & CSS.

hat jemand eine Idee?

petr
#5327035
Lesenswert?
• ▲
▼
Ja, das ist möglich, aber nur für eine fixe maximalmenge an Elementen. 
Man muss keyframe animationen und Regeln für jedes Element für jede 
Anzahl an maximal möglichen Elementen definieren. Hier ein CSS Beispiel 
mit bis zu 3 Elementen: https://jsfiddle.net/qg1urysx/

Langfristig ist das aber nicht wartbar. Ich empfehle statdessen scss zu 
verwenden, um die massive Menge an benötigtem redundantem CSS Code 
generieren zu lassen: https://jsfiddle.net/e0pdow1y/
Hier habe ich $max_rotor_messages mal auf 20 gesetzt, damit kann man bis 
zu 20 Elemente haben, zwischen denen gewechselt wird.

Der Trick ist eine Kombination aus Keyframe animationen und dem css3 
:first-child:nth-last-child(n) trick, der es erlaubt, das erste element, 
und somit auch jedes beliebige nachfolgende, zu stylen, falls das 
parent-element n elemente enthält. Man nutzt dann die Animationen für 
das einblenden. Der css3 trick verwendet man um zu ermitteln, welche 
Animation man braucht, weil man dort nach dem Ausblenden ne nachdem wie 
viele Elemente man hat unterschiedlich lange warten muss, biss man es 
wieder einblendet, und das animation-delay zu setzen, damit nicht alle 
gleichzeitig eingeblendet werden.

Eventuell sollte man noch die diversen vendor prefixes für bessere 
Browserkompatiblität ergenzen. (Also z.B. zusätzlich noch 
-webkit-animation, -moz-animation, @-webkit-keyframe, etc.). Aber ich 
weiss sowieso nicht, seit wann :nth-last-child von den diversen Browsern 
unterstützt worden ist.
#5327085
Lesenswert?
• ▲
▼
Ivo Z. schrieb:
> Was spricht denn gegen JavaScript?

Alte und neue Möglichkeiten des Mißbrauchs von clientseitig ausgeführtem 
turingvollständigen Code. Beispiele dafür sollten sich rumgesprochen 
haben. Jeder vernünftige Mensch nutzt deklarative Möglichkeiten, wenn 
sie vorhanden sind, statt imperativen Code.

Hier ein ein Beispiel für eine Animation, die ich vor Jahren gemacht 
habe, als proof of concept so als Quelltext eingetippt, mit einer 
unvollständigen Auswahl von vendor-prefixes, funktioniert ohne JS in FF 
und Chrome. Natürlich würde man das dergl. bei ernsthafter Nutzung 
serverseitig generieren, mit den Mitteln, die dort zur Verfügung stehen.

http://www.mystrobl.de/images/wackel/DSCF1365+66.html
#5330337
Lesenswert?
• ▲
▼
Karl schrieb:
> Schlechte Nachrichten für Dich: HTML5 plus CSS sind schon seit Jahren
> turingvollständig.

Nö, ohne JS nicht, auch wenn es immer wieder gerne behauptet wird. Wenn 
man einen Compiler nach CSS+HTML erstellen wollte, der ohne ständige 
Benutzerinteraktion auskommt, müsste man das halting Problem lösen, weil 
man im vorraus alle erdenklichen Lösungen schon kennen müsste, und das 
halting Problem ist nachweislich unlösbar.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.