作者: [巴西] 格羅納(Loiane Groner)
出版社: 人民郵電出版社
原作名: Learning JavaScript Data Structures and Algorithms
譯者: 孫曉博 / 鄧鋼 / 吳雙 / 陳迪 / 袁源
出版年: 2015-10-1
頁數: 159
定價: 39.00
裝幀: 平裝
叢書: 圖靈程序設計叢書·Web開發系列
ISBN: 9787115404145
本書首先介紹了JavaScript語言的基礎知識,接下來討論了數組、棧、隊列、鏈表、集合、字典、散列表、樹、圖等數據結構,之后探討了各種排序和搜索算法,包括冒泡排序、選擇排序、插入排序、歸并排序、快速排序、順序搜索、二分搜索,還介紹了動態規劃和貪心算法等常用的高級算法及相關知識。
乎每一天我們都以找到值得分享的實用工具,幫助大家在CSS開發這條探索之路上找到新的光明前景與幾乎無盡的可能性。遙想當初,我們一路見證了CSS的成長,而如今我們能夠不容置疑地斷言,CSS已經成為Web開發領域的PhotoShop。
就在幾個月之前,我們曾經列舉過一些能夠幫助大家簡化開發任務的出色CSS工具,而去年我們也發布過兩篇關于CSS的博文——其中主要探討了如何利用CSS繪圖工具以及對CSS框架及網格系統進行最小化處理(以上各鏈接皆為英文原文)以創建出令人驚艷的彩色拼貼圖案。
在今天的文章中,我們將從其它角度著眼,繼續就CSS展開探討。如果大家打算投身于Web設計與開發工作當中,并發現自己需要經常使用CSS來處理日常任務,那么此份清單中所列舉的工具及框架將成為很好的立足根基。從這里出發,各位將一步步了解到業界大牛們是如何運用此類工具完成杰作的。
最后提一句,也歡迎各位將自己最喜愛的方案選項通過評論分享給更多朋友。
SMACSS
SMACSS的惟一關注重點就是效率,特別是針對身處團隊環境下的用戶朋友們。大家是否曾經發現自己處在被動狀態,需要不斷編寫并重寫CSS代碼才能讓一切正常運作?SMACSS正是為了此類希望在大型項目當中編寫簡單代碼,而又不希望純粹依靠生成大量代碼的方式完成任務的朋友們所準備。如果大家感興趣,請點擊此處查看來自Envato網站的一篇簡介文章,這也是最適合的SMACSS起步指南。
Unsemantic
Unsemantic是一款流體網格系統,其屬于960 Grid System的繼任解決方案。它的工作方式與前輩差不多,但摒棄了原本的大量列數,其轉而以百分比作為基礎。Unsemantic看起來似乎將一部分注意力放在了搜索引擎功能方面,同時也考慮到了如何利用其改進整體代碼對于機器人機制的可閱讀性。
Susy
就目前來看,市面上的大多數CSS框架仍然顯得不夠成熟,其中大部分仍然要求我們以特定方式編寫代碼,而這自然也就帶來了額外的學習與整合難度曲線。Susy則是一款出色的網格系統,允許大家以自己最為熟悉的方式完成代碼編寫工作,而用不著再學習諸多保證開發任務順暢實現的必要知識。感興趣的朋友可以點擊此處查看Zell-Weekeat.com網站上的文章,了解Susy如何幫助各位構建出更為出色的Web設計成果。
Primer
大家是不是屬于需要頻繁訪問GitHub的常客?我猜答案多半是肯定的。不過各位可能還沒有意識到,GitHub其實是使用自己的一款內部CSS工具包來支撐整套網站的。這意味著我們見到的幾乎一切都遵循著一種特定風格,包括布局、按鈕樣式乃至字體選擇等等。就在今年,這款工具包已經以開源姿態走到我們面前,這就是Primer。感興趣的朋友可以點擊此處在Markdotto.com網站上查看這款新型工具包的簡介文章。
Loaders
時至今日,Web已經成為一臺出產豐富的機器,我們單憑各類Web開發語言即可拿出令人眼花繚亂的成果。而在這方面,我們擁有Loaders.css助陣; 這是一款體積小巧的庫,能夠提供28款獨特的載入器,并允許大家直接拿來加以使用。
Jeet
Jeet不僅是我個人長久以來所見過的最出色的網站,其同時也是我在整個工作經歷當中遇到過的最理想的網格系統——而且我敢肯定,我絕不是惟一一個作此論斷的用戶。Jeet事實上是一款CSS預處理工具。在它的幫助下,我們不再受到.col-6等類的局限; 相反,大家能夠將任何分數、小數或者兩者的結合添加進去,從而創建出一套完全自定義而成的網格方案。
Transformicons
相信大家一定會愛上Transformicons,因為它充分顯示出JavaScript與CSS相結合后能夠創造出怎樣令人驚艷的成果。Transformicons是一套庫,旨在幫助大家將SCG與CSS圖標轉化成不同形狀。
Hover
這套CSS3 Collection能夠幫助大家將懸停功能引入到各類鏈接、按鈕、標志、SVG乃至特色圖像等對象之上。在它的支持下,我們可以輕松應用自己的元素,修改或者直接使用自己的創意與靈感。Hover適用于CSS、Sass以及LESS。它也能夠實現我們在iPhone應用程序當中常見的各種懸停效果,這也進一步證明了在不久的將來,我們將有能力直接以Web方式開發移動應用程序。
Bourbon
Bourboun原本曾被冠以多種不同的名頭,但不管名稱如何、它最引人注目的特性仍然在于作為Bootstrap可靠備選方案的重要作用。就本身而言,Bourbon屬于一套輕量級框架; 但在與其它有趣的軟件包相結合之后,它也能夠變身成一款強大而且簡潔的框架、幫助大家創建并編寫獨立代碼。
Spritebox
Spritebox是一款適用于所有Sprites用戶的解決方案,它同時也是一款所見即所得類型的工具——因此我們沒必要針對它的功能另行贅言。需要強調的是,它可能是目前我們能夠找到的、可利用單一sprite圖像生成CSS的最便捷解決方案之一。
Font Awesome
Font Awesome之所以能夠被納入此次榜單,理由非常簡單:它是目前面向CSS開發者群體的最具人氣的字體資源。沒有哪個項目能夠在不具備理想字體屬性的條件下順利完成,而這套資源則是大家所能獲得的最佳選擇。就在不久之前,我們還剛剛發布了一份SVG圖標資源清單(點擊此處查看,英文原文),其中包含大量值得關注的方案。此外,各位可能還會對Font Awesome to PNG這一服務抱有興趣,其作用是將Font Awesome圖標輕松快捷地轉換為獨立圖像。
Stitches
Stitches是一款HTML 5 sprite表生成工具。對它,我們沒有太多需要贅述的,上傳圖像后即可輕松獲取到sprite表——就這么簡單。
Sass
如果大家打算像專業人士那樣編寫CSS,那么Sass絕對是各位的最佳選擇——或者至少是最佳選擇之一。總體而言,它能夠讓我們的CSS編碼工作改頭換面,從而使大家感受到如何使用真正的編程語言那樣的編寫過程。在這里,我們強烈推薦大家點擊此處查看Sass使用指南——它將為各位節約下大量用于摸索的時間!
Less
Less又是另一款出色的CSS預處理工具,而且在過去幾個月當中相關社區內還針對Less能否繼續保持發展態勢而進行了一番討論。一部分技術人員認為現在是時候完全投入Sass的懷抱了,但也有一些持不同的觀點。值得一提的是,Chris Coyer也加入到了這場熱火朝天的討論當中,感興趣的朋友可以點擊此處查看相關內容(英文原文)。
Turbine
PHP在預處理樣式表方面擁有著驚人的實力。PHP同樣有能力處理自己的內部變量,并以實時方式在樣式表處理過程中同代碼進行協作。這套動態環境允許大家完成各類具有深度且復雜性較高的設計。Turbine CSS在很大程度與Sass比較類似,其能夠利用各類獨立PHP插件的優勢以實現多種功能,具體包括瀏覽器定位以及高級設計變量等等。感興趣的朋友可以點擊此處(英文原文),通過這篇文章了解Turbine的作用與能力。
Myth
我們在今天的文章中著力強調了各類預處理解決方案,但各款上榜工具都在努力通過獨具特色的方式提供不同的實現角度,Myth當然也不例外。Myth最大的差異之處在于,它無法真正使用獨特的語法機制,而是根據每款瀏覽器的各自支持能力、起效規范以及參考建議給出彼此不同的解決途徑。就目前來看,隨著各類規范的不斷發展,我們的最終目標將是不借助Myth的力量而將各種瀏覽器納入統一范疇。這有點像是以尚未真正到來的方式編寫CSS代碼。
Stylus
Stylus是一種革命性的新型語言,其允許使用者以一種有效的、動態的表達方式來生成CSS代碼。此外,它還同時支持縮進語法與常規CSS樣式。
更多內容,請關注51CTO官方微信:weixin51CTO
果您是網絡開發領域的新手,并希望開始使用CSS,那么這是您的職位!繼續閱讀以了解如何設計網頁風格。
如果HTML是關于結構的,CSS就是風格。
[如果你不確定我所指的是什么,請從這篇博文開始 ]
CSS或層疊樣式表是Web開發語言金字塔的第二面。有些人會與我爭論,稱CSS是一種語言,但讓仇敵討厭。
CSS用于說明頁面上的位置,渲染標簽周圍應該占用多少空間,字體應該是什么顏色等等。雖然我不打算深入探索樣式表(一個CSS元素的文檔),但我想確保我們很好地理解HTML如何使用樣式以及它如何操作頁面上的元素。
我們不會深入研究,因為CSS可能會有點混亂,有些公司已經為我們“完善”了CSS。如果您已經聽說過 Bootstrapping,那么這是一種非常流行的方式,可以讓您的網頁看起來不費吹灰之力。它已經發展成為一個偉大的Web App框架,但現在,我們將專注于樣式部分。它是由幾個人在一家叫做Twitter的小公司發明的。
但回到純CSS,我們必須自己寫!
body {
background-color: lightblue;
}
h1 {
color: white;
text-align: center;
}
p {
font-family: verdana;
font-size: 20px;
}
所以我偷了W3School的一些CSS樣本,以幫助我們更好地理解這是如何工作的。
在這個例子中,你可能會認識一對夫婦標記,如 body, h1和p。默認情況下,HTML標簽具有與它們相關的一些樣式。使用CSS,我們可以修改或添加一些額外的樣式到標簽。body標簽有一個背景顏色,這意味著打開和關閉<body>標簽內的任何內容都將具有淺藍色背景(除非被另一個樣式標簽覆蓋)。
讓我們看看這是如何改變我們的網頁。記得我們上一篇文章中的index.html文件嗎?時間讓它變得更漂亮!
在你最喜歡的代碼編輯器中打開一個空白文件。將上面的CSS粘貼到該文件中。將文件保存在與上周創建的index.html文件相同的目錄中。命名它 style.css。
恭喜,你已經創建了一個樣式表!
現在我們需要將這個樣式表鏈接到我們的索引文件。打開你的index.html文件。為了將樣式表鏈接到這個HTML文件,你需要在標題中定義鏈接(提醒:標題是開始和結束<head>標簽之間的所有東西,鏈接的屬性 type 是text / css,關系(或 rel)是樣式表,最后是文檔的位置 href。
<link type="text/css" rel="stylesheet" href="style.css">
保存您的更改!
由于index.html的已經包含了 body, h1 和 p 標簽,我們應該看到立即反映出來的風格。在瀏覽器中打開您的index.html文件。您現在應該看到淺藍色的背景,并且標題應該居中并顯示白色文本。
很簡單,對吧?
除了標簽之外,還有其他方式可以為您的頁面添加樣式。
假設您有兩個想要以不同方式設計風格的段落標簽,并且我們希望第二段的風格與鏈接相匹配。您也可以在樣式表中定義樣式類。要定義樣式類,請.
在樣式名稱的前面添加一個 。
.bluetext {
color: blue;
}
所以與bluetext 課堂上的一切 都會有藍色文字。
您還可以為樣式定義多種類型。例如,如果我們想要能夠p 在非p 標簽中模仿 標簽樣式,我們也可以為它創建一個類名稱。
p, .p {
font-family: verdana;
font-size: 20px;
}
現在我們可以訪問p 任何標簽的 標簽樣式。
讓我們將該bluetext 類添加 到我們的第二段標記中,然后將其添加p 到 bluetext 樣式中并添加 到我們的鏈接中。
<p class="bluetext">And then I added more that I want to be in a new paragraph. </p>
<a target="_blank" class="bluetext p">Meredith's Profile</a>
保存您的更改。現在,當您刷新應用程序時,最后兩行將變為藍色,并且鏈接文本樣式將與其他段落匹配。
CSS可以變得非常復雜。您可以為某些標簽或類定義樣式,這些標簽或類也具有特定的屬性集。重要的是我們知道如何為頁面分配樣式以及它如何影響頁面的外觀和感覺。另外,我們使用CSS樣式和類的原因是它可以重用。我們可以使用樣式表定義可重用的樣式,而不是為每個元素或標簽編寫樣式。這使我們的代碼更易于閱讀和重構。
這里有一些很棒的CSS資源:
CSS技巧
CSS備忘單
現在我們知道如何設計風格了,我們已經準備好在下一篇文章中討論JavaScript的動態組件了!
*請認真填寫需求信息,我們會在24小時內與您取得聯系。