PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Spoiler-Tag-*Gold* - Grafiken, Farben, Smileys, Hervorhebungen, ... alles möglich!


StGaensler
27.11.2004, 12:31
Hallo,

ich hatte ein wenig früher schon mal eine Anleitung für einen Spoiler-Tag (http://www.vbulletin-germany.com/forum/showthread.php?p=85754#post85754) gepostet. Der Nachteil dieser Lösung war, dass man in diesem Spoiler-Tag keine Grafiken, Farben, Smileys, ... verwenden konnte, da diese sonst sofort angezeigt wurden.
Ich habe nun ein wenig herumgebastelt, und einen neuen Tag entworfen, bei dem das alles möglich ist.

Hier die Anleitung (vB 3.0.3):

Neuen vB Code erstellen (ist nicht nötig, wenn ihr meinen alten Code schon eingetragen habt - hier ändert sich nichts):

Titel: Spoiler-Tag
Tag: spoiler
Einzufügender Code:

<div style="margin:20px; margin-top:5px; ">
<div class="smallfont" style="margin-bottom: 2px">Spoiler:</div>
<table border="0" cellpadding="6" cellspacing="0" width="100%">
<tr>
<td class="alt2" style="border:1px inset;">
<div class="spoiler">
{param}
</div>
</td>
</tr>
</table>
</div>
</div>


Beispiel + Beschreibung: Lasst euch was einfallen :)
{option} verwenden: Nein

Und dann abspeichern.


Nun zu den Style-Einstellungen gehen und "CSS Einstellungen" auswählen.
Im Feld "Zusätzliche CSS-Definitionen" folgendes entfernen (sofern ihr dass irgendwann mal eingetragen habt):
/* ***** spoiler ***** */
.spoiler {
color: #FARBE1;
background-color: #FARBE1;
}
.spoiler:active {
color: #FARBE2;
}

Dann geht auf "Styles verwalten" und wählt bei eurem Style "Templates ändern" aus. Dort dann bei "headinclude" auf [(Ver)ändern] klicken.
Über der Zeile "<!-- / CSS Stylesheet -->" folgendes einfügen:
<style type="text/css">
<if condition="is_browser('ie')">
/* ***** spoiler ***** */
.spoiler {color: #FARBE1 background-color: #FARBE1}
.spoiler:active {color: #FARBE2;}
<else />
/* ***** spoiler ***** */
.spoiler {width:10em; height:2.1ex; overflow:hidden;}
.spoiler:before {content:"»bitte hier klicken«";}
.spoiler:active:before {content:"";}
.spoiler:active {width:100%; height:100%;}
</if>
</style>


In diesem Code #FARBE1; durch das ersetzen, was bei "Style-Einstellungen" -> "CSS Einstellungen" -> "Zweite alternierende Farbe" bei "Hintergrund" steht; #FARBE2; durch das ersetzen, was dort als "Schriftfarbe" steht.

Und Speichern nicht vergessen. :)

Dieser Code sorgt dafür, dass der IE einen anderes Stylesheet für den Spoiler-Tag bekommt, da er einiges nicht unterstützt. Beim IE wird der erweiterte Spoiler-Tag nicht angezeigt - er sieht dann wie der alte Spoiler-Tag aus.

Nun könnt ihr in eurem Forum mit [spoiler] einen Spoiler einfügen.

Um den Text erscheinen klickt man einfach auf das »bitte hier klicken«, und hält die Maus gedrückt.
Man kann es auch so realisieren, dass der Text angezeigt wird, sobald sich die Maus auf dem Text befindet. Dazu muss oben im CSS-Code "active" durch "hover" ersetzt werden.

Viele Grüße,
Stefan

h75
27.11.2004, 15:05
Gibts hier auch schon ;)
http://vbulletin-germany.com/forum/showthread.php?t=11579

StGaensler
27.11.2004, 22:05
Gibts hier auch schon ;)
http://vbulletin-germany.com/forum/showthread.php?t=11579
Aber dort kannst du keine Farben, ... verwenden, da dieser Text sofort angezeigt wird :)
Hast du meinen schon mal mit Mozilla oder Opera getestet?

h75
27.11.2004, 23:14
Ja hab ich.

Beim ersten Klick sehe ich 1.jpg und beim 2.ten mal dann 2.jpg. Richtig so :confused:

http://vbg.halloo.de/87282-1.jpg
http://vbg.halloo.de/87282-2.jpg

StGaensler
27.11.2004, 23:41
Nee, leider nicht ganz.

"Normal" soll es so aussehen, wie es links aussieht, und wenn du dann auf den Text klickst, und die Maustaste gedrückt hältst, soll es so wie rechts aussehen. Wenn du dann die Maustaste loslässt, sollte es wieder so wie links aussehen.

Welchen Browser in welcher Version verwendest du?
Er unterstützt wahrscheinlich ".spoiler:before {content:"»bitte hier klicken«";}" nicht. Dadaurch lasse ich den Text einblenden, der beim Klicken verschwindet.

h75
28.11.2004, 01:51
Mit dem IE sehe ich den text sofort. und mit dem firefox sehe ich zuerst den Text >>bitte hier klicken<<, dann klicke ich da drauf und sehe Pic 1 dann lasse ich es los und klicke nochmal drauf und sehe Pic 2 :D aso stimmt damit was nicht. denn es geht nicht ein 2.tes mal auf,


Kuck mal genau hin, was da steht. Der versteckt text ist nur halb zu sehen. bzw- nur die erste zeile

http://www.vbulletin-germany.com/forum/attachment.php?attachmentid=2747

StGaensler
28.11.2004, 08:03
Kuck mal genau hin, was da steht. Der versteckt text ist nur halb zu sehen. bzw- nur die erste zeile
Genau. Und vor diese erste Zeile sollte er mir »bitte hier klicken« wieder hinmalen, und somit den Text verstecken.

Mit dem IE sehe ich den text sofort.
Ja, leider. Aber nur den farbigen. Den schwarzen versteckt er.


Wegen Firefox:
findest du in diesem Code einen Fehler?
.spoiler {width:10em; height:2.1ex; overflow:hidden;}
.spoiler:before {content:"»bitte hier klicken«";}
.spoiler:active:before {content:"";}
.spoiler:active {width:100%; height:100%;}
Wenn der Spoiler nicht "active" ist (nicht draufgeklickt), dann soll das Textfeld innen drinnen 10em breit und 2,1ex hoch sein, und dass was darüber hinausgeht, versteckt sein. Zusätzlich soll er mir davor noch "bitte hier klicken" davorschreiben - funktioniert ja alles.
Wenn man drauf klickt, soll er nichts mehr davor schreiben, und das Textfeld so groß machen, wie es für den Text braucht - funktioniert ja auch.
Wenn man nun die Maus loslässt, macht er das Textfeld wieder klein - nur er schreibt mir meinen Text nicht mehr rein - obwohl ich ihm das so angeschafft habe.

Thomas P
28.11.2004, 17:55
Gut gemacht! :)
Leider Funktioniert er nicht unter IEÄhem... der ist aber (immer noch) bei über 90% in Verwendung.

StGaensler
28.11.2004, 23:09
Gut gemacht! :)
Danke :)

Ähem... der ist aber (immer noch) bei über 90% in Verwendung.
Ganz so viel sind es dann doch nicht; und so lange mein Code CSS und (X)HTML-Konform ist, ist mir das so was von egal :)

Um es mal andersherum auszudrücken: IE ist für mich kein Browser, das ist eine Krankheit. Hier mal ein paar Beispiele (http://piology.org/ie/). Schaut euch die Seite mal mit dem IE an, und gleichzeitig mit Opera/Mozilla/Netscape/Firefox - ihr werdet erstaunt sein :)

Hoffi
02.12.2004, 00:41
Danke :)


Ganz so viel sind es dann doch nicht; und so lange mein Code CSS und (X)HTML-Konform ist, ist mir das so was von egal :)

Um es mal andersherum auszudrücken: IE ist für mich kein Browser, das ist eine Krankheit. Hier mal ein paar Beispiele (http://piology.org/ie/). Schaut euch die Seite mal mit dem IE an, und gleichzeitig mit Opera/Mozilla/Netscape/Firefox - ihr werdet erstaunt sein :)
Die Seite ist nicht Dein Ernst, oder? Schau die den Quelltext an. Die ist mit CSS so formatiert das die so aussieht (alle Effekte beabsichtig!) da nur der IE die entsprechenden CSS unterstützt.

Lachhaft.

Und überhaupt: Wie Userunfreundlich wäre ich wenn ich nicht die 95% der User berücksichtige die den IE benutzen? Und das nicht weil die Seiten dort besser funktionieren, sondern weil sie ihn einfach benutzen weil er da ist.

Zudem gibt es bei vbt.com (http://www.vbulletintemplates.com/mods/showthread.php?t=5832&highlight=Spoiler) einen Spoiler mit JavaScript der in jedem Browser einwandfrei funktioniert.