I list below all topic groups, which I have done according to subjects, which they handle. You can return to this topic group by using this menu and the link Table of topic groups on the top of the each page.
| |||||||||||||||||||
I have divided this page into sections, which handle following topics:
I have tables and a plug-ins menu, which list HTML (Hyper Text M arkup Language) elements and attributes from first HTML versions to XHTML 1.1. This page is a help page both to the plug-ins menu and tables.
I read about the history of first HTML-documents from the HTML Home Page of W3C. You can find HTML-history also from Brian Wilson's (Blooberry) Index DOT Html and Tag Library of Z-net (most of the Tag Library is written by Brian Wilson, but the Tag Library is a shortened version and it has many crucial holes; I recommend to read the Index DOT Html instead).
W3C: HTML Home Page.The history of HTML doesn't know at all HTML 1.0,
because first internet document don't have an official
specification or a DTD
(Document Type
Definition) file. Indeed Dan
Connolly made a DTD for HTML in 1992
HTML-documents from the year 1992 are draft documents and I call
these documents as pre-HTML. The element table to pre-HTML
base on elements, which are in the DTD of
Dan and which are used in the directory, which handles first HTML
documents. All version of HTML from the draft of Dan Connolly to
HTML 4.01 base on SGML
(S
tandard Generalized
M
arkup Language).
First Internet documents have few elements and attributes to
describe the structure of the document. In addition to structural
elements, some elements were semantic (for example
STRONG) and in the DTD of Dan was not at all
presentational element, but in W3C has used B and
I in the site, which handles first Internet
documents (they can be understood also partial semantic). Fist
Intenet documents didn't have images and font definitions,
because documents should be platform independent:
It is required that HTML be a common language between all platforms. This implies no device-specific markup, or anything which requires control over fonts or colors, for example. This is in keeping with the SGML ideal.
The HTML 2.0 (1994-1996) has the first official document type definition file. It has even full (html.dtd) and strict (html-s.dtd) versions of DTD. It can be regarded as proper base on future versions of HTML. HTML 2.0 documents were still relatively simple, but they had the ability to use images. I have much pages, which element structure is in the BODY-part of the document almost like in HTML 2.0 documents.
W3C: DTD-files: HTML 2.0 full, HTML 2.0 strict.Next widely used HTML version is HTML 3.2 has not a wide specification. This document type has only extensions to HTML 2.0 as we can see from the this cite:
HTML 3.2 adds widely deployed features such as tables, applets and text flow around images, while providing full backwards compatibility with the existing standard HTML 2.0.
HTML 3.2 (1996-1997) doesn't brought basic level new designing model. Indeed many authors have evaluated the document structure upon complex multilevel nested tables. In my mind this is misuse of tables and an artificial, unnatural "new designing model" after HTML 2.0. I have some pages, which are done at this way, because I don't thought designing very deeply. If table are not nested and the structure remains relative simple, the basic structure is reasonable build on tables. In strictly thought this is also misuse of table elements (they are originally intended to render tabular data, not be the base of the whole structure of the page). If we tolerate some level misuse of elements, HTML 3.2 brought an alternative structure and layout model after HTML 2.0 (HTML 3.2 is however not a really layout language).
HTML 3.2 was only an intermediate document type and intended only as a temporary solution, which should be replaced with a better designing model. This fact can be seen studying the HTML 3.0 Draft from 1995. The draft base on the work of Dave Raggett from 1993. HTML 3.0 has many attributes, which are neither in HTML 2.0 nor in HTML 3.2, but which are core and internationalization attributes in HTML 4.01 and XHTML 1.0.
W3C: DTD-files: HTML 3.0 Draft.According to the draft, the presentation could be done with
style sheets. In HTML 3.0 the original idea to use style
sheets was a light version of DSSSL
(Document S
tyle
S
emantics and S
pecification
Language, but this aim never fulfilled.
DSSSL might be today in practise a theoretical solution (the HTML
3.0 Draft reserved also the possibility to use some other style
sheet language). CSS replaced DSSSL in HTML documents. Even if
CSS1 (
) released
17 December 1996, HTML 3.2 just reserved the element
STYLE in order to use in the future as a placeholder
for style info. Browsers designers were not ready to use widely
CSS, which means that the usage of HTML 3.2 almost totally
destroyed the original idea of HTML, because it added much
presentational elements and attributes!
The HTML 3.0 Draft had much future oriented proposals: supporting of style sheets (including printed media), mathematical markup, internationalization, fixed banners (without frames) and footnotes. Some of the features are supported in the next major version of HTML, but not all. HTML 3.0 Draft just rejected even if it was a fine proposal. HTML 3.2 is not an official version of the HTML 3.0 Draft - it is far from it! HTML 3.2 is rather a bad replacement of the HTML 3.0 Draft.
Compared to HTML 3.2 the HTML 4.0 (published on 18 December 1997 and revised 24 April 1998; Last changes are made in 1999, when became the version 4.01) brought a new designing model, which base on separate the presentation from the content of the document. HTML 4.0 continued some of the main aims of the HTML 3.0 Draft and it can be regarded the descendant of the HTML 3.0 Draft rather than the HTML 3.2.
The XHTML 1.0 (2000) is the XML 1.0 (Extensible M arkup Language) version of HTML 4.01. XHTML 1.0 is today the recommendation of W3C and for example this page is a XHTML 1.0 document. HTML 4.01 and XHTML 1.0 have following common important main aims:
Compared to the HTML 3.0 Draft, the usage of style sheets has been evaluated further, because in principle HTML 4.0 and XHTML 1.0 don't need those presentational attributes, which are in the HTML 3.0 Draft. To set the text direction and to support certain special medias (especially aural and tactile medias) are new compared to the HTML 3.0 Draft. HTML 3.0 Draft had however the idea of different medias, because DSSSL was intended to give alternative rendering to printers. The tactile and aural medias are just extensions of the media principle. HTML 4.01 and XHTML 1.0 don't fulfil the mathematical markup and some other features of the HTML 3.0 Draft.
The HTML 4.01 and XHTML 1.0 have two main document types, Strict and Transitional with associated DTD-files, strict.dtd and loose.dtd or transitional.dtd (XHTML).
Strict document types don't include certain presentational
elements and attributes, because the presentation should be
defined primary with CSS (in addition they don't include some
non-presentational attributes and elements). These document types
are not however really worth of the name strict
. They are
rather compromises between transitional types and the strict
principle to express the presentation only with CSS. Strict
document types have for example B and I
elements and some presentational attributes to table elements. If
they would have been really strict, they would not include
them.
The transitional document types of HTML 4.01 and XHTML 1.0 have all elements, which belongs to HTML 3.2 except some obsolete elements.
HTML 4.01 and XHTML 1.0 have also a DTD-file for framesets (frameset.dtd), but it is not full DTD-file, because elements are listed comprehensive in the transitional DTD-file. Framesets can be understand as a sub-document type of the transitional document type.
The advance of XHTML 1.0 compared to HTML 4.01 is the fact that it gives the possibility of transformations between other XML-based languages. At this mean XHTML 1.0 brought a new designing model.
The XHTML 1.1 is a working draft. XHTML 1.1 base on the Modularization of XHTML™, which means diving the specification into smaller modules (the modularization is a framework to other XHTML version too, not only to the XHTML 1.1). XHTML 1.1 will have one basic document type and additional modules, which can be used, if necessary. The Internationalization principle is developed further.
In principle XHTML 1.1 gives the possibility to finish the
main aims of the HTML 3.0 Draft, which included a proposal to
support large quantity of mathematical elements. SUB
and SUP are in the draft some of them. XML has the
MathML
1.01 (Mathematical
M
arkup Language)
specification. If that language is used with an additional
namespace or module with XHTML, main aims of the HTML 3.0 Draft
are fulfilled.
I made a "Tour"
from HTML 1.0 to
XHTML 1.1.
In official DTD-files is described, which is the order the correct order of elements, element behaviors and fixed, required and implied attributes. DTD-files are however quite difficult to read, because they use grouped element and attributes list, so called parameter entity references, which refer to certain parameter entity definitions (declarations). Parameter entity definitions are called also DTD macros. For example the entity reference %coreattrs; refer to the following parameter entity declaration:
<!ENTITY % coreattrs |
||
| "id | ID | #IMPLIED -- document-wide unique id -- |
| class | CDATA | #IMPLIED -- space-separated list of classes -- |
| style | %StyleSheet; | #IMPLIED -- associated style info -- |
| title | %Text; | #IMPLIED -- advisory title --" |
> |
||
DTD-macros can be nested. One parameter
entity can refer to other parameter entities. I use only those
DTD-macros, which are used in official DTD-files, but I don't use
nested parameter entity references. I use following generic HTML
4.01 /XHTML 1.0 DTD-macros:
%i18n;, %coreattrs;, %events; and %reserved;.
Note. The HTML 3.0 Draft use
also some of these DTD-macros and I use with it the entity
reference %attrs; ([common +]attr[ibute]s >
attrs).
%attrs; = lang, id,
class. These attributes are parts of %i18n; and %coreattrs;. This DTD-macro used
also in HTML 4.01 and XHTML 1.0 DTD-files, where it has wider
content (it includes also %events;).
lang (look at
%Language% from the Index DOT Html from
Brian Wilson).lang, dir (the direction
of the language).lang, dir,
xml:lang (xml:lang is the language code
as per the XML 1.0 specification).xml:lang.xml:lang, dir (in the
Modularization of XHTML the attribute dir needs the
Bi-directional Text Module).xml:lang.language, which is MS IE specific
attribute to most elements. Other browsers use it only with the
element SCRIPT to express the used scripting
language and I explain the usage of that attribute among %events;.title belongs
to some elements, but it is not a generic attribute and then an
actual core attribute. I don't count it as a core attribute to
these document types.id and
class. The attribute class is intended
to create sub-classes of elements. The attribute
title belongs to some elements, but it is not a
generic attribute and then an actual core attribute. I don't
count it as a core attribute to this document type.title belongs
to some elements, but it is not a generic attribute and then an
actual core attribute. I don't count it as a core attribute to
this document type.class, id,
style and title.class, id and
title.class, id,
style and title. The attribute
style is in the Modularization of XHTML
in the attribute collection Common (Attribute
Collections) as separate attribute, which needs an own
module (Style Attribute Module; I have comments to it
). The collection Common
corresponds in HTML 4.01 and HTML 1.0 %attrs; (= %i18n; + %coreattrs; + %events;).id and class.accesskey and
tabindex to most elements and they are to those MS
browsers core attributes. If I have listed
%coreattrs;, you must check the exact contents from
the Brian.title). In many
cases the attribute title has no effect. If some
element can have other core attributes, I have mentioned only the
entity reference.style and
class).style and class, which are used
only in the style sheet implementation (MS IE 3.02,
Opera 3.51). You can look at the page Definition methods
, how to use the
attribute style and embedded or external style
sheets.id).
The attribute id gives unique identifiers to page
anchors (it is alternative to the name attribute),
style sheets and scripting languages. The same id
attribute can be used at the same time to all of them. Each
id attribute must have in the same page unique name.
You must however remember following rules:
_), for example
id="_id_name" but according to CSS2 can. Both according to CSS1 and CSS2 the first character can't be a number, for example id="1idname" (this concerns also the attribute
class). Many browsers support them more or less incorrectly (a model
)-) is not allowed.
This doesn't work in JavaScript: id="id-name". But
works in CSS. If you want to use the id attribute at
the same time to JavaScript and CSS, you should avoid using underscores and not using at all hyphens (both can be used in page anchors).<a
name="Anchor"></a> (indeed using content create
problems with Netscape 4.x
series if CSS is used
).name can't
be the only page anchor, if the purpose is that XHTML could work
also in some XML-browser, which doesn't read ordinary HTML or
your intention is that transformations between different
XML-languages work easily. If you use in HTML-Tidy
with the option convert to XHTML, the application creates
automatic also the attribute id with the same value
as name. Then each anchor could look like this:
<a name="events" id="events"></a> ( I have comments
to it in the notes of Name Identification module).id="idUsage").<a name="FirstAnchor" id="FirstAnchor"
class="NoUnderline">The
content.</a>.a.NoUnderline {text-decoration:none}.id
attribute! (I know that all browsers don't support it, but the
content needs anyway quite a new browser.)onclick, ondblclick,
onmousedown, onmouseup,
onmouseover, onmousemove,
onmouseout, onkeypress,
onkeydown, onkeyup.SCRIPT to embed or link scripting to
external *.js files. Different scripting language
(JavaScript, JScript,
ECMAScript) versions support them at different
level. The element might have the advisory attribute
language to tell, which language and version is used
(for example language="JavaScript1.2"). According to
HTML 4.01 and XHTML 1.0 authors should use also the attribute
type (for example
type="text/javascript"). Newest versions of each
languages should support all of them. Here is a list of
implementations in previous versions:
onclick, onmouseover (external *.js
files are not supported).onmouseout
(external *.js files are supported).AREA. Following
attributes are supported in all JavaScript/JScript
versions:onload, onunload (BODY |
FRAMESET (tr.))AREA events:onblur, onfocus (A |
AREA | BUTTON | INPUT |
LABEL | SELECT |
TEXTAREA)onchange (INPUT | SELECT |
TEXTAREA)onselect (INPUT |
TEXTAREA)onreset, onsubmit
(FORM)onAbort, onError (JavaScript.
1.1, NN 3.x)onBeforeUnload (IE 4.01+), onMove (NN
4.x), onResize (IE 4.01+, NN 4.x),
onScroll (IE 4.01+), onStop (IE 5.0)
(JavaScript/JScript 1.2+)datafld, dataformatas,
datasrc. They are not added to new XHTML
specifications. The element TABLE has
datapagesize, which is added to XHTML 1.1.datapagesize) are not used in future specifications,
I regard supporting of them proprietary.Elements are listed at the same principle and I use some entity references. In this case I don't expand these three HTML 4.01 entity references:
TT |
I | B | U (tr.) |
S (tr.) | STRIKE (tr.) |
BIG | SMALLEM |
STRONG | DFN | CODE |
SAMP | KBD | VAR |
CITE | ABBR | ACRONYMA |
FONT (tr.) | Q | SUB |
SUP | SPAN | BDOIMG | APPLET
(tr.) | OBJECT | MAP |
IFRAME (tr.)BASEFONT (tr.) |
BR | SCRIPTMARQUEE and BLINK) can have only
non-replaced text elements + BR.INPUT |
SELECT | TEXTAREA | LABEL
| BUTTON
) should be used for accented and certain
special characters such as & and
>. It doesn't mean the same as plain text in
*.txt files, which is CDATA (Character
Data) and where entities are not converted
into certain characters but everything is handled literal.The following means #PCATA encoding:In general also the latter means PCDATA as opposite to CDATA, if the parser reads
Tämä on <em>#PCDATA</em> koodausta
The following is not #PCDATA encoding:
Tämä ei ole <em>#PCDATA</em> koodausta
<em>#PCDATA</em> as an element
markup.P |
DL | DIV | CENTER (tr.) |
NOSCRIPT | NOFRAMES (tr.) |
BLOCKQUOTE | FORM |
ISINDEX (tr.) | HR | TABLE
| FIELDSET | ADDRESS
|%preformatted; | %heading; |
%list;
PREH1 |
H2 | H3 | H4 |
H5 | H6UL | OL |
DIR (tr.) | MENU (tr.)INS and DEL are special
elements, which has this behavior.In most cases where HTML 4.01 use %inline;, %block; and %flow;, XHTML use %Inline, %Block and %Flow, which have following contents:
a |
%special; | %fontstyle; |
%phrase; | %inline.forms
tt | i | b |
u (tr.) | s (tr.) | strike
(tr.) | big | smallem |
strong | dfn | code |
samp | q | sub |
sup| kbd | var |
cite | abbr | acronyma |
img | applet (tr.) |
object | font (tr.) |
basefont (tr.) | br | map
| span | bdo | iframe
(tr.)script, which is together with the element
noscript classified under the reference
%misc;. The content of the %phrase; is
also fully consistent.input | select | textarea
| label | buttonins |
del | script |
noscriptIns and del have flow behavior. Script and
noscript doesn't affect anything to the layout.
These elements are classified both under %Inline;
and %Block; and %Flow;, because they
can be used different ways.form | %misc;
p |
%heading; | div | %lists;
| %blocktext; | isindex (tr.) |
fieldset | table
h1 |
h2 | h3 | h4 |
h5 | h6ul |
ol | dl | dir (tr.) |
menu (tr.)pre |
hr | blockquote | address
| center (tr.) | noframes (tr.)form | %inline; | %misc;In addition I use the followings DTD-macros, which content is
following (some of them are mine; In some cases I have marked as
(tr.)
(= transitional) elements, which belong only to
transitional document types (in the HTML 4.01 specification they
are primary listed as deprecated)):
img| object | big |
small | sub | sup)a |
br | span | bdo |
map | tt | i |
b | u | s | %phrase;
| %inline.forms;)*param | %block; | form | %inline; | %misc;)*form | %misc;)+ | area+)param | %block; | form
| %inline; | %misc;)*legend |
%block; |
form | %inline; | %misc;)HTML 2.0 and HTML 3.2 DTD-files have also a historical entity references, which I use in this document:
historical, non-conforming parsing mode where the only markup signal is the end tag in fullElements
XMP, LISTING and
PLAINTEXT belongs to this category. Even the HTML
3.2 specification regards them as obsolete tags, but they are
partially supported also in newest browsers (IE 5.5, Opera 4.02
and NN 6.0 23.8.2000).LISTING is not supported in NN 6.0. MS IE 5.5 and
Opera 4.02 render it with a monospaced font face (normally as
Courier) and it behaves in MS IE 5.5 like PRE and
Opera like DIV.PLAINTEXT as end-tag but read is literal. Everything
after the start-tag is read literal including
</BODY> and </HTML>. In
fact the browser changes the parsing mode from PCDATA to CDATA.XMP, but NN 6.0 doesn't
render common entities (
) at all.
MS IE 5.5 renders them literal. XMP behaves in Opera
4.02 like LISTING.PLAINTEXT works at the same
way in newest browsers, I recommend, that you forgot all of them
in to the chambers of HTML history. Indeed you can even use CSS
with them, because CSS2 itself doesn't limit, which elements can
get it (this matter depends on user agents and used markup
languages).I expand other entity references. DTD-file have special encoding to express the correct usage of element and I use the same system in this page.
In HTML 4.01 DTD-files the content is marked
after the name of the element (for example <!ELEMENT
BODY) after - - marks, if both start- and
end tags are required. In HTML some element can be omitted or the
end tag can be omitted. In previous case the element is marked
O O (both start and end-tag can be omitted) or
- O (the end tag can be omitted). Some elements
are called as empty elements, because they can't
have any content between start- and end-tags and the end tag must
be omitted (marked as - O EMPTY). Because in XTHML
is the existing recommendation and it doesn't allow to omit end
tags, I recommend to use always, when possible end-tags and mark
empty elements with the termination mark /, for
example <br />. You can read some instructions
how to read DTD-files from the page Help for TM WAPPush
. You find more comprehensive information
from W3C.
Elements have two basic behavior types, inline and block. Normal block elements create a rectangular box and line break before and after them. Depending of elements they can have both block and inline-level child-elements or only inline-level child-elements. Ordinary inline-level elements don't create rectangular boxes around them and they don't create line breaks. They behave like a phase in a line. They can have only inline-level child-elements.
Some elements mix these behaviors. The
behavior type is called as flow. The DTD-files says
about elements DEL and INS, that these
can occur at block or inline level. Depending on situation, they
behave like normal block or inline elements.
HTML 4.01 specification has poor explanations. The
specification doesn't always tell the expected behavior of each
elements. In the DTD-files classifications block, inline and flow
are not enough. In fact some elements should be classified as
inline-block or inline-flow elements (I
have derived the classification inline-block from the
CSS2 specification, which have
display:inline-table; Table itself is a block-level
element, but this property creates to it inline resemble flow;
Into CSS3 is added diplay:inline-block
to get proper presentation especially to some form elements).
These kind of elements are:
OBJECT, MAP and
BUTTON, which according to DTD-files can have
block-level child-elements. The natural behavior of these
elements is inline. They don't behave like DEL and
INS, which behave in some situations like normal
block-level elements. Because these elements can have both
inline-level and block-level elements as their child-elements,
they are inline-flow elements. In principle these elements need
some block-level parent-element (BUTTON has normally
FORM as it parent-element).OPTION and OPTIONGROUP, which
create line breaks like normal block-level elements. Because
these elements require the inline-level parent element
SELECT, which doesn't have any other contents, they
have the behavior inline-block.The DTD-files try to classify all elements into three behavior type. In my mind used element classifications are not fully consistent:
A,,
APPLET, FONT, | BASEFONT,
SCRIPT. The element SCRIPT doesn't
affect to the layout. Elements A and
FONT have the same kind of behavior as normal
inline-level element like B. The element
BASEFONT affects wider than inline-level elements
and its effect range is the same kind of elements
DEL and INS, which have the flow behavior. This classification creates
internal conflicts, because BASEFONT in intended to
set before other elements unlike normal inline elements, which
are intended to use inside some block-level element. According to
advice, the DTD-files should be this kind:-- (BASEFONT?, (%flow;)*
+(INS | DEL)
).NOSCRIPT is classified with the
entity reference %block; even
if it should be rather %flow;.
This matter is fixed in the XHTML 1.0 specification, which is at
this point more consistent than HTML 4.01. It classify this
element under the reference %misc;, which is common to %Inline;, %Block; and %Flow;. I have classified
NOSCRIPT according to the XHTML 1.0 DTD.IMG, APPLET, OBJECT,
MAP and IFRAME are replaced elements.
Some of them can have also block-level contents. Also some form
elements (for example BUTTON), which are listed as
%inline; can have block-level
contents and the behavior resemble replaced inline elements. They
create floating rectangular boxes. In fact they should have an
own classification.Comment. Many authors use
FONT at the same way as BASEFONT even
if according to the specification it should behave like an
ordinary inline-level element. Even if most browsers allow to
that element the flow behavior, I recommend to use it according
to the specification.
It is however possible to create some sub-classifications in the base of them. Concerning the page layout HTML-elements can be classified into sub-classed at the following way:
UL, OL, TABLE and in the
strict document type the element BLOCKQUOTE has
normally a block-level element as its child-element).I, B and SPAN +
A excluding nested anchor elements; from form
elements LABEL and LEGEND have this
kind of behavior).INS,
DEL).CAPTION,
DT, H1-H6, P and in the
strict document type ADDRESS).DD,
DIV, FIELDSET, FORM
(excluding nested forms), LI, TD,
TH and in the transitional document type
BLOCKQUOTE, CENTER and
IFRAME).OBJECT, MAP and
BUTTON and in the transitional document type
APPLET).OPTION
and OPTIONGROUP), but TEXTAREA has a
block parent. These elements behave like the replaced inline
level element IMG.HR and in the transitional document type
ISINDEX).BR and IMG and from form elements
INPUT; even if AREA is not classified
to them it resembles them). Indeed we must ask, if we should
classify them into two sub-classes:
IMG,
INPUT).BR).BASEFONT is this kind of element even if it is
classified in the loose.dtd as an inline-level element (it is
used like an inline-level element, but it affects wider; Indeed
in some browsers it behave like an element container - look at a note).This classification is not without problems, because
inline-level elements can be classified also as replaced (for
example IMG) and non-replaced elements (for example
STRONG). Concerning replaced element, the behavior
resemble floating block level elements (they are created with the
CSS-property float) both empty and non-empty
elements.
If we think about the visual rendering of elements, they have
only three basic alternatives: block,
inline and inline-block. CSS3 will
support all of them with the display property. The
behaviour of some elements, which have the flow behavior or flow
content is different in individual situations. Just this matter
makes classificiations problematic.
Most browsers support 16 color keyword values. They can be regarded as standard colors in the Windows platform, because they base on 16 first color in the Windows color palette. However only half of them belong to web safe colors, which are common to Windows and Mac browsers. Instead of 256 standard VGA-palette, this palette has only 216 colors.
I have defined colors as hexadecimal values. All CSS-capable browsers should be able to render following colors if they have enough big color depth (I have marked web safe colors as + ... +):
| #00FFFF - rgb(000, 255, 255) - + aqua + |
| #000000 - rgb(000, 000, 000) - + black + |
| #0000FF - rgb(000, 000, 255) - + blue + |
| #FF00FF - rgb(255, 000, 255) - + fuchsia + |
| #808080 - rgb(128, 128, 128) - gray |
| #008000 - rgb(000, 128, 000) - green |
| #00FF00 - rgb(000, 255, 000) - + lime + |
| #800000 - rgb(128, 000, 000) - maroon |
| #000080 - rgb(000, 000, 128) - navy |
| #808000 - rgb(128, 128, 000) - olive |
| #800080 - rgb(128, 000, 128) - purple |
| #FF0000 - rgb(255, 000, 000) - + red + |
| #C0C0C0 - rgb(192, 192, 192) - silver |
| #008080 - rgb(000, 128, 128) - teal |
| #FFFFFF - rgb(255, 255, 255) - + white + |
| #FFFF00 - rgb(255, 255, 000) - + yellow + |
Netscape 140 named colors. Colors, which are marked as *...* belong to those 16 widely supported color names, which don't belong to web safe colors. Colors, which are marked with +...+ means those widely supported color names, which belong to the web safe palette (other web safe colors are listed later). Color names, which don't have these marks are supported in Netscape browsers and newer Microsoft Internet Explorer browsers, but not in all versions of Opera (at least Opera 5.1x series supports them). All colors are defined as hexadecimal values in order that all CSS-capable browsers, which have enough big color depth could render these colors:
| #F0F8FF - rgb(240, 248, 255) - aliceblue |
| #FAEBD7 - rgb(250, 235, 215) - antiquewhite |
| #00FFFF - rgb(000, 255, 255) - + aqua + (same as cyan) |
| #7FFFD4 - rgb(127, 255, 212) - aquamarine |
| #F0FFFF - rgb(240, 255, 255) - azure |
| #F5F5DC - rgb(245, 245, 220) - beige |
| #FFE4C4 - rgb(255, 228, 196) - bisque |
| #000000 - rgb(000, 000, 000) - + black + |
| #FFEBCD - rgb(255, 235, 205) - blanchedalmond |
| #0000FF - rgb(000, 000, 255) - + blue + |
| #8A2BE2 - rgb(138, 043, 226) - blueviolet |
| #A52A2A - rgb(165, 042, 042) - brown |
| #DEB887 - rgb(222, 184, 135) - burlywood |
| #5F9EA0 - rgb(095, 158, 160) - cadetblue |
| #7FFF00 - rgb(127, 255, 000) - chartreuse |
| #D2691E - rgb(210, 105, 030) - chocolate |
| #FF7F50 - rgb(255, 127, 080) - coral |
| #6495ED - rgb(100, 149, 237) - cornflowerblue |
| #FFF8DC - rgb(255, 248, 220) - cornsilk |
| #DC143C - rgb(220, 020, 060) - crimson |
| #00FFFF - rgb(000, 255, 255) - cyan (same as + aqua +) |
| #00008B - rgb(000, 000, 139) - darkblue |
| #008B8B - rgb(000, 139, 139) - darkcyan |
| #B8860B - rgb(184, 134, 011) - darkgoldenrod |
| #A9A9A9 - rgb(169, 169, 169) - darkgray |
| #006400 - rgb(000, 100, 000) - darkgreen |
| #BDB76B - rgb(189, 183, 107) - darkkhaki |
| #8B008B - rgb(139, 000, 139) - darkmagenta |
| #556B2F - rgb(085, 107, 047) - darkolivegreen |
| #FF8C00 - rgb(255, 140, 000) - darkorange |
| #9932CC - rgb(153, 050, 204) - darkorchid |
| #8B0000 - rgb(139, 000, 000) - darkred |
| #E9967A - rgb(233, 150, 122) - darksalmon |
| #8FBC8F - rgb(143, 188, 143) - darkseagreen |
| #483D8B - rgb(072, 061, 139) - darkslateblue |
| #2F4F4F - rgb(047, 079, 079) - darkslategray |
| #00CED1 - rgb(000, 206, 209) - darkturquoise |
| #9400D3 - rgb(148, 000, 211) - darkviolet |
| #FF1493 - rgb(255, 020, 147) - deeppink |
| #00BFBF - rgb(000, 191, 255) - deepskyblue |
| #696969 - rgb(105, 105, 105) - dimgray |
| #1E90FF - rgb(030, 144, 255) - dodgerblue |
| #B22222 - rgb(178, 034, 034) - firebrick |
| #FFFAF0 - rgb(255, 250, 240) - floralwhite |
| #228B22 - rgb(034, 139, 034) - forestgreen |
| #FF00FF - rgb(255, 000, 255) - + fuchsia + (same as magenta) |
| #DCDCDC - rgb(220, 220, 220) - gainsboro |
| #F8F8FF - rgb(248, 248, 255) - ghostwhite |
| #FFD700 - rgb(255, 215, 000) - gold |
| #DAA520 - rgb(218, 165, 032) - goldenrod |
| #808080 - rgb(128, 128, 128) - * gray * |
| #008000 - rgb(000, 128, 000) - * green * |
| #ADFF2F - rgb(173, 255, 047) - greenyellow |
| #F0FFF0 - rgb(240, 255, 240) - honeydew |
| #FF69B4 - rgb(255, 105, 180) - hotpink |
| #CD5C5C - rgb(205, 092, 092) - indianred |
| #4B0082 - rgb(075, 000, 130) - indigo |
| #FFFFF0 - rgb(255, 255, 240) - ivory |
| #F0E68C - rgb(240, 230, 140) - khaki |
| #E6E6FA - rgb(230, 230, 250) - lavender |
| #FFF0F5 - rgb(255, 240, 245) - lavenderblush |
| #7CFC00 - rgb(124, 252, 000) - lawngreen |
| #FFFACD - rgb(255, 250, 205) - lemonchiffon |
| #ADD8E6 - rgb(173, 216, 230) - lightblue |
| #F08080 - rgb(240, 128, 128) - lightcoral |
| #E0FFFF - rgb(224, 255, 255) - lightcyan |
| #FAFAD2 - rgb(250, 250, 210) - lightgoldenrodyellow |
| #90EE90 - rgb(144, 238, 144) - lightgreen |
| #D3D3D3 - rgb(211, 211, 211) - lightgrey |
| #FFB6C1 - rgb(255, 182, 193) - lightpink |
| #FFA07A - rgb(255, 160, 122) - lightsalmon |
| #20B2AA - rgb(032, 178, 170) - lightseagreen |
| #87CEFA - rgb(135, 206, 250) - lightskyblue |
| #778899 - rgb(119, 136, 153) - lightslategrey |
| #B0C4DE - rgb(176, 196, 222) - lightsteelblue |
| #FFFFE0 - rgb(255, 255, 224) - lightyellow |
| #00FF00 - rgb(000, 255, 000) - + lime + |
| #32CD32 - rgb(050, 205, 050) - limegreen |
| #FAF0E6 - rgb(250, 240, 230) - linen |
| #FF00FF - rgb(255, 000, 255) - magenta (same as + fuschia +) |
| #800000 - rgb(128, 000, 000) - * maroon * |
| #66CDAA - rgb(102, 205, 170) - mediumaquamarine |
| #0000CD - rgb(000, 000, 205) - mediumblue |
| #BA55D3 - rgb(186, 085, 211) - mediumorchid |
| #9370DB - rgb(147, 112, 219) - mediumpurple |
| #3CB371 - rgb(060, 179, 113) - mediumseagreen |
| #7B68EE - rgb(123, 104, 238) - mediumslateblue |
| #00FA9A - rgb(000, 250, 154) - mediumspringgreen |
| #48D1CC - rgb(072, 209, 204) - mediumturquoise |
| #C71585 - rgb(199, 021, 133) - mediumvioletred |
| #191970 - rgb(025, 025, 112) - midnightblue |
| #F5FFFA - rgb(245, 255, 250) - mintcream |
| #FFE4E1 - rgb(255, 228, 225) - mistyrose |
| #FFE4B5 - rgb(255, 228, 181) - moccasin |
| #FFDEAD - rgb(255, 222, 173) - navajowhite |
| #000080 - rgb(000, 000, 128) - * navy * |
| #FDF5E6 - rgb(253, 245, 230) - oldlace |
| #808000 - rgb(128, 128, 000) - * olive * |
| #6B8E23 - rgb(107, 142, 035) - olivedrab |
| #FFA500 - rgb(255, 165, 000) - orange |
| #FF4500 - rgb(255, 069, 000) - orangered |
| #DA70D6 - rgb(218, 112, 214) - orchid |
| #EEE8AA - rgb(238, 232, 170) - palegoldenrod |
| #98FB98 - rgb(152, 251, 152) - palegreen |
| #AFEEEE - rgb(175, 238, 238) - paleturquoise |
| #DB7093 - rgb(219, 112, 147) - palevioletred |
| #FFEFD5 - rgb(255, 239, 213) - papayawhip |
| #FFDAB9 - rgb(255, 218, 185) - peachpuff |
| #CD853F - rgb(205, 133, 063) - peru |
| #FFC0CB - rgb(255, 192, 203) - pink |
| #DDA0DD - rgb(221, 160, 221) - plum |
| #B0E0E6 - rgb(176, 224, 230) - powderblue |
| #800080 - rgb(128, 000, 128) - * purple * |
| #FF0000 - rgb(255, 000, 000) - + red + |
| #BC8F8F - rgb(188, 143, 143) - rosybrown |
| #4169E1 - rgb(065, 105, 225) - royalblue |
| #8B4513 - rgb(139, 069, 019) - saddlebrown |
| #FA8072 - rgb(250, 128, 114) - salmon |
| #F4A460 - rgb(244, 164, 096) - sandybrown |
| #2E8B57 - rgb(046, 139, 087) - seagreen |
| #FFF5EE - rgb(255, 245, 238) - seashell |
| #A0522D - rgb(160, 082, 045) - sienna |
| #C0C0C0 - rgb(192, 192, 192) - * silver * |
| #87CEEB - rgb(135, 206, 235) - skyblue |
| #6A5ACD - rgb(106, 090, 205) - slateblue |
| #708090 - rgb(112, 128, 144) - slategray |
| #FFFAFA - rgb(255, 250, 250) - snow |
| #00FF7F - rgb(000, 255, 127) - springgreen |
| #4682B4 - rgb(070, 130, 180) - steelblue |
| #D2B48C - rgb(210, 180, 140) - tan |
| #008080 - rgb(000, 128, 128) - * teal * |
| #D8BFD8 - rgb(216, 191, 216) - thistle |
| #FF6347 - rgb(255, 099, 071) - tomato |
| #40E0D0 - rgb(064, 224, 208) - turquoise |
| #EE82EE - rgb(238, 130, 238) - violet |
| #F5DEB3 - rgb(245, 222, 179) - wheat |
| #FFFFFF - rgb(255, 255, 255) - + white + |
| #F5F5F5 - rgb(245, 245, 245) - whitesmoke |
| #FFFF00 - rgb(255, 255, 000) - + yellow + |
| #9ACD32 - rgb(154, 205, 050) - yellowgreen |
I recommend that you would not non-web-safe named colors
except in the Intranet. Use instead of them nearest web safe colors. For example use
instead of darkorchid (#9932CC - rgb(153, 050,
204)) the nearest corresponding web safe color values
(#9933CC - rgb(153, 051, 204); in CSS also the
shortened format #93C is valid).
Some color values have two names and they are at that mean
listed twice in the 140 color name list. Aqua and
cyan are same colors (rgb(000, 255,
255)) like fuchsia and magenta
(rgb(255, 000, 255)). Use rather aqua
and fuchsia than cyan or
magenta. The 140 colors might have other double
colors.
Web safe colors use RGB-values (00)0, (0)51, 102, 153, 204 and
255. Corresponding percentage values are 0%, 20%, 40%, 60%, 80%
and 100% and corresponding hexadecimal values are combinations of
00, 33, 66, 99, CC and FF (for example #003366). I
tried to create also a list of those 40 colors, which in Windows
95 or 98 don't belong to web safe colors, but I don't get the
necessary information.
I have defined colors as hexadecimal values with HTML elements and attributes. Colors are classified according to the RGB-values with three digits. In this case they are listed first. I have also added possible named colors (colors, which are marked as +...+ belong to 16 common used color names). Almost all browsers should be able to render following colors:
| rgb(000, 000, 000) - #000000 - + black + |
| rgb(000, 000, 051) - #000033 |
| rgb(000, 000, 102) - #000066 |
| rgb(000, 000, 153) - #000099 |
| rgb(000, 000, 204) - #0000CC |
| rgb(000, 000, 255) - #0000FF - + blue + |
| rgb(000, 051, 000) - #003300 |
| rgb(000, 051, 051) - #003333 |
| rgb(000, 051, 102) - #003366 |
| rgb(000, 051, 153) - #003399 |
| rgb(000, 051, 204) - #0033CC |
| rgb(000, 051, 255) - #0033FF |
| rgb(000, 102, 000) - #006600 |
| rgb(000, 102, 051) - #006633 |
| rgb(000, 102, 102) - #006666 |
| rgb(000, 102, 153) - #006699 |
| rgb(000, 102, 204) - #0066CC |
| rgb(000, 102, 255) - #0066FF |
| rgb(000, 153, 000) - #009900 |
| rgb(000, 153, 051) - #009933 |
| rgb(000, 153, 102) - #009966 |
| rgb(000, 153, 153) - #009999 |
| rgb(000, 153, 204) - #0099CC |
| rgb(000, 153, 255) - #0099FF |
| rgb(000, 204, 000) - #00CC00 |
| rgb(000, 204, 051) - #00CC33 |
| rgb(000, 204, 102) - #00CC66 |
| rgb(000, 204, 153) - #00CC99 |
| rgb(000, 204, 204) - #00CCCC |
| rgb(000, 204, 255) - #00CCFF |
| rgb(000, 255, 000) - #00FF00 - + lime + |
| rgb(000, 255, 051) - #00FF33 |
| rgb(000, 255, 102) - #00FF66 |
| rgb(000, 255, 153) - #00FF99 |
| rgb(000, 255, 204) - #00FFCC |
| rgb(000, 255, 255) - #00FFFF - + aqua + (same as cyan) |
| rgb(051, 000, 000) - #330000 |
| rgb(051, 000, 051) - #330033 |
| rgb(051, 000, 102) - #330066 |
| rgb(051, 000, 153) - #330099 |
| rgb(051, 000, 204) - #3300CC |
| rgb(051, 000, 255) - #3300FF |
| rgb(051, 051, 000) - #333300 |
| rgb(051, 051, 051) - #333333 |
| rgb(051, 051, 102) - #333366 |
| rgb(051, 051, 153) - #333399 |
| rgb(051, 051, 204) - #3333CC |
| rgb(051, 051, 255) - #3333FF |
| rgb(051, 102, 000) - #336600 |
| rgb(051, 102, 051) - #336633 |
| rgb(051, 102, 102) - #336666 |
| rgb(051, 102, 153) - #336699 |
| rgb(051, 102, 204) - #3366CC |
| rgb(051, 102, 255) - #3366FF |
| rgb(051, 153, 000) - #339900 |
| rgb(051, 153, 051) - #339933 |
| rgb(051, 153, 102) - #339966 |
| rgb(051, 153, 153) - #339999 |
| rgb(051, 153, 204) - #3399CC |
| rgb(051, 153, 255) - #3399FF |
| rgb(051, 204, 000) - #33CC00 |
| rgb(051, 204, 051) - #33CC33 |
| rgb(051, 204, 102) - #33CC66 |
| rgb(051, 204, 153) - #33CC99 |
| rgb(051, 204, 204) - #33CCCC |
| rgb(051, 204, 255) - #33CCFF |
| rgb(051, 255, 000) - #33FF00 |
| rgb(051, 255, 051) - #33FF33 |
| rgb(051, 255, 102) - #33FF66 |
| rgb(051, 255, 153) - #33FF99 |
| rgb(051, 255, 204) - #33FFCC |
| rgb(051, 255, 255) - #33FFFF |
| rgb(102, 000, 000) - #660000 |
| rgb(102, 000, 051) - #660033 |
| rgb(102, 000, 102) - #660066 |
| rgb(102, 000, 153) - #660099 |
| rgb(102, 000, 204) - #6600CC |
| rgb(102, 000, 255) - #6600FF |
| rgb(102, 051, 000) - #663300 |
| rgb(102, 051, 051) - #663333 |
| rgb(102, 051, 102) - #663366 |
| rgb(102, 051, 153) - #663399 |
| rgb(102, 051, 204) - #6633CC |
| rgb(102, 051, 255) - #6633FF |
| rgb(102, 102, 000) - #666600 |
| rgb(102, 102, 051) - #666633 |
| rgb(102, 102, 102) - #666666 |
| rgb(102, 102, 153) - #666699 |
| rgb(102, 102, 204) - #6666CC |
| rgb(102, 102, 255) - #6666FF |
| rgb(102, 153, 000) - #669900 |
| rgb(102, 153, 051) - #669933 |
| rgb(102, 153, 102) - #669966 |
| rgb(102, 153, 153) - #669999 |
| rgb(102, 153, 204) - #6699CC |
| rgb(102, 153, 255) - #6699FF |
| rgb(102, 204, 000) - #66CC00 |
| rgb(102, 204, 051) - #66CC33 |
| rgb(102, 204, 102) - #66CC66 |
| rgb(102, 204, 153) - #66CC99 |
| rgb(102, 204, 204) - #66CCCC |
| rgb(102, 204, 255) - #66CCFF |
| rgb(102, 255, 000) - #66FF00 |
| rgb(102, 255, 051) - #66FF33 |
| rgb(102, 255, 102) - #66FF66 |
| rgb(102, 255, 153) - #66FF99 |
| rgb(102, 255, 204) - #66FFCC |
| rgb(102, 255, 255) - #66FFFF |
| rgb(153, 000, 000) - #990000 |
| rgb(153, 000, 051) - #990033 |
| rgb(153, 000, 102) - #990066 |
| rgb(153, 000, 153) - #990099 |
| rgb(153, 000, 204) - #9900CC |
| rgb(153, 000, 255) - #9900FF |
| rgb(153, 051, 000) - #993300 |
| rgb(153, 051, 051) - #993333 |
| rgb(153, 051, 102) - #993366 |
| rgb(153, 051, 153) - #993399 |
| rgb(153, 051, 204) - #9933CC |
| rgb(153, 051, 255) - #9933FF |
| rgb(153, 102, 000) - #996600 |
| rgb(153, 102, 051) - #996633 |
| rgb(153, 102, 102) - #996666 |
| rgb(153, 102, 153) - #996699 |
| rgb(153, 102, 204) - #9966CC |
| rgb(153, 102, 255) - #9966FF |
| rgb(153, 153, 000) - #999900 |
| rgb(153, 153, 051) - #999933 |
| rgb(153, 153, 102) - #999966 |
| rgb(153, 153, 153) - #999999 |
| rgb(153, 153, 204) - #9999CC |
| rgb(153, 153, 255) - #9999FF |
| rgb(153, 204, 000) - #99CC00 |
| rgb(153, 204, 051) - #99CC33 |
| rgb(153, 204, 102) - #99CC66 |
| rgb(153, 204, 153) - #99CC99 |
| rgb(153, 204, 204) - #99CCCC |
| rgb(153, 204, 255) - #99CCFF |
| rgb(153, 255, 000) - #99FF00 |
| rgb(153, 255, 051) - #99FF33 |
| rgb(153, 255, 102) - #99FF66 |
| rgb(153, 255, 153) - #99FF99 |
| rgb(153, 255, 206) - #99FFCC |
| rgb(153, 255, 255) - #99FFFF |
| rgb(204, 000, 000) - #CC0000 |
| rgb(204, 000, 051) - #CC0033 |
| rgb(204, 000, 102) - #CC0066 |
| rgb(204, 000, 153) - #CC0099 |
| rgb(204, 000, 204) - #CC00CC |
| rgb(204, 000, 255) - #CC00FF |
| rgb(204, 051, 000) - #CC3300 |
| rgb(204, 051, 102) - #CC3333 |
| rgb(204, 051, 152) - #CC3366 |
| rgb(204, 051, 153) - #CC3399 |
| rgb(204, 051, 204) - #CC33CC |
| rgb(204, 051, 255) - #CC33FF |
| rgb(204, 102, 000) - #CC6600 |
| rgb(204, 102, 051) - #CC6633 |
| rgb(204, 102, 102) - #CC6666 |
| rgb(204, 102, 153) - #CC6699 |
| rgb(204, 102, 204) - #CC66CC |
| rgb(204, 102, 255) - #CC66FF |
| rgb(204, 153, 000) - #CC9900 |
| rgb(204, 153, 051) - #CC9933 |
| rgb(204, 153, 102) - #CC9966 |
| rgb(204, 153, 153) - #CC9999 |
| rgb(204, 153, 204) - #CC99CC |
| rgb(204, 153, 255) - #CC99FF |
| rgb(204, 204, 000) - #CCCC00 |
| rgb(204, 204, 051) - #CCCC33 |
| rgb(204, 204, 102) - #CCCC66 |
| rgb(204, 204, 153) - #CCCC99 |
| rgb(204, 204, 204) - #CCCCCC |
| rgb(204, 204, 255) - #CCCCFF |
| rgb(204, 255, 000) - #CCFF00 |
| rgb(204, 255, 051) - #CCFF33 |
| rgb(204, 255, 102) - #CCFF66 |
| rgb(204, 255, 153) - #CCFF99 |
| rgb(204, 255, 204) - #CCFFCC |
| rgb(204, 255, 255) - #CCFFFF |
| rgb(255, 000, 000) - #FF0000 - + red + |
| rgb(255, 000, 051) - #FF0033 |
| rgb(255, 000, 102) - #FF0066 |
| rgb(255, 000, 153) - #FF0099 |
| rgb(255, 000, 204) - #FF00CC |
| rgb(255, 000, 255) - #FF00FF - + fuchsia + (same as magenta) |
| rgb(255, 051, 000) - #FF3300 |
| rgb(255, 051, 051) - #FF3333 |
| rgb(255, 051, 102) - #FF3366 |
| rgb(255, 051, 153) - #FF3399 |
| rgb(255, 051, 204) - #FF33CC |
| rgb(255, 051, 255) - #FF33FF |
| rgb(255, 102, 000) - #FF6600 |
| rgb(255, 102, 051) - #FF6633 |
| rgb(255, 102, 102) - #FF6666 |
| rgb(255, 102, 153) - #FF6699 |
| rgb(255, 102, 204) - #FF66CC |
| rgb(255, 102, 255) - #FF66FF |
| rgb(255, 153, 000) - #FF9900 |
| rgb(255, 153, 051) - #FF9933 |
| rgb(255, 153, 102) - #FF9966 |
| rgb(255, 153, 153) - #FF9999 |
| rgb(255, 153, 204) - #FF99CC |
| rgb(255, 153, 255) - #FF99FF |
| rgb(255, 204, 000) - #FFCC00 |
| rgb(255, 204, 051) - #FFCC33 |
| rgb(255, 204, 102) - #FFCC66 |
| rgb(255, 204, 153) - #FFCC99 |
| rgb(255, 204, 204) - #FFCCCC |
| rgb(255, 204, 255) - #FFCCFF |
| rgb(255, 255, 000) - #FFFF00 - + yellow + |
| rgb(255, 255, 051) - #FFFF33 |
| rgb(255, 255, 102) - #FFFF66 |
| rgb(255, 255, 153) - #FFFF99 |
| rgb(255, 255, 204) - #FFFFCC |
| rgb(255, 255, 255) - #FFFFFF- + white + |
In addition to RGB-values (00)0 (0%) and 255 (100%), the
Windows 256 palette use also RGB-values 128 (50%) and 192 (75%),
which are as hexadecimal values 80
and C0
(for example
#808000). At least following colors in the windows
16 colors palette are not web safe colors
(I can't however inform, what are those
other 32 colors in the Windows 256 colors palette, which are not
web safe colors):
| #000080 - rgb(000, 000, 128) - * navy * |
| #008000 - rgb(000, 128, 000) - * green * |
| #008080 - rgb(000, 128, 128) - * teal * |
| #800000 - rgb(128, 000, 000) - * maroon * |
| #800080 - rgb(128, 000, 128) - * purple * |
| #808000 - rgb(128, 128, 000) - * olive * |
| #808080 - rgb(128, 128, 128) - * gray * |
| #C0C0C0 - rgb(192, 192, 192) - * silver * |
Zoran.net lists 140 named colors with their
NAMES (can be referenced in web-pages by those names), HEX
values, RGB values and absolute rgb values. It lists names
however separate (for example it lists the first color alice
blue
, but I have listed color names together aliceblue
). You
can find more information about named colors and web safe colors
from the Internet (when you search information about them, use
search words web+safe+colors
or named+colors
).