成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于JavaScript的相關CSS技術概覽

開發 前端
自從CSS出現以來,就有廠商希望CSS能夠更加靈活一點,最早的CSS動態化體現為“動態表達式”(或動態屬性,Dynamic attribute)的構想,本文將介紹基于JavaScript的CSS技術概覽。

CSS技術概覽:動態表達式的構想也許是源自于以下的一些場景:

元素的尺寸或者位置由瀏覽器或者html文檔來計算

使用變量作為style屬性的值,比如頻繁使用的顏色,用一個全局變量

包括瀏覽器的鼻祖Netscape以及IE瀏覽器都試圖在CSS中使用javascript,Netscape公司在很久很久以前提出了JSS技術,當然只支持Netscape瀏覽器:

“JavaScript Style Sheets. In the beginning, they were JASS (JavaScript Accessible Style Sheets), then JSSS or JSS (JavaScript Style Sheets), and now Netscape has taken to calling them Style Sheets with JavaScript Syntax. They exist in the Netscape DHTML documentation, a few books, and a couple of old third party articles on the web. The best introduction to JSS is by HTML veteran Chuck Musciano, at SunWorld. A concise, clear examination, this article was written a year ago (April 1997). Next to nothing has been written on the Web since then。”

一段經典的Netscape瀏覽器的JSS代碼如下所示:

  1. 'text/javascript'>  
  2. with (parent.frames.main.document.classes.items.SPAN) {  
  3.     width = menuWidth;  
  4.     color = fntCol;  
  5.     fontSize = fntSiz;  
  6.     fontWeight = fntWgh;  
  7.     fontStyle = fntSty;  
  8.     fontFamily = fntFam;  
  9.     borderWidth = borWid;  
  10.     borderColor = borCol;  
  11.     borderStyle = borSty;  
  12.     lineHeight = linHgt;  
  13. }  
  14.  

是不是覺得非常怪異?您無需懷疑,這確實是瀏覽器鼻祖netscape的發明,隨著與ie競爭的失敗,Netscape瀏覽器逐漸退出歷史舞臺,相應地,JSS技術已經泯滅于人間。以下的地址給出了JSS的詳細介紹:http://www.webreference.com/dhtml/column18/menuFrJSS.html

微軟公司在IE5之后提出了“動態屬性(Dynamic Properties)”技術:

“IE5及其以后版本支持在CSS中使用expression,用來把CSS屬性和Javas cript表達式關聯起來,這里的CSS屬性可以是元素固有的屬性,也可以是自定義屬性。就是說CSS屬性后面可以是一段Javas cript表達式,CSS屬性的值等于Javas cript表達式計算的結果。 在表達式中可以直接引用元素自身的屬性和方法,也可以使用其他瀏覽器對象。這個表達式就好像是在這個元素的一個成員函數中一樣。 ”

CSS技術概覽:一段經典的CSS Expression代碼如下:

  1. #myDiv   
  2. {  
  3.      positionabsolute;  
  4.      width100px;  
  5.      height100px;  
  6.      left: expression(document.body.offsetWidth - 110 + "px");  
  7.      top: expression(document.body.offsetHeight - 110 + "px");  
  8.      backgroundred;  


IE的動態表達式出現的時候,引起不少web開發者的狂歡,但是時隔不久,其卑劣的性能開始引起人們的詬病,據稱,動態表達式在DOM發生更新的那一瞬間居然執行了上萬次,另外由于與web標準的不兼容,CSS Expression幾乎已經被日益追求潮流的web開發者所擯棄。
 
最終,IE8宣稱在其標準模式不再支持動態表達式(Dynamic Dynamic Properties或者CSS Expression),參見:http://blogs.msdn.com/ie/archive/2008/10/16/ending-expressions.aspx
 
關于動態表達式(Dynamic Properties或者CSS Expression)的更多介紹,請參見:http://msdn.microsoft.com/en-us/library/ms537634(VS.85).aspx
   
至此,兩大瀏覽器的巨頭都終止了在CSS中使用Javascript的妄想,但是CSS混javascript的滅亡只是瀏覽器大戰以及自定標準與W3C標準競爭的犧牲品而已。
 
從以上的史實來看,在CSS中使用javascript看來已被證明為一條沒有前途的路,因此民間程序員開始把動態CSS的研究重心轉為CSS的核心之一-“選擇器”,亦即“通過javascript實現當前尚不能實現的選擇器”,這一方面的研究成果,最著名的莫過于在廚房擺放一臺個人網站服務器的英國人狄恩-愛德華(Dean edwards,個人主頁:http://dean.edwards.name/)的"ie7.js",網址:http://code.google.com/p/ie7-js/或http://ie7-js.googlecode.com/svn/test/index.html,"ie7.js"提前實現了W3C的CSS3標準,當然它的功能不限于此。

在民間,還是有很多人在研究如何在CSS中使用Javascript或者使用JavaScript來擴展現有CSS的功能,比如這位仁兄:http://andykent.bingodisk.com/bingo/public/jss/,他開發了一個基于JQuery的插件,能夠提前實現CSS3的選擇器,他把他的作品命名為JSS(Javascript Style Sheets)。

為什么一些狂熱的程序員會對基于javascript的CSS樂此不疲呢?

筆者認為主要有以下兩個原因:

1、CSS本身的靜態特性

2、W3C標準與瀏覽器版本不能也永遠不能同步的矛盾

3、HTML開發人員的期望與W3C標準不能也永遠不能同步的矛盾

HTML的CSS技術本身的缺點已經引起了軟件開發巨頭的注意,在當前狂躁的應用程序標記語言中,比如微軟的XAML或adobe的MXML,其CSS(暫且稱之為CSS吧)不僅可以動態定義,甚至還可以定義屬性、內容和事件。也許,在幾年之后,我們將看到W3C準備修正新的CSS標準,讓其更加動態化。CSS技術概覽到此結束。

【編輯推薦】

  1. CSS 3中的炫目新功能搶先預覽
  2. CSS 3備受期待的8大功能
  3. CSS網頁布局困擾新手的八個問題
  4. 25個下拉菜單導航腳本下載
  5. HTML 5 正式標準恐將2022年才能正式發布
責任編輯:彭凡 來源: cnbeta
相關推薦

2009-12-23 18:16:35

WPF布局控件

2010-01-25 15:29:09

Android開發環境

2009-03-17 09:15:20

圖表框架CSSJavaScript

2017-04-11 15:47:26

JavaScript技術趨勢

2009-04-30 15:22:25

JDBCODBCAPI

2017-03-23 09:58:47

HTMLCSSJavaScript

2009-06-11 16:53:09

什么是EJBEJB

2010-01-05 16:46:14

學習.NET Fram

2009-12-07 17:33:44

PHP SQlite數

2011-05-25 17:02:38

ibmdwWebsphere

2021-02-26 10:51:15

大數據

2015-07-23 14:28:04

.NET技術大系

2015-01-13 10:53:59

Java工具技術

2010-09-08 14:09:35

切換CSS

2016-05-19 10:19:51

谷歌地圖CSS

2010-01-07 11:38:25

VB.NET鍵盤事件

2022-11-08 09:41:42

2010-08-23 10:11:22

CSSfloatJavaScript

2017-10-25 19:05:18

深度學習語音分離

2010-09-10 09:31:08

CSSDIV
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕一区二区三区四区 | 国产精品久久久久久久久久久久久 | 精品一区二区三区在线播放 | 亚洲专区在线 | 亚洲欧洲精品一区 | 欧美在线一区二区三区 | 三级成人在线观看 | 久久精品二区亚洲w码 | 亚洲日本一区二区三区四区 | 欧美日韩在线一区二区三区 | 久久天天躁狠狠躁夜夜躁2014 | www.伊人.com| 在线观看欧美一区 | 国产亚洲欧美在线 | 精品一区二区三区视频在线观看 | 亚洲欧美一区二区三区国产精品 | 欧美日韩视频在线第一区 | 成人在线免费 | 国产一区二区三区视频免费观看 | 国产精品大全 | 在线亚洲一区 | 精品国产乱码久久久久久果冻传媒 | 欧美精品久久久 | 日韩一区中文字幕 | 紧缚调教一区二区三区视频 | 日韩中文字幕在线观看视频 | 中文字幕 国产精品 | 91精品国产色综合久久 | 久热精品在线观看视频 | 中文字幕乱码视频32 | 黄色av免费网站 | 亚洲日韩中文字幕 | 午夜电影在线播放 | 欧美日韩一区在线播放 | 99久久电影 | 成人国产精品免费观看视频 | 久久亚洲91| 国产精品一区二区三区在线 | 亚洲一区网站 | 欧美国产91 | 国产精品一区二区三区四区 |