October 26, 2003

HTML House of Horror: Things That Go <BLINK> in the Night

Thanks to Anne Van Kesteren for inspiring the HTML House of Horror. I'm not sure if he really meant to inspire it, but life is funny like that. So read on... if you dare!

Introduction

Several years ago, my roommate Sam was playing around with a language he called "HTML". The great thing about HTML, I thought, was the power it gave you over the screen. Just reload the page and presto! Words, colors, images, fonts -- you name it. It was sooo much cooler than the "real" languages I had struggled with in college. I didn't know how to turn the screen red in C++, but darned if it weren't easy in HTML.

I still remember downloading and embedding my first image in a page, a tacky little dancing Santa animated GIF. "Check this out!" I said. Sam seemed kind of impressed, but not sufficiently so. Hmmm, I thought. Okay then, let's try this BACKGROUND attribute...

Suddenly, the screen flooded with dancing Santas. That was the day I learned: with great power comes great responsibility.

The <blink> tag

Once upon a time, Netscape and Internet Explorer fought for the hearts and minds of HTML coders in what became known as the browser wars. Although the conflict ended long ago, the battlefield is still strewn with landmines, otherwise known as proprietary tags. The theory was that by adding whizzy new features available only in the Netscape (or IE) browser, developers would flock to that "platform". Sadly, judging by the number of "best viewed in IE 4" messages that still litter the web today, the theory was pretty sound.

The Netscape-proprietary <blink> tag... well, makes text blink. Microsoft never implemented this tag in Internet Explorer. One might attribute this decision to Microsoft's sensibility and good taste, but given their response to the <blink> tag, this explanation seems unlikely. Of the billions of pages on the public web today, there are only two sites in existence that make effective use of the <blink> tag:

Other than that, it's all crap.

Although the <blink> never made it into the HTML standard, it still lives on to this day in Gecko-based browsers such as Netscape 7 and Mozilla. And although the tag itself is forbidden, have no fear! The CSS standard continues to provide the World Wide Web with critical blinking functionality, in the form of the CSS declaration text-decoration: blink. Inquiring minds might wonder -- what happens if you declare the following CSS rule?


  blink {
    text-decoration: none;
  } 

On Mozilla/Mac, the result is as you would expect. I haven't tested this markup on other platforms, but my theoretical model predicts that your system will just, like, explode. Don't say I didn't warn you.

The <marquee> tag

The Microsoft-specific <marquee> tag scrolls a selection of markup across the screen. Essentially, the <marquee> tag creates a 100% wide div with text creeping across the screen from right to left, or left to right. There are a large number of attributes for the <marquee> tag: you can change the width, the alignment, the scrolling speed, the scrolling delay, and even the scrolling direction (right to left or left to right).

And if that's not enough shiny animated goodness for you, you can of course style the <marquee> tag with CSS. For some reason IE5/Mac ignores the width property, but you can still muck with the padding, font, and color to your heart's content. Furthermore, IE4+ allows you to marquee-up arbitrary chunks of markup, not just text. If we need to have a table or bulleted list sliding across the screen, we can build it. We Have The Technology.

Note bene: nesting <marquee> tags is not recommended.

A Most Horrifying Discovery

And now we come to the most horrifying discovery of all. Mozilla supports the <marquee> tag. Let me repeat that -- Mozilla supports the <marquee> tag. In other words, the following markup is now possible:


  <marquee>
      <blink>Night Of The Living Dead</blink>
  </marquee>

Back in 1997, the line of demarcation was clear: Netscape supported <blink>, Internet Explorer supported <marquee>, and that was the end of the story. But today in 2003, we have a browser that supports blinking marquee text. Yes, only in the fiendish laboratory that is the Gecko Rendering Engine is such a crime against humanity even possible.

There are those who believe that there are lines that should never be crossed. There are those who believe that there are Secrets Man Was Not Meant To Know.

And then there are those who forge boldly onward on paths where more timid souls dare not tread. In the interest of Science,[1] I have have painstakingly constructed the most horrifying web page ever written. Behold! The Page of the Damned![2] (view source) Those of you with a Gecko-based browser will see the Page of the Damned in all its glory; anyone using a lesser browser will be shielded from the horror. So if you do doubt your courage, or your resistance to video-induced epileptic seizures, come no further. Either way, may you forgive me for my crimes, and may the W3C have mercy on my soul.

Happy Halloween!

1. Mad Science!

2. The Page of the Damned uses no JavaScript. It does use a smidge of CSS, but only because the <basefont> tag doesn't seem to work in Mozilla. Also, to my great disappointment, Mozilla doesn't support the direction attribute of the <marquee> tag. So in theory the page could have been even more horrifying, but we make do with the tools we have.

Comments

  1. Under the heading “A Most Horrifying Discovery”, you probably mean “Netscape supported , Internet Explorer supported “.

    There is actually a reason that Mozilla supports marquee, but I’m not quite sure what that reason is. My recollection is that there were ‘some Chinese websites’ that didn’t work without marquee, hence support was added. Later David Baron backed out support, under considerable pressure from marquee haters, before declaring that the way that the support had been removed was basically a hack and he was restoring support (Thanks to google, I can provide you with original source material: http://groups.google.com/groups?selm=slrnarvtvi.k63.dbaron%40is02.fas.harvard.edu&oe=UTF-8&output=gplain ).

    I know so many useless things…

    Posted by jgraham on Oct. 27, 2003 at 1:45 AM [#]

  2. Those spaces would be <blink> <marquee>. That’ll teach me not to preview…

    Posted by jgraham on Oct. 27, 2003 at 1:47 AM [#]

  3. If Evan is so nice, let him buy each person who comments a G5.

    Posted by Jemal on Oct. 27, 2003 at 2:19 AM [#]

  4. Soon both will be valid! And we can create the same ugliness, but still validate: http://www.w3.org/TR/css3-box/#marquee

    (tip: use href=”view-source:filename”, works like a charm, instead of making a text file)

    Posted by Anne on Oct. 27, 2003 at 4:08 AM [#]

  5. Jemal — No, no no! Darn, I hate it when my subliminal messages backfire.

    James — Thanks for the history, very interesting! (And I’ve fixed the typo where I said <marquee> instead of <blink> Thanks.)

    Anne — It’s encouraging to hear that we are continuing the fine tradition of “text-decoration: blink” in CSS3. As for href=”view-source: filename”, that’s a neat trick! But I still think the .txt file is needed, for those of us who lack Mozilla. The page looks pretty horrific in Internet Explorer too.

    Posted by Evan on Oct. 27, 2003 at 7:18 AM [#]

  6. Argh! They are ELEMENTS. Tags are merely what you wrap the element contents in. Please see part five of:

    http://www.flightlab.com/~joe/sgml/faq-not.txt

    Posted by Jim on Oct. 27, 2003 at 9:10 AM [#]

  7. Jim, you are technically correct. The best kind of correct!

    But seriously, I see your point, and I’ll try to be more consistent with my terminology in the future. Thanks for the reminder.

    Posted by Evan on Oct. 27, 2003 at 1:19 PM [#]

  8. You are a bad man. I now have to uninstall Mozilla while chanting Tibetan excorsism rituals… shudder

    Posted by Stef on Oct. 27, 2003 at 5:52 PM [#]

  9. You are a bad man. I now have to uninstall my Mozilla, while chanting Tibetan excorsism prayers… shudder

    Posted by Stef on Oct. 27, 2003 at 5:53 PM [#]

  10. As I recall, the blink tag was originally an easter-egg in Netscape 1.0. I expect its developers were as horrified as anyone else to find that people actually wanted to use it.

    Posted by Charles Miller on Oct. 27, 2003 at 11:54 PM [#]

  11. “Yes, only in the fiendish laboratory that is the Gecko Rendering Engine is such a crime against humanity [BLINK and MARQUEE support] even possible.”

    Nope. Opera now supports both BLINK and MARQUEE too.

    Posted by MikeyC on Oct. 28, 2003 at 9:05 PM [#]

  12. MikeyC - Oh, dear. Does Opera support the DIRECTION attribute of the MARQUEE tag? ‘Cause if so, we have a winner.

    Charles - Even more interesting history! Very cool. This actually fits in quite well with our Halloween theme, since a standard convention in this genre is the well-meaning scientist who unwittingly unleashes a horror upon the world. (Also note that failure to anticipate consequences is no excuse; the scientist always gets killed or eaten before the end of the story.)

    Posted by Evan on Oct. 28, 2003 at 10:19 PM [#]

  13. “Does Opera support the DIRECTION attribute of the MARQUEE tag?”

    It does indeed. It handled all the tests presented here: http://www.scit.wlv.ac.uk/encyc/marquee.html

    Posted by MikeyC on Oct. 29, 2003 at 9:11 PM [#]

  14. ….this is EXTRA. Trick or treat, you have NO choice.

    AKAIK the view-source: trick works in Mozilla AND Internet Explorer. Unfortunately, it doesn’t work in Opera.

    Posted by Minz Meyer on Oct. 30, 2003 at 7:16 AM [#]

  15. MikeyC: Apparently Mozilla 1.4 supports the DIRECTION attribute of MARQUEE as well, judging from that web site…

    Posted by codeman38 on Dec. 05, 2003 at 3:13 PM [#]

  16. So currently, there is not code to make text blink in IE…is that correct??

    Thanks an answer ASAP…I am trying to build something kinda quick here.

    sd

    Posted by MAD Stor-N-Sell on Feb. 01, 2007 at 8:22 AM [#]

  17. That’s correct, as far as I know.

    Posted by Evan on Feb. 01, 2007 at 8:31 AM [#]

  18. I just want to let you know that I am fully capable of viewing the page with my Mozilla Firefox 2.0.0.3 including direction, blinking, and everything. Now, is there any way to make it STOP? I mean, I need to sleep one day.

    Posted by Tridley on Mar. 23, 2007 at 5:47 PM [#]

  19. Wow, nice! We must remember to congratulate the Mozilla team on their efforts.

    As for making it stop, I regret to inform you that this is impossible. The HTML House of Horror will haunt you in your dreams. Forever. Sorry about that.

    Posted by Evan on Mar. 24, 2007 at 1:17 PM [#]

  20. I’ve seen worse…

    Posted by Matt on Sep. 08, 2007 at 7:24 AM [#]

  21. Well, with the rise of MySpace, the HTML House of Horror has a lot more competition these days.

    Posted by Evan on Sep. 08, 2007 at 9:36 AM [#]

  22. There’s a bug filed regarding the ability to stop blinking text.

    Bug 399622 – Stop blinking text by pressing escape: https://bugzilla.mozilla.org/show_bug.cgi?id=399622

    Posted by Wulf on Jun. 12, 2008 at 2:12 PM [#]

  23. Thanks, Wulf. Good to see the Mozilla Project is making every effort to stay on the cutting edge of BLINK technology…

    Posted by Evan on Jun. 12, 2008 at 2:56 PM [#]

  24. That is the most horrific thing I’ve ever seen. I’d only ever heard of blink before, now I’ve been introduced to the dark side of html. Scary.

    Posted by Eclipse on Aug. 03, 2008 at 5:51 PM [#]

  25. It is indeed a most disturbing site, but I just fear if MySpace ever discover the technology…

    Posted by Paul on Oct. 12, 2008 at 4:51 PM [#]

  26. Don’t worry Paul, I believe there’s a provision in the The Nunn-Lugar Cooperative Threat Reduction Program to protect the world from such an occurrence.

    Posted by Evan on Oct. 13, 2008 at 10:42 AM [#]

  27. Why is everyone so neg about the marquee tag? I read it all the time but glad I found this page. Good stuff. Thanks Evan www.flopsites.net

    Posted by Aka the Tracker on Nov. 22, 2008 at 10:53 PM [#]

  28. Why is everyone so neg about the marquee tag? I read it all the time but glad I found this site. Good stuff. Thanks Evan www.flopsites.net

    Posted by Aka the Tracker on Nov. 22, 2008 at 10:54 PM [#]

  29. hello

    Posted by pranit on Dec. 23, 2008 at 7:18 AM [#]

  30. MY EYES MY EYES—-

    I know I’m late to the table, but this was the funniest thing I’ve read in a while, lol. well done. And that is still the ugliest web page ever written— I’m still waiting for the retina burn to wear off.

    Posted by a passer by on Jan. 22, 2009 at 11:49 AM [#]

  31. MY EYES MY EYES—-

    I know I’m late to the table, but this was the funniest thing I’ve read in a while, lol. well done. And that is still the ugliest web page ever written— I’m still waiting for the retina burn to wear off

    Posted by a passer by on Jan. 22, 2009 at 11:58 AM [#]

  32. Thanks! Every once in a blue moon, I check my referer logs for new references to this page, and see what people are saying about it. It always makes me smile. :)

    Posted by Evan on Jan. 22, 2009 at 1:01 PM [#]

  33. This was an easter egg right?

    Posted by web design on Jan. 23, 2009 at 5:50 AM [#]

  34. If by “easter egg” you mean “cosmic horror unleashed on an unsuspecting humanity” then sure!

    Posted by Evan on Jan. 23, 2009 at 7:55 AM [#]

  35. It looks like the Page of the Damned has been banished from the interwebs! :-(

    Posted by Blinking in Baltimore on Mar. 04, 2009 at 11:22 PM [#]

  36. Oh noes! I accidentally nuked the Page of the Damned when I switched the HTML Tutorial over to WordPress.

    Thank you for the alert, Blinking. The page has been restored.

    Posted by Evan on Mar. 04, 2009 at 11:43 PM [#]

  37. Yesterday, I would have been impressed by your page of the damned.

    Today, I saw http://belladesoto.us

    Posted by Ilya on Oct. 27, 2009 at 4:08 PM [#]

  38. Technology marches ever onward.

    Posted by Evan on Oct. 27, 2009 at 4:28 PM [#]

  39. Warning !!! : do not click on the above link (http://belladesoto.us) . I bet you’ll give up Webcoding totally after seeing this :D…

    Posted by Naveen on Nov. 18, 2009 at 10:45 PM [#]

  40. I agree, do NOT go to (http://belladesoto.us)! It just crashed my browser!

    Posted by spacechase0 on Dec. 17, 2009 at 2:44 PM [#]

  41. Holy Shit! Not only did i foolishly visit this belladesoto.us site, but i dared look at its source code. I love the massive use of div font and bolded spaces!

    Posted by Cris on Mar. 07, 2010 at 1:44 AM [#]

  42. This is the most hilarious example of bad HTML I’ve ever seen …

    Thanks for the laugh

    :-)

    Posted by Florida SEO on Sep. 26, 2010 at 9:24 PM [#]

  43. pi

    Posted by Anonymous on Nov. 24, 2010 at 10:30 AM [#]

  44. Oww… I’ve only seen one worse page, because it also had frames and huge blinking marquees.

    Posted by kidfrommars on Nov. 26, 2010 at 10:15 AM [#]

  45. Thanks to everyone using canned templates, it’s getting harder to find worse pages these days. Props to whoever did worse! ;)

    Posted by Evan on Nov. 29, 2010 at 8:12 PM [#]

  46. I was laughing reading your article, and I about busted a gut when I opened your page.. LOL! So funny - thank you!

    Posted by Jeff on Jan. 23, 2011 at 9:44 AM [#]

  47. Thanks, Jeff. I like the comment thread too. :)

    Posted by Evan on Jan. 23, 2011 at 7:18 PM [#]

  48. Found this on WOT (of belladesoto.us): (was ranked browser exploit)Not an exploit per se, but rather a 500 MB large, horrendously designed site which will bring many browsers to their knees.

    Posted by e on Apr. 09, 2011 at 4:57 PM [#]

  49. 46 - i second that.

    thanks :)

    Posted by JustMe on May. 05, 2011 at 5:01 AM [#]

  50. undocumented feature?

    …now i’m going all ‘ah pointy ponty’ till i go to sleep :D

    Posted by Anonymous on May. 05, 2011 at 5:03 AM [#]

  51. JustMe — indeed, an undocumented feature. The leading # sign creates a Markdown heading. Sssh, don’t tell anyone. :)

    Posted by Evan Goer on May. 05, 2011 at 7:54 AM [#]

  52. Loved the article! Had a good laugh… Will share it with my friends :)

    Posted by Nithya on Jul. 28, 2011 at 10:13 AM [#]

  53. Oh no… it looks like… like…

    DEAR GOD IT’S THE BIRTH OF AN INTERNET MEME

    Posted by Cam Crazy on Dec. 01, 2011 at 10:24 AM [#]

  54. I viewed the Page of the Damned in Internet Explorer, and i’m still scarred for life!

    Posted by Anonymous on Jan. 29, 2012 at 5:34 AM [#]

Post a Comment

(Optional, will not be shown)

(Optional)

Are you sentient?

Comments use Markdown syntax. HTML will be stripped out.

  • New para: two carriage returns
  • Emphasis: *emphasis*
  • Bulleted list: - bullet item
  • Ordered list: 1. numbered item
  • Blockquote: > "To the Batcave!"
  • URLs get automatically linked: http://yahoo.com
  • To create an inline link like Yahoo!: [Yahoo!](http://yahoo.com/)