AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Verständnissproblem mit CSS

Ein Thema von Grolle · begonnen am 30. Nov 2005 · letzter Beitrag vom 2. Dez 2005
Antwort Antwort
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#1

Verständnissproblem mit CSS

  Alt 30. Nov 2005, 16:18
Hallo!
Ich möchte den Hintergrund einer Webseite dynamisch anzeigen. D.h. innerhalb eines Bildes
sollen verschiedene Zustände angezeigt werden. Der Hintergrund soll allerdings nicht
jedes Mal neu geladen werden (Sehr begrenzte Bandbreite!!!). Meine Informationen beziehe
ich von einem CGI-Programm. Ist sowas überhaupt mit CSS möglich und wenn ja, wie?

Viele Grüße...

  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Verständnissproblem mit CSS

  Alt 30. Nov 2005, 21:14
Hallo Stefan,

natürlich kannst du ein Hintergrundbild über CSS einstellen:

Code:
<body style="background-image: url(stefan.jpg)">
Aber um den Wechsel anzustoßen brauchst du ein auslösendes Ereignis und um den Wechsel durchzuführen greifst du auf Dynamic HTML zurück - JScript und DOM sind die Stichworte. Soviel zur Rolle von CSS in diesem Spiel.

Grüße vom marabu
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Verständnissproblem mit CSS

  Alt 2. Dez 2005, 13:53
Hi!
Es ist also möglich Teile in einem statischen Hintergrundbild auszutauschen?!
Kennst du vielleicht ein Tutorial zu Dynamic-Html, oder kannst du kurz beschreiben,
wie sowas ablaufen könnte?

Greetz

  Mit Zitat antworten Zitat
Benutzerbild von S2B
S2B

Registriert seit: 1. Feb 2004
Ort: Aachen
1.268 Beiträge
 
#4

Re: Verständnissproblem mit CSS

  Alt 2. Dez 2005, 14:33
Zitat von Grolle:
Kennst du vielleicht ein Tutorial zu Dynamic-Html, oder kannst du kurz beschreiben,
wie sowas ablaufen könnte?
http://de.selfhtml.org/dhtml/index.htm
Simon Praetorius
Gruß
S2B
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Verständnissproblem mit CSS

  Alt 2. Dez 2005, 14:41
Du kannst zur Laufzeit document.body.style.backgroundImage ändern, das funktioniert mit IE und FF. Nimm das folgende Beispiel und ersetze wp1.jpg und wp2.jpg durch zwei Grafiken von dir.

Code:
<html>
<head>
</head>
<body style="background-image:url(wp1.jpg);">
<script type="text/javascript">
<!--
function Clicker()
{
   if (document.body.style.backgroundImage == "url(wp1.jpg)")
      document.body.style.backgroundImage = "url(wp2.jpg)";
   else
      document.body.style.backgroundImage = "url(wp1.jpg)";
}
//-->
</script>


[url="javascript:Clicker()"]Click me![/url]</p>
</body>
</html>
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Puhbaehr
(Gast)

n/a Beiträge
 
#6

Re: Verständnissproblem mit CSS

  Alt 2. Dez 2005, 15:56
Wegen dem Neuladen: Sobald ein Bild bereits geladen wurde wird es im Normalfall im Cache des Browsers gespeichert. D.h. also beim nochmaligem Laden wird das nur noch aus dem Cache geholt. Wenn du nur ein oder zwei verschiedene Hintergrundbilder/zustände haben willst wird dir das reichen.

Wenn du mehrere feste Hintergrundzustände haben willst hilft es dir vielleicht wenn du nur Teile des Hintergrundbildes austauschst. Dazu kannst ebenso wie dem Body-Tag auch Tabellenzellen Hintergrundbilder einbinden.
Bsp.:
Code:
<table style="background-image:url(hauptbild.jpg);">
...
<tr>
<td style="width: ...; height: ...; background-image:url(Bildteil1.jpg);"></td>
</tr>
...
</table>
Ich hoffe du weißt in etwa wie ich das meine Allerdings hast du dabei ein Problem: Die Tablelle befindet sich nicht im Hintergrund. Entweder du baust also Inhalte deiner Seite mit in diese Zellen ein oder zweite Möglichkeit:
Du kannst mit den Attributen position:absolute; left: ...; top: ...; die eigentlichen Inhalte über die Hintergrundtabelle legen.
Dazu vielleicht einfach eine große Tabelle erstellen die sich über die gesamte Seite erstreckt und die du mit position usw. über den Hintergrund legst und darein kannst du sämtliche deine Inhalte ablegen.
Allerdings würde ich es so gestalten, dass für Anwender ohne eingeschaltetem JavaScript die Seite trotzdem ordentlich angezeigt wird (d.h. der dynamische Hintergrund darf nicht mehr dynamisch sein und die Tabelle mit dem Inhalt muss fest liegen).
Was noch dazu beachtet werden muss: Diese Hintergrundbilder, egal wie groß, müssen irgendwann mal geladen werden.
D.h. wenn das Hintergrundbild noch nicht geladen ist und schon durch JavaScript getauscht wird kann es entweder hängen oder weiße unschöne Flecke ergeben. Deswegen evtl. vielleicht versuchen die Bilder beim ersten Aufruf (noch besser davor ) irgendwo versteckt laden. Z.b. als Hintergrund in einer Tabelle oder eines Frames die/das nicht zu sehen wäre (width und height auf 0).

Wenn du das Hintergrundbild vielleicht verwischen willst, Lichteffekte einbauen willst etc. helfen dir evtl. auch die CSS-HintergrundbildFilter von Microsoft. Die werden aber leider nur vom Internet Explorer unterstützt. Allerdings kann man damit viele tolle Sachen mit den Hintergrundbildern anstellen
Z.B. dem Hintergrund mit verschiedenen Farben erleuchten lassen. Dazu einfach eine Hintergrundfarbe festlegen mit der das Bild verschmelzen soll und dadrauf das Bild legen.
Oder einen dunkelblauen Hintergrund mit leuchtendem Riesen"punkt" in der Mitte erzeugen lassen:
Code:
...
<body style="margin:1px; filter:Alpha(opacity=50, finishopacity=100, style=2); background-color:#000066;">

</body>
...
Sollte mehr Interesse für die Filter bestehen schreib mir mal ne PN und ich schick dir mal nen Beispiel zu dass ich vor längerem mal für jemanden erstellt hab.

Gruß, Robert
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz