『壹』 響應式web導航添加CSS3過渡動畫為何不起作用
你只是設置了transition的參數,沒有設置怎麼響應這個過度,以及過度的值!
『貳』 web3.0是什麼意思
web3.0是在web2.0的基礎上發展起來的能夠更好地體現網民的勞動價值,並且能夠實現價值均衡分配的一種互聯網方式。
web3.0更多的不是僅僅一種技術上的革新。而是以統一的通訊協議,通過更加簡潔的方式為用戶提供更為個性化的互聯網信息資訊定製的一種技術整合。將會是互聯網發展中由技術創新走向用戶理念創新的關鍵一步。
web3.0產生背景
web2.0雖然只是互聯網發展階段的過渡產物,但正是由於2.0的產生,讓人們可以更多地參與到互聯網的創造勞動中,特別是在內容上的創造,在這一點上,web2.0是具有革命性意義的。人們在這個創造勞動中將獲得更多的榮譽、認同,包括財富和地位。
正是因為更多的人參與到了有價值的創造勞動,那麼「要求互聯網價值的的重新分配」將是一種必然趨勢,因而必然催成新一代互聯網的產生,這就是web3.0。
『叄』 Web前端工程師要知道的Web技術之間的關系
今天小編要跟大家分享的文章是關於Web前端工程師要知道的Web技術之間的關系。如果你是一個Web開發初學者,那麼你難免會在網上搜索HTML,
CSS,XML,_S(Javascript),DOM,XSL等等這些詞的意思,然而,隨著學習的深入。
當你把他們攪在一起,你又糊塗了,你會不停的問:
§_TML是什麼?
§_SS是什麼?
§_ML是什麼?
§_S是什麼?
§_塹降子惺裁從?
在這里,我爭取用最根本的語言向大家分別說明HTML,CSS,XML,JS到底是什麼,有什麼用。然後我們再來看把他們組合起來是什麼,有什麼用。當然如果你對HTML,CSS,XML,JS有足夠了解,可以直接跳過,看文章的後半部分,那裡才是本文核心所在。下面來和小編一起看一看吧!第一部分1.HTML超文本標記語言(HyperTextMarkup
Language),是用來描述網頁的一種標記語言。
_
__
_
_
__id="num1">HelloWorld!I'mHTML
_
網頁文件本身是一種文本文件,通過在文本文件中添加標記,可以告訴瀏覽器如何顯示其中的內容(如:文字如何處理,畫面如何安排,圖片如何顯示等)。
HTML之所以稱為超文本標記語言,是因為文本中包含了所謂「超鏈接」點。超文本(Hypertext)是用超鏈接的方法,將各種不同空間的文字信息組織在一起的網狀文本。
概括,HTML就是整合網頁結構和內容顯示的一種語言。
HelloWorld!I'mHTML
瀏覽器按順序閱讀網頁文件,然後根據標記符解釋和顯示其標記的內容。
這段內容在瀏覽器上顯示的結果是:HelloWorld!I』m
HTML
我們看標簽上有一個id,這是這個標簽的唯一標識,方便別人找到它,對它進行操作。
2.CSS層疊樣式表單(CascadingStyleSheet)。是將樣式信息與網頁內容分離的一種標記性語言
。作為網站開發者,你能夠為每個HTML元素定義樣式,並將之應用於你希望的任意多的頁面中。如需進行全局的更新,只需簡單地改變樣式,然後網站中的所有元素均會自動地更新。這樣,即設計人員能夠將更多的時間用在設計方面,而不是費力克服HTML的限制。說白了,CSS就是設置網頁上HTML元素屬性的語言。
CSS代碼:
#hello{_olor:blue;_
當把這段CSS代碼應用於HTML中,它會找到id為「hello」的HTML標簽,將其中的內容以藍色顯示出來;具體的插入HTML的方法這里不再贅述(說一句,只說明是什麼,有什麼用的問題,不關注技術細節,技術細節網上很好找)。
3.Javascript,首先說明JavaScript和Java無關,JavaScript是屬於網路的腳本語言!那麼為什麼名字如此相似?這是典型的市場營銷方面的成功,它的推廣成功,也是借了Java的東風。當微軟開始意識到Javascript在Web開發人員中流行起來時,微軟還是一貫風格,建立了自己的腳本語言,JScript。
Javascript是一種基於對象(Object)和事件驅動(Event
Driven)並具有安全性能的腳本語言。使用它的目的是與HTML超文本標記語言、Java腳本語言(Java小程序)一起實現在一個Web頁面中鏈接多個對象,與Web客戶交互作用。例如可以設置滑鼠懸停效果,在客戶端驗證表單,創建定製的HTML頁面,顯示警告框,設置cookie等等。
網頁中所有的對數據進行判斷、操作以及向瀏覽者反饋信息的本地代碼實現部分均是Javascript(當然也有其他的),這樣既可以使網頁更具交互性,給用戶提供更令人興奮的體驗,同時減輕了伺服器負擔。
JS的代碼如下:
functionjsHello(){
__alert('HelloWorld!');_
}
當把以上代碼應用於HTML代碼,它會在你的HTML載入時,彈出一個內容為「HelloWorld!」的對話框。同樣,它是通過嵌入或調入在標準的HTML語言中實現的,至於如何嵌入或調入不再贅述,理由上面提到了。
4.Xml可擴展標記語言(ExtensibleMarkupLanguage),是一套定義語義標記的規則,這些標記將文檔分成許多部件並對這些部件加以標識。它也是元標記語言,即定義了用於定義其他與特定領域有關的、語義的、結構化的標記語言的句法語言。你可以把XML理解為一種資料庫,例如rss就是xml的一種變體。
XML代碼如下:
XML的起因是,用戶受到SGML(後面再說)復雜性的挫傷和HTML的不充分。相對HTML來說,XML更追求嚴謹性,如果說你在HTML代碼中標簽比較混亂,如未關閉等,或許瀏覽器會忽略這些錯誤;但同樣的事情發生在XML中會給你帶來大麻煩。
鋪墊終於完了,在進入正題之前,建議大家對比著圖來理解後邊的內容,廢話不多說,開始進入正題。第二部分
這里的DOM指的是HTMLDOM。HTMLDOM是W3C的標准,同時它也是HTML的文檔對象模型的縮寫(theDocumentObjectModelfor
HTML)。HTMLDOM定義了用於HTML的一系列標準的對象,以及訪問和處理HTML文檔的標准方法。
通過DOM,可以訪問所有的HTML元素,連同它們所包含的文本和屬性。其中的內容可以修改和刪除,同時也可以創建新的元素。HTMLDOM獨立於平台和編程語言。它可被任何編程語言諸如Java、Javascript和VBScript所使用。HTMLDOM就是HTML語言對外界開通的介面,以便其他語言能夠訪問或修改HTML內部的元素。
當js需要對html元素進行操作時,DOM是一個很必要的對象。
你便可以通過利用DOM對象構造如下代碼並插入到HTML代碼中的任何位置來實現。
當用CSS去修飾HTML中的元素,這一過程可以稱為聲明HTML元素樣式的過程。
SGML標准通用標記語言()。由於SGML的復雜,導致難以普及。SGML有非常強大的適應性,也正是因為同樣的原因,導致在小型的應用中難以普及。HTML和XML同樣衍生於SGML:XML可以被認為是SGML的一個子集,而HTML是SGML的一個應用。XML的產生就是為了簡化SGML,以便用於更加通用的目的。比如語義Web,它已經應用於大量的場合,比較著名的有XHTML、RSS、XML-RPC和SOAP。
XHTML是可擴展超文本標識語言(TheExtensibleHyperText
MarkupLanguage)。HTML是一種基本的Web網頁設計語言,XHTML是一個基於XML的置標語言,看起來與HTML有些相象,只有一些小的但重要的區別,XHTML就是一個扮演著類似HTML的角色的XML,所以,本質上說,XHTML是一個過渡技術,結合了部分XML的強大功能及大多數HTML的簡單特性。
簡單的說,XHTML比HTML要嚴謹些,但又沒像XML那麼嚴重——譬如所有的XHTML標簽以及屬性必須要小寫,屬性性必須要加雙引號(當然如今的瀏覽器不管是IE還是FF,對HTML和XHTML採取兼容措施,這也是XSS產生的根本原因),而且也可以像XML一樣自定義部分標簽,因此有了極大的靈活性。
而且進入了XHTML時代,大家倡導的是CSS+DIV,這也是web2.0的基礎。
DHTML只是一種製作網頁的概念,實際上沒有一個組織或機構推出過所謂的DHTML標准或技術規范之類的。DHTML不是一種技術、標准或規范,DHTML只是一種將目前已有的網頁技術、語言標准整和運用,製作出能在下載後仍然能實時變換頁面元素效果的網頁的設計概念。DHTML就是動態的html,Dynamic
HTML。傳統的html頁面是靜態的,Dhtml就是在html頁面上加入了javascript腳本,使其能根據用戶的動作作出一定的響應,如滑鼠移動到圖片上,圖片改變顏色,移動到導航欄,彈出一個動態菜單等等。
一般如:![](pic)
Expression是微軟為了使樣式表能夠在修飾HTML樣式的同時執行javascript腳本而在IE瀏覽器中增加的一個功能,這樣你可以做譬如:圖片的自適應寬度,表格的隔行換色等等。
如:img{max-width:500px;width:expression(document.body.clientWidth>
200?「200px」:「auto」);}
XMLHTTP最通用的定義為:XmlHttp是一套可以在Javascript、VbScript、Jscript等腳本語言中通過http協議傳送或從接收XML及其他數據的一套API。XmlHttp最大的用處是可以更新網頁的部分內容而不需要刷新整個頁面。
來自MSDN的解釋:XmlHttp提供客戶端同http伺服器通訊的協議。客戶端可以通過XmlHttp對象向http伺服器發送請求並使用微軟XML文檔對象模型Microsoft_XMLDocumentObject
Model(DOM)處理回應。
現在的絕對多數瀏覽器都增加了對XmlHttp的支持,IE中使用ActiveXObject方式創建XmlHttp對象,其他瀏覽器如:Firefox、Opera等通過window.XMLHttpRequest來創建XmlHttp對象。
一個簡單的定義IE的XmlHttp的對象及應用的實例如下:
varXmlHttp=newActiveXObject("Microsoft.XMLhttp");
XmlHttp.Open("get","url",true);
XmlHttp.send(null);
XmlHttp.onreadystatechange=functionServerProcess(){
__f(XmlHttp.readystate==4||
XmlHttp.readystate=='complete')
__
___
alert(XmlHttp.responseText);
__
}
XSLT()最早設計XSLT的用意是幫助XML文檔(document)轉換為其它文檔。但是隨著發展,XSLT已不僅僅用於將XML轉換為HTML或其它文本格式,更全面的定義應該是:XSLT是一種用來轉換XML文檔結構的語言。
XSL-FO:XSL在轉換XML文檔時分為明顯的兩個過程,第一轉換文檔結構;其次將文檔格式化輸出。這兩步可以分離開來並單獨處理,因此XSL在發展過程中逐漸分裂為XSLT(結構轉換)和XSL-FO(formattingobjects)(格式化輸出)兩種分支語言,其中XSL-FO的作用就類似CSS在HTML中的作用。
AJAX:非同步JavaScript和XML(AsynchronousJavaScript
andXML)。
最後一個東東,它算得上是web2.0思想的心。
AJAX=CSS+HTML+JS+XML+DOM+XSLT+XMLHTTP。是指一種創建互動式網頁應用的網頁開發技術。AJAX不是一種單一的新技術,而是有機地利用了一系列相關的技術。
在2005年,Google通過其GoogleSuggest使AJAX變得流行起來。
GoogleSuggest使用AJAX創造出動態性極強的web界面:當您在谷歌的搜索框輸入關鍵字時,Javascript會把這些字元發送到伺服器,然後伺服器會返回一個搜索建議的列表。
在AJAX中,XmlHttp用來在不改變頁面的情況下傳輸數據,其中傳輸的數據即是XML,然後通過XSLT將其格式化,利用js通過dom對象將其顯示到HTML中,同時利用CSS確定數據的顯示及位置。
這項技術在網路上的應用無處不在,如你的微博,你的郵箱,你的QQ空間,再如搜索引擎,電子商務平台,網路地圖等等。
以上就是小編今天為大家分享的關於Web前端工程師要知道的Web技術之間的關系的文章,本文主要探討了Web開發技術之間的關系,以及他們組合起來到底有什麼用的問題。希望對掙扎在Web開發學習前線的朋友有所幫助。想要了解更多web前端相關知識記得關注北大青鳥web培訓官網,最後祝願小夥伴們工程順利,成為一名優秀的web前端工程師。
『肆』 web要展示的數據過多如何優雅的顯示
web要展示的數據過多優雅地顯示如下方法:
1、從數據上處理:分頁分表,比如前端可以把數據分頁展示,後端也分段吐數據
2、從渲染上解決:
(1)、非同步渲染,比如進入頁面先不渲染,然後載入好頁面再渲染。
(2)、局部渲染:只渲染目前可見區域的數據,再渲染次屏數據。
(3)、還有性能瓶頸,可以考慮web worker 做壓縮和解碼,也可以考慮離屏canvas做預渲染。
3、減少數組操作,避免多次循環及處理數據。
4、控制可視數量,如按需載入,可分為介面按需和展示按需。回收遠離可視區域數據。
5、減少過渡效果和過度dom操作。
『伍』 html5怎麼設置網頁過渡效果
步驟1 創建空白的HTML 5模版
首先,我們創建一個空白的模版,代碼很簡單,如下所示:
復制代碼
步驟2 增加HTML 5新標簽 HTML 5中新增加了不少標簽,如:
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section
在頁面模版中,我們需要確保每個區域都能正確地對齊,因此需要使用HEADER、 NAVIGATION、 CONTENT、 SIDEBAR和Footer這些標簽。代碼如下所示:
復制代碼
讀者可能留意到這里使用的div id=」wrapper」,這個是稍候用來做meida query的時候調整全局CSS樣式調整用的 步驟3 往HTML 5標簽中增加代碼
1)首先往標題中增加如下代碼:
Simple HTML5 Template
復制代碼
2)往導航標簽中添加如下代碼,這樣很方便地構件了一個簡單的頁面分類導航:
Home About Parent Page Child
One Child Two with child Child One Child
Two Child Three Child Three
Contact
復制代碼
3)使用標簽來描述每一個要展示的內容實體,比如要展示的是多篇文章列表,其中的每一篇文章的具體內容就可以使用標簽了。如下代碼所示:
This is a title for post
Richard KS 20th March 2013 Tutorials HTML5, CSS3
and Responsive 10 Comments Lorem
Ipsum is simply mmy text of the printing and typesetting instry.
Lorem Ipsum has been the instry's standard mmy text ever since the
1500s
復制代碼
4)添加標簽 HTML5提供的元素標簽用來表示當前頁面或文章的附屬信息部分,可以包含與當前頁面或主要內容相關的引用、側邊欄、廣告、nav元素組,以及其他類似的有別與主要內容的部分。
根據目前的規范,元素有兩種使用方法:
被包含在中作為主要內容的附屬信息部分,其中的內容可以是與當前文章有關的引用、詞彙列表等。
在之外使用,作為頁面或站點全局的附屬信息部分;最典型的形式是側邊欄(sidebar),其中的內容可以是友情鏈接、附屬導航或廣告單元等。
代碼如下:
Categories Category 1 Category 2
Parent Category Child One Child Two
Grandchild One Grandchild Two Grandchild Three
Child Three Category 3
Text Lorem Ipsum is simply mmy
text of the printing and typesetting instry.
復制代碼
5)加上最後的標簽,代碼為:
Copyright@ 2013 HTML5.com Privacy Policy - About Us
復制代碼
步驟4 增加CSS樣式
首先創建一個空白的樣式,如下:
[/code] 然後在http://necolas.github.com/normalize.css/中下載這個css,然後將其內容復制到該空白的文件中代碼如下: [code]body {
font-family: arial, sans-serif;
font-size: 100%; /* best for all browser using em */
padding:0;
margin:0;
}
*, html { line-height: 1.6em; }
article img { width:auto; max-width:100%; height:auto; }
.sidebar a, article a, header a, footer a { color: #C30; }
header a { text-decoration: none; }
#wrapper {
font-size: 0.8em; /* 13px from 100% global font-size */
max-width: 960px; /* standard 1024px wide */
margin: 0 auto;
}
/* css for */
header { padding: 1em 0; margin: 0px; float: left; width: 100%;
}
header hgroup { width: 100%; font-weight:normal; }
/* css for */
nav
{ display: block; margin: 0 0 2em; padding: 0px;
float: left; width: 100%; background-color: #181919;
}
nav ul ul {display: none;}
nav ul li:hover > ul {display: block;}
nav
ul { padding: 0; list-style: none; position:
relative; display: inline-table; z-index: 9999;
margin: 0px; float: left; width: 100%;
}
nav ul:after {content: ""; clear: both; display: block;}
nav ul li {float: left;}
nav ul li:hover a {color: #fff;}
nav
ul li a { display: block; padding: 1em; font-size:
1.125em; color: #ccc; text-decoration: none;
margin: 0px; background-color: #000; border-right: 1px
solid #333;
}
nav ul li:last-of-type a {border-right: 1px solid transparent !important;}
nav
ul ul { background: #5f6975; border-radius: 0px;
padding: 0; position: absolute; top: 100%; width:
auto; float: none;
}
nav ul li:hover { background: #5f6975; color: #FFF;
}
nav ul ul li a:hover { background-color: #4b545f;
}
nav ul ul li {
float: none;
border-bottom: 1px solid #444240;
position: relative;
}
nav ul ul li a {
padding: 0.5em 1em;
font-size: 1em;
width:10em;
color: #fff;
}
nav ul ul ul {
position: absolute; left: 100%; top:0;
}
/* css for */
section.content { width: 70%; float:left; }
.content article { width:100%; float:left; padding: 0 0 1em; margin: 0 0 1em; border-bottom: 1px solid #ddd; }
article .entry { clear:both; padding: 0 0 1em; }
h1.post-title { font-size: 1.8em; margin:0; padding:0;}
.entry.post-meta { color: #888; }
.entry.post-meta span { padding: 0 1em 0 0; }
.entry.post-content { font-size: 1.125em; margin:0; padding:0;}
/* css for */
aside.sidebar { width: 25%; float:right; }
aside.sidebar ul { width:100%; margin: 0px; padding: 0px; float: left; list-style: none;
}
aside.sidebar
ul li { width:100%; margin: 0px 0px 2em; padding:
0px; float: left; list-style: none;
}
aside.sidebar ul li ul li { margin: 0px 0px 0.2em; padding: 0px;
}
aside.sidebar
ul li ul li ul li { margin: 0px; padding: 0px 0px 0px
1em; width: 90%; font-size: 0.9em;
}
aside.sidebar
ul li h3.widget-title { width:100%; margin: 0px;
padding: 0px; float: left; font-size: 1.45em;
}
/* css for */
footer { width: 98%; float:left; padding: 1%; background-color: white; margin-top: 2em;
}
footer .footer-left { width: 45%; float:left; text-align:left; }
footer .footer-right { width: 45%; float:right; text-align:right; }
復制代碼
步驟5 為移動應用使用@media query查詢 為了進行響應式設計,最佳的方案是使用@media query去進行查詢,在上面的CSS代碼中添加如下代碼:
/* ipad 768px */
@media only screen and (min-width:470px) and (max-width:770px){
body { background-color: red; } #wrapper { width:96%; font-size: 0.6875em; }
section.content, aside.sidebar { width:100%; }
}
/* iphone 468px */
@media only screen and (min-width:270px) and (max-width:470px){
body { background-color: yellow; } #wrapper { width:96%; font-size: 0.6875em; }
section.content, aside.sidebar { width:100%; }
}
復制代碼
步驟6 增加jquery,modernizer和html5shiv到標簽中 這里推薦使用Modernizr 和html5shiv,它們都是一個能在多種瀏覽器中通過運行各種腳本兼容運行支持大部分HTML 5標簽的插件。我們將它們和jQuery庫放在標簽前
『陸』 如何在Python基礎知識和Flask web開發之間平滑過渡
寫web應用一定要對一個請求的生命周期有所了解,以及它在你的應用里是怎麼走的,先執行哪個部分,再執行哪個部分,各個部分都是干什麼的。
所有web框架,只要是mvc架構,都大同小異,你可以照著這個表的知識點梳理:
『柒』 web1.0到web2.0花了多久
web1.0到web2.0花了多久:
web3.0」一詞受追捧的程度高漲,獲得廣大網友關注。3.0是web的第三個發展階段,是「家族」的第三代繼承人,web的「祖輩」1.0負責「打江山」;「父輩」2.0為「江山」穩固夯實基礎;「孫輩」3.0為虛擬世界拉近現實貢獻力量。目前,我們處於Web2.0向web3.0的過渡階段,而web3.0是前端工程師對下一互聯網發展階段的偉大構想和的願景。計算機科學家稱,Web3.0將把人們帶入人工智慧和信息共享的時代,構建一個全球互聯、互通、互享的語義性互聯網。為了深入了解web3.0將來的翻天覆地的變化,從web的第一階段1.0開始探索。
打開網易新聞 查看精彩圖片
Web1.0——只讀web
Web1.0是什麼呢?即依託個人電腦和web瀏覽器瀏覽內容、獲取信息的單向傳遞互聯網。換而言之,門戶網站向用戶灌輸信息的「洗腦」模式。然而,Web1.0的誕生、發展離不開盈利的底層邏輯,很多處在知識、科技、資源前沿的創造者的敏銳低嗅到web1.0的發展前景。譬如:Netspace研發大型商用瀏覽器、yahoo創辦黃頁、google推出搜索服務……為虛擬世界的生成做出革命性貢獻。面對web1.0這塊新蛋糕,各大資本虎視眈眈,可謂司馬昭之心。據資料顯示,自1991年Tim Berners-Lee創建web瀏覽器後,雅虎、亞馬遜、Echo Buy、網易、搜狐、騰訊、新網網(新浪前身)、阿里巴巴、網路相繼成立互聯網公司。可謂是群雄爭霸的逐鹿時代
『捌』 為什麼要從Web form過渡到MVC中
1.View State
相信大家對於這個視圖狀態都很熟悉,它是用來保存我們在頁面中輸入的數據狀態,以便我們可以在刷新頁面或者回發時使頁面回到我們原來的輸入數據時的狀態,這個效果很好的實現了我們的需求。但是同時,我們要問自己一下,是否我們就真的需要這些,需要頁面刷新時顯示原來的數據,這是否是有意義的?
還有就是View State在web form時代大行其道,在每個頁面都會存在,甚至在復雜的頁面中他的大小甚至很大,在每次 頁面回發時都會傳遞View State狀態,我們不說伺服器解析這些View State需要時間,就是每次頁面傳輸都要傳遞這些View State就會使帶寬增加,顯示網頁的時間變長。這在2.0時代,最起碼是我所不允許的。
2.Page Life Cycle 頁面生命周期
在Web form中存在著復雜的生命周期,我甚至清楚的記得在我學習Web form的時候,都是拿著筆在紙上畫著這些周期圖,在每個周期頁面會執行什麼動作。這就像我在學習c#連接資料庫的時候寫sql helper,讓我很頭疼。例如在Page_render()中不應該訪問具體的控制項,因為這時控制項還沒有生成(有園友提出錯誤,我查閱了資料也認為這是錯誤的,因為這時已經把控制項渲染要輸出,特此聲明。感謝園友提出錯誤,我會積極改正),如果要訪問請在Page_load()中,我們每天都要和Page_Load()事件打交道,至少我很經常。IsPostBack是經常可以見到的方法。
如果你覺得你可以完全掌握這些生命周期,那麼至少你是一名大牛。如果你可以很隨意的就控制頁面的生命周期,並且控制控制項的生成,那麼我會很敬仰你。
3.False sense of concerns 失敗的關注點分離
現在我們做軟體,講究的都是可維護性、可重用性以及關注點分離。何為關注點分離,我的理解就是每層結構只負責他自己的事情,不屬於他的不能控制,也不要試圖控制。例如,我們在code behind中寫了訪問資料庫的代碼,調用了sql helper中的類,但是現在是資料庫伺服器的服務沒有開啟,那麼這次調用肯定會拋出異常。難道讓我們在code behind中處理這些異常,那麼我們程序員會累死的,異常應該是sql helper中處理,而不是code behind。這應該就是所謂的關注點分離。還有就是關注點分離應該是每個類只負責他自己的工作,而不要在一個類Sql Helper中有著返回html的語句出現。
4.Limited control over HTML 對於html的控制極差
我在頁面生命周期中說了,如果你可以隨意的更改生成的控制項,那麼我會崇拜你。如果說對於一個伺服器端控制項可以控制生成html的樣式,或者生成html的ID、name,以便可以讓js使用,這是很困難的。當然在.net 4.0中添加了一個屬性,那就是ClientIDMode,如果把這個屬性值設置為static,就可以生成和定義的ID一樣的html的ID值。默認情況下這是不被啟用的,會生成復雜的、嵌套的ID值。這對於我們在客戶端操作html標簽是很困難的。
當然了,這不是你可以轉向MVC的原因,但是是原因之一,雖然這個原因可能會有點牽強。
5.Leaky abstraction 脆弱的抽象
Web form試圖隱藏所有的http狀態(http的無記憶性或者是無狀態性)。我們在拖入一個伺服器控制項的時候從來需要考慮他會在什麼時候顯示?因為伺服器控制項已經實現了這些,例如,IsPostBack 方法為什麼可以用來判斷頁面是否回發,它的實現原理是什麼?我們不會關心,我們只關心這個方法能夠完成什麼,這就夠了?真的夠了嗎?
我認為沒有,只是會使用,我想任何一個只要認識英文的人都可以完成,但是會使用就夠了嗎?性能問題達到了嗎?會出現哪些問題?我們都不知道,我們只是用了一個黑盒子,但是裡面是什麼東西我們不知道?如果是陷阱我們也會毫不猶豫的跳進去?對嗎?
偶爾的熟悉一下源碼,對於提升我們自己的開發水平有幫助之外,我們也可以發現很多我們可以控制的問題,避免他們發生?所以,親愛的朋友們,不要僅僅限於使用,有時候大牛和小牛的根本區別就是小牛不知道為什麼要這樣?而大牛指導如何更好的這樣。
6.Low testability 極差的可測試性
我在以前開發web form的時候,採用伺服器控制項可以大大的提高開發速度。但是,我從來不知道如何去測試我開發的代碼是否運行正常。唯一的方式就是自己一個人沒事的時候點擊、點擊、再點擊。還有就是設置斷點,按住F11,不斷的點擊鍵盤,直到看到這些代碼都想吐的地步?
但是在MVC中,這些問題都不再存在,因為我們可以使用Nunit等可以進行單元測試的工具,我們可以把測試精確到每一行代碼,我們可以實現測試的自動化,避免了手動點擊浪費的大量時間。這是一件好事,不是嗎?
還有我個人認為最重要的一個原因就是,你如果有web form的開發基礎,那麼學習MVC可以說就是很簡單的事情,因為MVC中沒有了伺服器控制項,有的只是html標簽以及一些可以生成html標簽的helper類。我個人感覺做美工的如果想轉開發,這倒是不錯的時機,因為html對於美工來說筆程序員更熟悉。
在MVC中沒有View State,可以對html進行完全的控制,可以不再使用原來的Url rewriter,而是採用MVC中自帶的Route(Url路由系統),良好的關注點分離框架(Model、View、Controller),每一層都是負責自己的任務。
在MVC中不是每一個地址都會對一個一個具體的頁面,你可以定義多個Action,返回同一個頁面。在MVC中因為有了強大的路由系統,所以我們不會再見到www.cnblogs.com/default.aspx,這樣的地址了,而是取而代之的www.cnblogs.com/home/index ,這是一個巨大的突破。可以讓特定的頁面具有具體的含義。這是URl友好,你認為呢?
我並不是說MVC會取代Web form,而是他們之間的對比性,當然如果可以避免一些問題的存在,那麼讓MVC和Web from共存在同一個項目中,或許是不一個不錯的選擇。但是前提還是需要你學習MVC,我個人認為在未來幾年中,Web form和MVC會共存。
好了,說了這么多,我只是有一句話,就是如果你想在未來的Web開發中不落後,那麼就在業余時間學習一下MVC吧。
『玖』 html5怎麼設置網頁過渡效果
在web設計中使用js可以實現很多的頁面特效,然而很多人卻忽視了HTML標簽中META標簽的強大功效,其實meta標簽也可以實現很多漂亮的頁面過渡效果。
META標簽是HTML語言HEAD區的一個輔助性標簽,Meta 標簽放在每個網頁的<head>...</head>
中間,我們大家比較熟悉的如:
<meta name="GENERATOR" content="Microsoft FrontPage
3.0">//說明編輯工具;
<meta name="KEYWORDS" content="...">//說明關鍵詞;
<meta name="DESCRIPTION" content="...">//說明主頁描述;
它提供用戶不可見的信息。meta標簽通常用來為搜索引擎robots定義頁面主題,或者是定義用戶瀏覽器上的cookie;它可以用於鑒別作者,設定頁面格式,標注內容提要和關鍵字;還可以設置頁面使其可以
根據你定義的時間間隔刷新自己,以及設置RASC內容等級,等等
用法:
<Meta http-equiv="Page-Enter" Content="blendTrans(Duration=0.5)">
<Meta http-equiv="Page-Exit" Content="blendTrans(Duration=0.5)">
blendTrans是css動態濾鏡的一種,產生漸隱效果。另一種動態濾鏡RevealTrans也可以用於頁面進入與退出效果:
動態濾鏡可以為頁面添加動人的淡入淡出、圖象轉化效果,它可以分為兩種blend(混合)和reveal(顯示),
前者可以使對象漸漸消失或出現,後者提供了24種圖象轉化的效果......
<Meta http-equiv="Page-Enter"
Content="revealTrans(ration=x, transition=y)">
<Meta
http-equiv="Page-Exit" Content="revealTrans(ration=x, transition=y)">
Duration:表示濾鏡特效的持續時間(單位:秒)
Transition:濾鏡類型。表示使用哪種特效,取值為0-23。