成人免费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技術趨勢

2017-03-23 09:58:47

HTMLCSSJavaScript

2009-04-30 15:22:25

JDBCODBCAPI

2009-06-11 16:53:09

什么是EJBEJB

2010-01-05 16:46:14

學習.NET Fram

2011-05-25 17:02:38

ibmdwWebsphere

2021-02-26 10:51:15

大數據

2009-12-07 17:33:44

PHP SQlite數

2015-07-23 14:28:04

.NET技術大系

2010-09-08 14:09:35

切換CSS

2015-01-13 10:53:59

Java工具技術

2016-05-19 10:19:51

谷歌地圖CSS

2010-01-07 11:38:25

VB.NET鍵盤事件

2010-08-23 10:11:22

CSSfloatJavaScript

2017-10-25 19:05:18

深度學習語音分離

2022-11-08 09:41:42

2015-01-20 09:51:29

IT技術周刊
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产高清区 | 国产精品国产三级国产aⅴ原创 | 中文字幕日韩欧美一区二区三区 | 先锋资源网站 | 日日干干夜夜 | 精品欧美一区二区在线观看欧美熟 | 激情视频中文字幕 | 欧美精品久久久 | 91天堂网| 国产午夜精品理论片a大结局 | 亚洲一区二区三区四区五区午夜 | 日韩三级免费观看 | 国产午夜精品久久久 | 日本久久久影视 | 奇米影视在线 | 日本黄色片免费在线观看 | 亚洲精品乱码久久久久久按摩观 | 九九热在线精品视频 | 午夜电影在线播放 | 国产高清美女一级a毛片久久w | 91精品国产综合久久久久 | 人人精品 | 中文字幕第三页 | 真人一级毛片 | 久久精品国产一区 | 国产一区二区三区在线免费 | 一区二区三区免费 | 国产三级国产精品 | 国产精品久久久久久久久久久久 | 成人国产一区二区三区精品麻豆 | 91精品国产麻豆 | 久久精品网 | 黄片毛片在线观看 | 亚洲久草视频 | 在线看亚洲 | 91欧美精品| 久久久www | www日韩 | 国产不卡在线播放 | 在线视频一区二区三区 | 国产精品久久久久久婷婷天堂 |