Marquee element explained

The marquee tag is a non-standard HTML element which causes text to scroll up, down, left or right automatically. The tag was first introduced in early versions of Microsoft's Internet Explorer, and was compared to Netscape's blink element, as a proprietary non-standard extension to the HTML standard with usability problems. The W3C advises against its use in HTML documents.

Usability problems

Marquee can be distracting.[1] The human eye is attracted to movement,[2] and marquee text is constantly moving.

As with the blink element, marquee-tagged images or text are not always completely visible on rendered pages, making printing such pages an inefficient (if not impossible) task; typically multiple attempts are required to capture all text that could be displayed where messages scroll or blink. The behavior="alternate" version of marquee makes text jitter back and forth but does not obscure any part of it if scrolling widths are set correctly.

Because marquee text moves, links within it are more difficult to click than those in static text, depending on the speed and length of the scrolling. Users only get one chance every time it scrolls past. Also, scrolling text too fast can make it unreadable to some people, particularly those with visual impairments. This can easily frustrate users. To combat this, client-side scripting allows marquees to be programmed to stop when the mouse is over them.

Attributes

Unlike its blinking counterpart, the marquee element has several attributes that can be used to control and adjust the appearance of the marquee.

align
  • Uses the same syntax as the img element.
    behavior
  • Allows the user to set the behavior of the marquee to one of three different types:

    Loops are counted by each time it reaches each end of the marquee; a loop of 1 is different from 'Slide' attribute. when item is being scrolled with 'Slide' attribute, item will stop permanently at the end of length of the marquee, displaying the entire item. However, when an item is being scrolled without a 'Loop' attribute, the number of scrolls will be repeated according to what number 'Loop' is equal to. If 'Loop=1' then item will scroll only once and will exit the length of marquee completely, while the item being scrolled will stop would be the same as 'Slide'. By default, 'Loop=infinite' so it is not needed to code the attribute 'Loop' if you want a non-stop scroll. Note: 'Loop' will be ignored if attribute 'Behavior' is coded. Also, if 'Behavior=Alternate' and 'Loop=2' then item will go from beginning of the Marquee to the end and back to the beginning, counting a round trip as 2 loops.

    bgcolor
  • Sets the background color of the marquee.
    direction
  • Sets the direction of the marquee box. Values are left, right, up, down where the value indicates the direction of travel. direction=left therefore moves the text from right to left on the screen.
    width
  • This sets how wide the marquee should be.
    loop
  • This sets how many times the marquee should 'Loop' its text. Each trip counts as one loop.
    scrollamount
  • This is how many pixels the text moves between 'frames'. So scrollamount=1 gives the slowest scroll speed.
    scrolldelay
  • This sets the amount of time, in milliseconds, between 'frames', much like watching a replay of a video where every frame of the video would be paused for x number of milliseconds. 'Scrolldelay=1000' means a slow motion where every frame lasts one thousand milliseconds or one second.

    A marquee element can contain arbitrary HTML, so in addition to text it could move one or more images, movie clips, or animated GIFs.

    Implementation

    The marquee tag has been deprecated in most browsers, but the same behavior can still be implemented with Cascading Style Sheets, like this:@keyframes marquee

    .marquee-container

    .marquee-content The animation, marquee, is defined by its @keyframes to be a simple translation from right to left; it would be possible to reverse the animation by inverting it (from -100% to 100%, for example). The 10s can also be modified to alter its output.

    The style can then be invoked in HTML:

    The freakin' geese are on the lease!

    Compliance

    The marquee element was first invented for Microsoft's Internet Explorer and is supported by it. Firefox, Chrome and Safari web browsers support it for compatibility with legacy pages. The element is non-compliant HTML. CSS properties were proposed to achieve the same effect as specified in the Marquee Module Level 3, which was abandoned without implementation in 2014.[3] Similar effects can also be achieved through the use of JavaScript,[4] or CSS3 animations.[5]

    Notes and References

    1. Web site: Glossary » marquee . Usability First . Foraker . 2010-03-14 .
    2. Web site: Study shows that eyes will forsake words for movement . Tim Louis Macaluso . 2009-05-27 . Rochester City Newspaper . 2010-03-14 . https://web.archive.org/web/20090601183515/http://www.rochestercitynewspaper.com/news/articles/2009/05/ADVERTISING-Study-shows-that-eyes-will-forsake-words-for-movement/ . 2009-06-01 . dead .
    3. http://www.w3.org/TR/css3-marquee/ CSS Marquee Module Level 3
    4. Web site: Sharp. Remy. The Silky Smooth Marquee. 20 July 2005. 10 September 2008.
    5. http://demo.masscode.ru/limarquee liMarquee - alternative marquee jQuery plugin.