Strona główna » Poradniki » Blogger » Pływający tekst
Tekst

Pływający tekst

Wstęp

Znacznik marquee dopiero niedawno został dodany do specyfikacji języka HTML. Jego użycie na stronie jest bardzo wygodne i pozwala na uzyskanie efektu pływającego tekstu. Zaletą jest fakt, że prawidłowo interpretują już go najpopularniejsze przeglądarki. Ponadto bardzo łatwo jest dostosować go do własnych potrzeb. W niniejszym poradniku przedstawię krok po kroku jak umieścić taki znacznik na swojej stronie.

Znacznik

W miejscu na stronie gdzie chcemy umieścić znacznik wpisujemy następujący kod:

  1. <marquee behavior="scroll" direction="left">Test</marquee>

Wtedy na ekranie pojawi się:

Test

Na stronie pojawia się tekst z prawej strony, który przepływa w lewą stronę. Po zniknięciu z lewej strony tekst pojawi się ponownie z prawej strony. Tekst, który się pojawia można zmienić zamieniając słowo Test na dowolny inny tekst.

Kierunek tekstu

Znacznik pozwala na określenie z której strony ma wypływać tekst. W tym celu należy zmienić wartość atrybutu direction na up - tekst pojawi się z dołu i przepłynie do góry, right - przepływ z lewej do prawej, left - odwrotnie do right oraz down - przeciwnie do wartości up. Domyślną wartością jest left.

Przykładowo jeśli chcemy tekst przepływający z lewej do prawej wystarczy wpisać:

  1. <marquee behavior="scroll" direction="right">Test</marquee>
Test

Rozmiar i zachowanie

Przy użyciu atrybutów width i height można określić rozmiar pudełka w którym będzie pojawiał się tekst. (W celu pokazania zmian zostanie dodane czarne obramowanie poprzez argument style):

Test
  1. <marquee direction="down" width="256" height="128" style="border:solid">Test</marquee>

Kolejnym atrybutem, którym można dostosować marquee jest znacznik behavior. Standardowo jest on ustawiony na wartość scroll. Oznacza to, że tekst pojawia się z określonej strony i znika po stronie przeciwnej i ponownie pojawia się z tej samej strony. Jeśli jednak w zamyśle tekst ma się ruszać od prawej strony do lewej, następnie odbić, przelecieć do prawej strony, znowu odbić i tak powtarzać w kółko wartość behavior należy ustawić na alternate:

Test
  1. <marquee direction="down" behavior="alternate" width="256" height="128" style="border:solid">Test</marquee>

Istnieje również możliwość uzyskania tekstu, który będzie poruszał się zygzakiem można to osiągnąć umieszczając marquee w marquee:

Test

Zachowanie tekstu bardzo łatwo wytłumaczyć: pierwsze marquee kontroluje odbijanie prawo-lewo, a drugi znacznik góra-dół.

Prędkość i ilość powtórzeń

Prędkość animacji można zmienić przy pomocy dwóch atrybutów. Pierwszy z nich scrollamount pozwala na określenie o ile ma się przesuwać tekst. Standardowo wartość wynosi 6. Drugi parametr scrolldelay określa co ile milisekund tekst ma wykonać krok określony przez scrollamount. Ten atrybut jest standardowo ustawiony na wartość 85. (Co daje zaledwie 11 klatek na sekundę. Dla płynnego efektu lepiej ustawić ten argument na 40 dla 24 klatek na sekundę).

Żeby lepiej zrozumieć obywa atrybuty proponuje zapoznać się z poniższymi dwoma przykładami:

Test
  1. <marquee scrollamount="12" scrolldelay="160">Test</marquee>
Test
  1. <marquee scrollamount="3" scrolldelay="40">Test</marquee>

Jak widać im mniejszy scrolldelay tym animacja jest płynniejsza. W celu uzyskania płynnej animacji warto użyć wartości 40 (25 klatek na sekundę) co spowoduje płynne złudzenie optyczne. W celu uzyskania super płynnej jakości jak w dzisiejszych filmach wartość można ustawić na 16 lub 17. W ten sposób można uzyskać 60 klatek na sekundę.

Należy jednak pamiętać, że im większa częstotliwość odświeżania animacji tym więcej mocy komputera jest potrzebna, dlatego warto ograniczyć częstotliwość odświeżania tak bardzo jak to możliwe.

Atrybut loop pozwala określić ile razy animacja ma zostać wykonana. Nieokreślenie tego parametru powoduje, że animacja jest nieskończona.

Stylizacja

Znacznik marquee można stylizować przy użyciu atrybutu style. W przypadku, gdy chcemy zmienić tło można użyć atrybutu bgcolor. Wartością jest wtedy szesnastkowa wartość koloru, czyli postaci #XXX lub #XXXXXXX. W celu uzyskania zielonkawego tła można wpisać:

Test
  1. <marquee bgcolor=" #8bc34a">Test</marquee>

Zatrzymanie po najechaniu

Animację można kontrolować przy pomocy kodu javascript oraz metod start i stop. W celu ich efektywnego wykorzystania warto skorzystać z zdarzeń onmouseover i onmouseout:

Najedź kursorem, aby zatrzymać
  1. <marquee bgcolor="#bbdefb" onmouseover="stop()" onmouseout="start()"> Najedź kursorem, aby zatrzymać </marquee>

Niestety to rozwiązanie nie działa w przeglądarce Mozilla Firefox

Nie tylko tekst

W znaczniku marquee można umieszczać nie tylko tekst. Przykładowo można wstawić obrazek:

Piłka
  1. <marquee direction="left" behavior="alternate" width="256" height="128" style="border:solid" bgcolor="#2196f3">
  2.  <marquee direction="up" behavior="alternate" height="128" >
  3.   <img src="PGES/br02/ball.svg" alt="Piłka" />
  4.  </marquee>
  5. </marquee>

Innym ciekawym wykorzystaniem marquee jest próba zachęcenia do kliknięcia linku:

>>>>Kliknij tutaj!<<<<

  1. <h3>
  2.  <marquee direction="right" width="30px">>>>></marquee>
  3.   Kliknij tutaj!
  4.  <marquee width="30px"><<<<</marquee>
  5. </h3>