DHTML ( Dynamic HTML )とは、ブラウザ上で動的な操作・表示を行なうための技術である。
もともとはWindowsのアクティブディスクトップのために作られた規格で、
HTML・スタイルシート・スクリプト(JavaScript, VBScriptなど)を使用してデータを作る。
(非互換な部分はあるが同様の機能がNetscapeにもある)
具体的には以下の機能が含まれる。
リンクされた文字の上にカーソルを移動するとバックの色が変化するHTMLをDHTMLのレイヤーなどを使って作ってみよう。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>DHTML sample 1</TITLE>
<SCRIPT LANGUAGE = "JavaScript">
<!--
function changeBgColor(color)
{
if(document.layers)
document.layers['layer0'].bgColor = color;
if(document.all)
document.all('layer0').style.backgroundColor = color;
}
// -->
</SCRIPT>
<STYLE TYPE="text/css">
<!--
.absPosition
{
position:absolute;
}
#layer0
{
left: 20px;
top: 10;
width: 50;
height: 18;
clip: rect(0,50,18,0);
}
-->
</STYLE>
</HEAD>
<BODY>
<SPAN CLASS = "absPosition" ID = "layer0">
<A HREF = "link.htm" onMouseOver = "changeBgColor('#ff0000')" onMouseOut = "changeBgColor('#ffffff')" >
touch Me
</A>
</SPAN>
</BODY>
</HTML>
上のHTMLデータ中の1部を解説する。
if(document.layers)
document.layers['layer0'].bgColor = color;
if(document.all)
document.all('layer0').style.backgroundColor = color;
.absPosition
position:absolute;
#layer0
left: 20px;
top: 10;
width: 50;
height: 18;
clip: rect(0,50,18,0);
<A HREF = "link.htm" onMouseOver = "changeBgColor('#ff0000')" onMouseOut = "changeBgColor('#ffffff')" >
DHTMLはNetscapeとInternet Explorerでは互換性が無い場合があるので注意が必要である。