Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 国产精品第一页在线,亚洲高清在线,影音先锋大型av资源

          整合營(yíng)銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          一組小型的自適應(yīng)CSS模塊,可以在每個(gè)Web項(xiàng)目中使用-Pure

          Pure.css是一組小型的自適應(yīng)CSS模塊,可以在每個(gè)Web項(xiàng)目中使用。Pure以Normalize.css為基礎(chǔ),并提供native HTML元素以及最常見的UI組件的布局和樣式,考慮到移動(dòng)設(shè)備,Pure具有開箱即用的響應(yīng)能力,因此元素在所有屏幕尺寸上都看起來(lái)不錯(cuò)。

          <link rel="stylesheet" href="./pure-min.css"  />

          PS:Normalize.css使瀏覽器更一致地渲染所有元素,并符合現(xiàn)代標(biāo)準(zhǔn)。它只針對(duì)需要規(guī)范化的樣式。





          Github

          https://github.com/pure-css/pure

          相關(guān)特性

        1. 可以根據(jù)需求進(jìn)行定制的響應(yīng)式網(wǎng)格。
        2. 建立在Normalize.css上的堅(jiān)實(shí)基礎(chǔ),可解決跨瀏覽器的兼容性問(wèn)題。
        3. 與<a>和<button>元素一起使用的樣式一致的按鈕。
        4. 垂直和水平菜單的樣式,包括對(duì)下拉菜單的支持。
        5. 表格對(duì)齊方式在所有屏幕尺寸上看起來(lái)都很好。
        6. 各種常見的表格樣式。
        7. 極簡(jiǎn)的外觀,易于定制。
        8. 默認(rèn)情況下是響應(yīng)式的,具有非響應(yīng)式配置選項(xiàng)。
        9. 極小的體積:縮小4.5KB + gzip。
        10. 兼容性

        11. IE 8+
        12. Latest Stable: Firefox, Chrome, Safari
        13. iOS 6-8
        14. Android 4.4+
        15. 布局

          通過(guò)使用Grid,Menu等,可以輕松創(chuàng)建適用于所有屏幕尺寸的精美響應(yīng)式布局。






          Pure的設(shè)計(jì)目標(biāo)是可以在每個(gè)Web項(xiàng)目中使用它

          定制化

          與其他框架不同,Pure的設(shè)計(jì)不受限制,最小且扁平。添加新的CSS規(guī)則比覆蓋現(xiàn)有規(guī)則要容易得多。通過(guò)添加幾行CSS,可以自定義Pure的外觀以與你的Web項(xiàng)目一起使用。






          表單

          以下創(chuàng)建默認(rèn)的內(nèi)聯(lián)表單,將pure-form類名添加到任何<form>元素。如下

          <form class="pure-form">
              <fieldset>
                  <legend>A compact inline form</legend>
          
                  <input type="email" placeholder="Email">
                  <input type="password" placeholder="Password">
          
                  <label for="remember">
                      <input id="remember" type="checkbox"> Remember me
                  </label>
          
                  <button type="submit" class="pure-button pure-button-primary">Sign in</button>
              </fieldset>
          </form>






          還有其他常見類型表單,本文不過(guò)多介紹

          按鈕


          表格

          要設(shè)置HTML表的樣式,請(qǐng)?zhí)砑?strong class="highlight-text">pure-table類名。此類為表元素添加了填充和邊框,并強(qiáng)調(diào)了標(biāo)題。







          菜單

          • 垂直菜單

          默認(rèn)情況下,菜單是垂直的。


          • 水平菜單

          要?jiǎng)?chuàng)建水平菜單,請(qǐng)?zhí)砑?strong class="highlight-text">pure-menu-horizontal類名稱。


          總結(jié)

          本文只介紹了部分有關(guān)于Pure的內(nèi)容,詳細(xì)的介紹可以Github以及官方提供的詳細(xì)內(nèi)容和使用指南!

          面幾篇文章我們聊了如何解析HTML標(biāo)簽,這篇文章我們聊一下解析CSS的模塊——css。

          安裝

          npm install css

          parse方法使用

          css模塊提供了一個(gè)解析css內(nèi)容的方法parse,它返回css內(nèi)容的抽象語(yǔ)法樹(AST)。

          圖1

          圖1執(zhí)行結(jié)果如下:

          圖2

          parse方法還可以傳入第二個(gè)參數(shù),這個(gè)參數(shù)是個(gè)對(duì)象,它有兩個(gè)屬性,其中一個(gè)屬性是source,代表css文件的路徑,如果參數(shù)中存在source屬性,在parse方法返回的抽象語(yǔ)法樹結(jié)果中或者在解析報(bào)錯(cuò)時(shí)的信息中都會(huì)帶上文件的路徑。另外一個(gè)屬性是silent,如果設(shè)置了這個(gè)屬性,即使在解析中出錯(cuò),parse方法也不會(huì)拋出錯(cuò)誤。

          圖3

          stringify方法使用

          stringify方法的第一個(gè)參數(shù)是css內(nèi)容的抽象語(yǔ)法樹對(duì)象,返回的結(jié)果是css內(nèi)容,此方法的作用和parse正好相反,如下圖所示。

          圖4

          stringify方法的第二個(gè)參數(shù)也是一個(gè)對(duì)象,對(duì)象屬性有indent、compress、sourcemap、inputSourcemaps。

          indent代表輸出的css內(nèi)容的縮進(jìn),默認(rèn)是兩個(gè)空格。利用這個(gè)屬性就可以做一個(gè)css格式化工具。

          圖5

          compress表示css的內(nèi)容是否需要被壓縮,壓縮時(shí)會(huì)移除所有的空格和注釋。

          圖6

          sourcemap用于生成css的sourceMap。

          圖7

          圖7紅色區(qū)域中sourceMap的json串的原理是什么?不了解的同學(xué)可以參考作者之前的一篇文章《深度解析前端代碼打包過(guò)程中是如何生成sourceMap的?》,我相信一定難不倒聰明的你,這里就不再熬述了。

          inputSourcemaps表示在生成sourcemap時(shí)可以讀取已存在的sourcemap引用,默認(rèn)是true。因?yàn)橛行┐虬玫腸ss文件中已經(jīng)存在了sourcemap的引用,所以在解析時(shí)這個(gè)模塊會(huì)自動(dòng)讀取map信息。

          抽象語(yǔ)法樹AST

          在作者看來(lái),AST是前端皇冠上的明珠,就像發(fā)動(dòng)機(jī)之于飛機(jī),石油之于工業(yè)。有了AST,前端的頁(yè)面可以在瀏覽器上渲染出來(lái),有了AST,就可以自由的開發(fā)自己的框架。它即很重要,卻也很難掌握,所以這個(gè)知識(shí)點(diǎn)放在以后講。

          總結(jié)

          本文主要分享了一個(gè)css的解析模塊,那它到底有什么用呢?我們平常用的語(yǔ)法校驗(yàn)、格式校驗(yàn)、sourcemap等都和它相關(guān),所以如果需要開發(fā)一個(gè)和css相關(guān)的node工具,就可以考慮使用這個(gè)模塊。

          喜歡我的文章就關(guān)注我吧,有問(wèn)題可以發(fā)表評(píng)論,我們一起學(xué)習(xí),共同成長(zhǎng)!

          /面包理想

          一轉(zhuǎn)眼已經(jīng)2018年,前端行業(yè)也風(fēng)風(fēng)雨雨地走過(guò)了10多年,網(wǎng)頁(yè)布局也從最原始的文檔變成了精彩紛呈的交互。當(dāng)我看到第四代CSS布局技術(shù)的時(shí)候,在驚嘆互聯(lián)網(wǎng)發(fā)展如此突飛猛進(jìn)的同時(shí),不禁會(huì)有一個(gè)疑問(wèn):CSS經(jīng)歷1.0到3.0的版本變遷,最終又將走向哪里?

          今天我們就回顧一下CSS簡(jiǎn)史和四次布局技術(shù)的躍遷。

          1.CSS簡(jiǎn)史

          為什么我們需要回顧一下CSS簡(jiǎn)史呢?

          1.了解過(guò)去能夠更好地預(yù)測(cè)未來(lái),畢竟太陽(yáng)底下沒(méi)有什么新鮮事。

          2.相比預(yù)測(cè)未來(lái),通過(guò)了解CSS發(fā)展演變趨勢(shì),能夠科學(xué)合理地評(píng)判CSS的發(fā)展,指導(dǎo)我們學(xué)習(xí)CSS的核心技術(shù),讓我們?cè)谟邢薜木蜁r(shí)間內(nèi)學(xué)對(duì)知識(shí),學(xué)好知識(shí)。

          那是1989年的第一場(chǎng)雪,比1988年來(lái)的更早一些,伯納斯·李(Tim Berners-Lee)以超人的智慧和消耗了前額無(wú)數(shù)濃密的頭發(fā)為代價(jià)發(fā)明了World Wide Web,沒(méi)有他就沒(méi)有我們今天互聯(lián)網(wǎng)相關(guān)的工作,也就沒(méi)有了這個(gè)專欄教程,請(qǐng)?jiān)试S我代表廣大前端致以崇高的敬意。我們先一睹大神的風(fēng)采。

          對(duì)互聯(lián)網(wǎng)之父,我只想對(duì)他說(shuō)一句話,有一款洗發(fā)水增發(fā)效果挺好的,我一直用,你要不要試試?

          互聯(lián)網(wǎng)誕生了以后,最初的網(wǎng)頁(yè)僅僅是純文本,但是隨著互聯(lián)網(wǎng)的發(fā)展,大家意識(shí)到web的原始版本根本就沒(méi)有提供一種裝飾網(wǎng)頁(yè)的方法。這就好比一個(gè)嬰兒不會(huì)穿著衣服出生一樣,孩子大了,總不能裸奔吧?這個(gè)時(shí)候兩個(gè)大神提供了解決方案Pei Yaun Wei和Andreesen。

          Pei Yaun Wei說(shuō),這個(gè)好辦,我們可以給孩子穿上紙尿褲。

          Pei-Yuan Wei在1991年創(chuàng)建圖形瀏覽器 ViolaWWW ,他整合了自己提出的樣式語(yǔ)言到自己開發(fā)的瀏覽器中,還期望自己的樣式語(yǔ)法最終能成為web關(guān)于樣式的官方標(biāo)準(zhǔn)。雖然這個(gè)目標(biāo)并未達(dá)到,但是他提出的樣式語(yǔ)法確實(shí)為其它的一些樣式語(yǔ)法提供了一些靈感。

          Andreesen說(shuō),那玩意得換多麻煩,我給孩子畫一身衣服吧,當(dāng)然你懂的,最后Pei Yaun Wei的方案被采用了,但是我們還是看看Andreessen畫出來(lái)的情況有多亂。

          與此同時(shí),Andreessen 在他開發(fā)的網(wǎng)景瀏覽器中進(jìn)行了不同的嘗試。他并沒(méi)有創(chuàng)建一種分離式的標(biāo)記語(yǔ)言,而是采取拓展HTML標(biāo)簽的方法來(lái)包含非標(biāo)準(zhǔn)化的HTML標(biāo)簽已達(dá)到裝飾網(wǎng)頁(yè)的目的。不幸的是,沒(méi)過(guò)多久,網(wǎng)頁(yè)就失去了所有的語(yǔ)義化并看起來(lái)像下面這樣混亂:

          <MULTICOL COLS="3" GUTTER="25">
           <P><FONT SIZE="4" COLOR="RED">This would be some font broken up into columns</FONT></P></MULTICOL>
          

          最終被大家采納的語(yǔ)言是由Hakon Wium 在 1994年 10月提出的樣式語(yǔ)法。它被稱為樣式層疊表,簡(jiǎn)稱CSS,但是直到1996年的時(shí)候,CSS才演變成我們熟悉的樣子。

          html { margin-left: 2cm; font-family: "Times", serif;
          }h1 { font-size: 24px;
          }
          

          然后在1998年5月W3C發(fā)表了CSS2,緊接著一個(gè)讓我們深惡痛覺的瀏覽器誕生了!對(duì)沒(méi)錯(cuò),就是你深惡痛絕的那個(gè)萬(wàn)能的IE6,2001年微軟發(fā)布了IE6,不過(guò)搞笑的是,IE6最初的出現(xiàn)確實(shí)很大程度推動(dòng)了CSS發(fā)展。那時(shí)候的網(wǎng)頁(yè)已經(jīng)變成跟現(xiàn)在很接近了。

          按照常理你肯定會(huì)想,后面我就知道了,你不用說(shuō)了,然后就是CSS3.0了。好吧,如果是我,我也這樣想,但是國(guó)際友人的腦回路可能跟我們不一樣,事實(shí)上,CSS3早于1999年已經(jīng)開始制訂,直到2011年6月7日,CSS 3 Color Module終于發(fā)布為W3C Recommendation。這個(gè)故事告訴我們兩件事:

          1.w3c這個(gè)組織活的真夠長(zhǎng),甚至比很多讀者年齡都大。

          2.不是CSS正式版發(fā)布了你才放心使用,如果等到那個(gè)時(shí)候使用,你的項(xiàng)目可能未曾綻放就枯萎了。

          細(xì)心的讀者可能會(huì)問(wèn)了,CSS3正式版什么時(shí)候發(fā)布啊?另外CSS4.0什么時(shí)候發(fā)布?

          好吧,我只能告訴你隨緣吧……而且沒(méi)有CSS4.0了,也不會(huì)有CSS5.0了。

          來(lái)我們?cè)倏纯磭?guó)際友人的腦回路:

          簡(jiǎn)單地說(shuō),就是從CSS3開始,CSS規(guī)范就被拆成眾多模塊(module)單獨(dú)進(jìn)行升級(jí),或者將新需求作為一個(gè)新模塊來(lái)立項(xiàng)并進(jìn)行標(biāo)準(zhǔn)化。因此今后不會(huì)再有CSS4、CSS5這種所謂大版本號(hào)的變更,有的只是CSS某個(gè)模塊級(jí)別的躍遷。

          按照CSS工作組的說(shuō)法,CSS歷史上并沒(méi)有版本的概念,有的只是“級(jí)別”(level)的概念。比如,CSS3其實(shí)是CSS Level 3,CSS2是CSS Level 2,而CSS Level 1當(dāng)然就是CSS1。每個(gè)級(jí)別都以上一個(gè)級(jí)別為基礎(chǔ)。

          大家可能說(shuō)這個(gè)命名好亂啊,這事兒我只想跟你說(shuō),你就把CSS工作組當(dāng)成你女朋友就好了,她開心就好,她說(shuō)的都是對(duì)的,她說(shuō)啥就是啥……

          至于我們,會(huì)用就好了。

          CSS出現(xiàn)的好處就是讓結(jié)構(gòu)和表現(xiàn)分離,可以更靈活的修飾網(wǎng)頁(yè),學(xué)習(xí)也很簡(jiǎn)單。這里我更想說(shuō)說(shuō)它的不足。

          1.CSS只有一個(gè)全局的命名空間,所以是無(wú)法避免出現(xiàn)選擇器沖突的。

          2.模塊化做的不夠好,所以造成嵌套和覆蓋混亂,容易產(chǎn)生一大堆亂糟糟的樣式。

          所以現(xiàn)在CSS也在向“模塊化、JS化發(fā)展”

          不過(guò)客觀地說(shuō),CSS的出現(xiàn)確實(shí)是互聯(lián)網(wǎng)里程碑式的進(jìn)步。

          CSS其實(shí)就做了兩件事:

          1.如何布局

          2.元素怎么表現(xiàn)

          說(shuō)直白一點(diǎn)就是兩件事,一個(gè)房子是蓋成兩室一廳還是三室兩廳,另一件事是精裝修。

          這里大家就會(huì)看到如果一個(gè)房子180平米隔成1個(gè)10平米的主臥170平米的廁所,你再怎么精裝修也不會(huì)是一個(gè)宜居的房間。所以布局在CSS中是極其重要的。與CSS發(fā)展簡(jiǎn)史類似,CSS布局也經(jīng)歷了一代又一代的迭代,才成為當(dāng)前的樣子。

          接下來(lái)我們就說(shuō)說(shuō)CSS布局簡(jiǎn)史。

          2.CSS布局簡(jiǎn)史

          初代table布局

          在1997年的時(shí)候,David Siegel 改變了web,他自己研究出了一項(xiàng)網(wǎng)頁(yè)布局技術(shù),利用html中的table元素和gif圖片縫合在一起,創(chuàng)造了表格布局技術(shù),之后他就猶如一頭猛獸泛濫起來(lái)。

          優(yōu)點(diǎn):布局容易、快捷、兼容性好

          缺點(diǎn):改動(dòng)不便,需要重新調(diào)整,工作量大

          由于互聯(lián)網(wǎng)網(wǎng)站越來(lái)越復(fù)雜,內(nèi)容和業(yè)務(wù)更新頻繁,所以table布局是完全不能勝任的,以至于table布局的發(fā)明人都說(shuō):

          “我把炸醬和面倒在了一起,并且沒(méi)法分開它?!?/p>

          不過(guò)這個(gè)真不是我杜撰出來(lái)的,原文:

          David Siegel:“有人說(shuō)我毀掉了Web,我回答他們,的確如此。我毀掉了Web是因?yàn)槲野亚煽肆突ㄉu混合在一起卻再也不能把它們分開。我犯下了把結(jié)構(gòu)跟表現(xiàn)混合在一起的錯(cuò)誤?!?/p>

          然后第二代布局技術(shù)登場(chǎng)了,

          CSS+div布局

          CSS+div布局總結(jié)起來(lái)有三大優(yōu)點(diǎn),

          1.省時(shí),學(xué)習(xí)容易,寫代碼也很容易,很快,效率高

          2.省事,如果業(yè)務(wù)邏輯變了,改起來(lái)特別方便快捷

          3.省錢,代碼量少,省帶寬,適合seo

          基于這三年不難看出CSS+div布局人畜無(wú)害,人見人愛,也就不難解釋為什么被廣泛地使用成為目前主流的布局技術(shù)了。當(dāng)然了他也有缺點(diǎn):

          1.需要考慮平臺(tái)兼容性,對(duì)制作人員的技能要求較高。

          2.在移動(dòng)端布局顯得有些力不從心,如未知寬高float內(nèi)部元素居中、垂直水平布局、響應(yīng)式布局等方面略顯繁瑣。

          基于此,第三代布局技術(shù)應(yīng)運(yùn)而生。

          Flex布局

          優(yōu)點(diǎn):

          1.CSS3的布局方式,可以在不使用其他框架的情況下,簡(jiǎn)便、完整、響應(yīng)式地實(shí)現(xiàn)各種頁(yè)面布局 2.移動(dòng)端布局簡(jiǎn)直太友好

          缺點(diǎn):

          兼容性較差,IE瀏覽器版本在9.0以上,基本要10.0 對(duì)于其他瀏覽器,要求兼容性寫法

          Flex布局日漸成為移動(dòng)端主流布局技術(shù),但是它是單一維度的布局,這個(gè)我會(huì)在專欄后面講到,有時(shí)候也會(huì)捉襟見肘,所以目前出現(xiàn)了第四代的布局技術(shù):

          grid布局

          因?yàn)槟壳按蟛糠譃g覽器并不支持這種技術(shù),但是它代表了網(wǎng)絡(luò)發(fā)展,這里大家保持關(guān)注就好,這里我重點(diǎn)說(shuō)下它為什么可以稱為第四代網(wǎng)絡(luò)布局技術(shù)。首先一個(gè)觀點(diǎn)大家先記住:

          它并不會(huì)取代第三代的布局技術(shù),而是顛覆和突破。就好像Flex遠(yuǎn)比div+CSS布局更方便,但是div+CSS依然有用武之地。

          我們說(shuō)下它的突破之處:

          1.flex對(duì)標(biāo)的是float,本質(zhì)上還是一維布局,這就跟別人開著夏利,你開奔馳都是地面上跑沒(méi)啥本質(zhì)區(qū)別一樣。但是grid升維了,grid是飛機(jī),在地面馬路這條線一維之上讓人能夠思考高度這個(gè)維度,以前是汽車一維交通工具(你只能在水平方向一個(gè)方向開),飛機(jī)是二維(能俯沖了(橫向、縱向同時(shí))),所以grid可以說(shuō)是拓寬了CSS布局的維度。不排除將來(lái)會(huì)有三維布局的出現(xiàn)。到時(shí)候CSS不僅僅能控制橫向布局,縱向布局,還可以深度布局(這個(gè)要依賴于三維展示的出現(xiàn),如VR,AR三維立體的展示設(shè)備出現(xiàn))。

          2.grid布局里面采用了“可視化布局(template部分,所見即所得)”,這個(gè)是顛覆了傳統(tǒng)的,寫一句代碼刷一下瀏覽器這樣的開發(fā)方式,不排除以后會(huì)出現(xiàn)代碼即效果的開發(fā)模式。比如你在一個(gè)設(shè)備上畫一個(gè)區(qū)域,然后畫輪播圖。

          這種方式類似于vc++控件方式,但是更智能,也更友好。誰(shuí)說(shuō)不可能呢?大家不要忘了grid布局的來(lái)源是早就廢棄的table布局。說(shuō)到這里我多說(shuō)一句搞笑的微軟,frontpage沒(méi)火,dreamwaver火了,最早提出“canvas”概念的 VML沒(méi)火,最后html5的canvas火了,連CSS3網(wǎng)格布局也是由微軟創(chuàng)建的一個(gè)模塊 ,最后火起來(lái)居然沒(méi)人認(rèn)識(shí)它。心疼微軟一秒鐘。

          說(shuō)到這里大家對(duì)CSS簡(jiǎn)史和布局也有所了解了,我們總結(jié)下,通過(guò)本文你應(yīng)該學(xué)到:

          (1)CSS的發(fā)展歷史。

          (2)熟知布局的發(fā)展歷史,以便對(duì)未來(lái)布局技術(shù)的發(fā)展有一個(gè)客觀的判斷,來(lái)選擇是否學(xué)習(xí)。

          通過(guò)本文的學(xué)習(xí)大家已經(jīng)對(duì)CSS相關(guān)基礎(chǔ)知識(shí)有所了解,接下來(lái)我們就開始真正的進(jìn)入技術(shù)的學(xué)習(xí),大家是不是迫不及待了呢?


          主站蜘蛛池模板: 国产精品亚洲产品一区二区三区| 在线视频亚洲一区| 韩国女主播一区二区| 亚洲一区二区三区在线观看精品中文| 午夜视频一区二区| 亚洲一区二区三区免费在线观看| 熟女性饥渴一区二区三区| 男人的天堂精品国产一区| 日韩美女视频一区| 国产精品电影一区二区三区| 国产麻豆精品一区二区三区| 亚洲欧洲精品一区二区三区| 日本不卡一区二区三区| av无码人妻一区二区三区牛牛| 久久精品国产第一区二区| 精品国产一区二区三区2021| 波多野结衣一区二区免费视频 | 国产成人精品一区二区三区| 日本精品一区二区在线播放| 精品国产一区二区三区久久影院| 亚洲爆乳精品无码一区二区| 人妻av综合天堂一区| 好吊妞视频一区二区| 国产aⅴ精品一区二区三区久久| 日韩视频一区二区在线观看| 一区国严二区亚洲三区| 中文字幕一区在线观看| 伊人色综合一区二区三区| 亚洲AV无码一区二区乱子伦| 老熟女高潮一区二区三区| 性色av闺蜜一区二区三区| 伊人久久精品一区二区三区| 韩国福利视频一区二区| 精品福利一区二区三区| 久久精品国产一区二区三区日韩| 无码人妻精品一区二区三| 亚洲日韩AV一区二区三区中文| 国产成人精品视频一区| 国产一区三区二区中文在线| 91视频一区二区| 日本精品一区二区三区在线视频 |