使用一個文件結構樹 DOM 來表示整個html文件.
物件上可以設計屬性和方法, 通過操作物件上的屬性或方法, 可以間接的操作頁面中的元素.
利用這種方式將html、CSS、JavaScript整合在了一起,形成了現在的Dhtml技術.
Dhtml可以分為兩部分內容: BOM和DOM
document.getElementById(id).style.property=新樣式例如:
<h1 id="id1">我的標題</h1> <button type="button" onclick="document.getElementById('id1').style.color='red' "> 點我!</button>
div#div2 { transform:translate(50px,100px); }移動
transform:rotate(30 deg);
<img style="transform:rotate(30deg);" src="../css/filters/pineapple.jpg">
<div style="transform: scale(2,3);"> div 元件的寬度是原始大小的二倍, 高度是原始大小的三倍。 </div>
scale() 方法也可做圖文翻轉:
<table> <tr> <td style = "transform: scaleX(-1);transform: scaleX(-1);">Text</td>" <td>Text </tr> <tr> <td style = "transform: scale(-1,-1);">Text</td> <td style = "transform: scaleY(-1);">Text</td> </tr> </table>Flip
<div style="transform: skew(30deg, 20deg);"> </div>
<div style="transform:matrix(0.866,0.5,-0.5,0.866,0,0);"> </div>matrix
語法: STYLE="filter:Alpha(Opacity=opacity,FinishOpacity=finishopacity,Style=style, StartX=startX,StartY=startY,FinishX=finishX,FinishY=finishY)" 說明: Opacity:起始值,取值為0-100,0為透明,100為原圖. FinishOpacity:目標值. Style:1或2或3 StartX:任 ? StartY:任意值 例子:filter:Alpha(Opacity="0",FinishOpacity="40",Style="2")
語法: STYLE="filter:Blur(Add=add,Direction=direction,Strength=strength)" 說明: Add:一般為1,或0. Direction:角度,0-315度,步長為45度. Strength:效果增長的數值,一般5即可. 例子:filter:Blur(Add="1",Direction="45",Strength="5")
0% 將使圖像全黑。
100% (1) 是預設值,代表原始圖像。
超過 100% 的值將提供更明亮的結果。
img { filter: brightness(200%);}
例:更明亮的圖像
語法: STYLE="filter:Chroma(Color=color)" 說明: color:#rrggbb格式,任意. 例子:filter:Chroma(Color="#FFFFFF")
0% 將使圖像全黑。
100% (1) 是預設值,代表原始圖像。
超過 100% 的值將提供對比度更高的結果。
img { filter: contrast(200%); }
例:更明亮的圖像
filter: drop-shadow(h-shadow v-shadow blur spread color)
filter: drop-shadow(8px 8px 10px red);
filter: grayscale(50%);
0% (0) 是預設值,代表原始圖像。
100% 將使圖像完全變灰(用於黑白圖像)。
注意:不允許使用負值。
例:圖像變灰色
0deg 是預設值,代表原始圖像。
注意:最大值為 360 度。
filter: hue-rotate(90%);
例:色調旋轉
0% (0) 是預設值,代表原始圖像。
100% 將使圖像完全倒置。
注意:不允許使用負值。
filter: invert(100%);
例:反轉圖像
0% 是完全透明的。
100% (1) 是預設值,代表原始圖像(無透明度)。
注意:不允許使用負值。
提示:此濾器類似於不透明度屬性。
filter: opacity(30%);
例:不透明度
0% (0) 將使圖像完全不飽和。
100% 是預設值,代表原始圖像。
超過 100% 的值提供超飽和結果。
注意:不允許使用負值。
filter: saturate(800%);
例:圖像飽和
0% (0) 是預設值,代表原始圖像。
100% 將使圖像完全棕褐色。
注意:不允許使用負值。
filter: sepia(90%);
例:棕褐色圖像
例:各種濾鏡
例子:
filter: url(svg-url#element-id)
img { opacity: 0.5; } img:hover { opacity: 1.0; }當用戶將鼠標懸停在圖像上時圖像不透明。 這個 CSS 是 opacity:1;。
<!DOCTYPE html> <html> <body> <h1>My First JavaScript Animation</h1> <div id ="container"> <div id ="animate">動畫在此進行</div> </div> </body> </html>
#container { width: 400px; height: 400px; position: relative; background: yellow; } #animate { width: 50px; height: 50px; position: absolute; background: red; }
id = setInterval(frame, 5); function frame() { if (/* test for finished */) { clearInterval(id); } else { /* code to change the element style */ } }例如:
function myMove() { let id = null; const elem = document.getElementById("animate"); let pos = 0; clearInterval(id); id = setInterval(frame, 5); function frame() { if (pos == 350) { clearInterval(id); } else { pos++; elem.style.top = pos + "px"; elem.style.left = pos + "px"; } } }
CSS filter Property DOM Animation svgprimer svg svg filters SVG濾鏡原理以及應用方式 Internet & World Wide Web How to Program Deitel, Deitel and Nieto, Pretice Hall, 2002. itread01.com