內容介紹
第1版2年內印刷近10次,累計銷量超過50000冊,4大網上書店的讀者評論超過4600條,98%以上的評論都是五星級的好評。不僅是HTML 5與CSS 3圖書領域當之無愧的領頭羊,而且在整個原創計算機圖書領域也是佼佼者。本書已經成為HTML 5與CSS 3圖書領域的一個標桿,被讀者譽為“系統學習HTML 5與CSS 3技術的最佳指導參考書之一”和“Web前端工程師案頭必備圖書之一”。第2版首先從技術的角度結合最新的HTML 5和CSS 3標準對內容進行了更新和補充,其次從結構組織和寫作方式的角度對原有的內容進行了進一步最佳化,使之更具價值且更便於讀者閱讀。全書共29章,本書分為上下兩冊:上冊(1~17章)全面系統地講解了HTML 5相關的技術,以HTML 5對現有Web套用產生的變革開篇,順序講解了HTML 5與HTML 4的區別、HTML 5的結構、表單元素、HTML編輯API、圖形繪製、History API、本地存儲、離線套用、檔案API、通信API、擴展的XML HttpRequest API、Web Workers、地理位置信息、多媒體相關的API、頁面顯示相關的API、拖放API與通知API等內容;下冊(18~29章)全面系統地講解了CSS 3相關的技術,以CSS 3的功能和模組結構開篇,順序講解了各種選擇器及其使用、文字與字型的相關樣式、盒相關樣式、背景與框線相關樣式、布局相關樣式、變形處理、動畫、顏色相關樣式等內容。上下兩冊共351個示例頁面,所有代碼均通過作者上機調試。下冊的最後有2個綜合案例,以疊代的方式詳細講解了整個案例的實現過程,可操作性極強。
作者介紹
陸凌牛,資深Web開發工程師、軟體開發工程師和系統設計師。從事Web開發多年,對各種Web開發技術(包括前端和後端)都有非常深入的研究,經驗極其豐富。HTML 5和CSS 3等新技術的先驅者和布道者,不僅對HTML 5與CSS 3有非常深入的研究,而且對Sencha Touch等移動套用開發框架也有非常深刻的認識,並且付諸了大量實踐。同時,他還擅長微軟與Java的相關技術,在C#、VB.NET、ASP.NET、SQL Server 、Oracle、Java、Struts、Spring、Hibernate等方面也積累大量的實戰經驗。此外,他還是一位頗有影響力的技術作家:(1)處女作《HMTL 5與CSS 3權威指南》憑藉優質的內容獲得了讀者廣泛的好評,印刷近10次,銷量超過50000冊,被讀者譽為“系統學習HTML 5與CSS 3的最佳選擇”和“Web前端工程師案頭必備圖書之一”, 不僅是HTML 5與CSS 3領域的領頭羊和標桿,而且是近年來原創計算機圖書領域的一面旗幟。
(2)第2本著作《HTML 5開發精要與案例詳解》不僅在內容上延續了前一本書的精彩,而且同樣也取得了非常好的口碑和銷量,已經兩次重印,銷量萬餘冊。
(3)第3本著作《Sencha Touch權威指南》是該領域的第一本著作,也是唯一一本著作,內容非常全面,且極具實戰性,銷售勢頭也非常不錯。
作品目錄
前言下冊
第18章 CSS 3概述 / 467
18.1 概要介紹 / 468
18.1.1 CSS 3是什麼 / 468
18.1.2 CSS 3的歷史 / 468
18.2 使用CSS 3能做什麼 / 469
18.2.1 模組與模組化結構 / 469
18.2.2 一個簡單的CSS 3示例 / 470
第19章 選擇器 / 473
19.1 選擇器概述 / 475
19.2 屬性選擇器 / 475
19.2.1 屬性選擇器概述 / 475
19.2.2 CSS3中的屬性選擇器 / 477
19.2.3 靈活運用屬性選擇器 / 478
19.3 結構性偽類選擇器 / 479
19.3.1 CSS中的偽類選擇器及偽元素 / 479
19.3.2 選擇器root、not、empty和target / 483
19.3.3 選擇器:first-child、last-child、nth-child和nth-last-child / 488
19.3.4 選擇器:nth-of-type和nth-last-of-type / 492
19.3.5 循環使用樣式 / 494
19.3.6 only-child選擇器 / 496
19.4 UI元素狀態偽類選擇器 / 498
19.4.1 選擇器:E:hover、E:active和E:focus / 498
19.4.2 E:enabled偽類選擇器與E:disabled偽類選擇器 / 500
19.4.3 E:read-only偽類選擇器與E:read-write偽類選擇器 / 501
19.4.4 偽類選擇器:E:checked、E:default和E:indeterminate / 502
19.4.5 E::selection偽類選擇器 / 505
19.4.6 E:invalid偽類選擇器與E:valid偽類選擇器 / 506
19.4.7 E:required偽類選擇器與E:optional偽類選擇器 / 507
19.4.8 E:in-range偽類選擇器與E:out-of-range偽類選擇器 / 508
19.5 通用兄弟元素選擇器 / 509
第20章 使用選擇器在頁面中插入內容 / 511
20.1 使用選擇器來插入文字 / 512
20.1.1 使用選擇器來插入內容 / 512
20.1.2 指定個別元素不進行插入 / 513
20.2 插入圖像檔案 / 514
20.2.1 在標題前插入圖像檔案 / 514
20.2.2 插入圖像檔案的好處 / 515
20.2.3 將alt屬性的值作為圖像的標題來顯示 / 517
20.3 使用content屬性來插入項目編號 / 518
20.3.1 在多個標題前加上連續編號 / 518
20.3.2 在項目編號中追加文字 / 519
20.3.3 指定編號的樣式 / 519
20.3.4 指定編號的種類 / 519
20.3.5 編號嵌套 / 520
20.3.6 中編號中嵌入大編號 / 521
20.3.7 在字元串兩邊添加嵌套文字元號 / 523
第21章 文字與字型相關樣式 / 525
21.1 給文字添加陰影—text-shadow屬性 / 526
21.1.1 text-shadow屬性的使用方法 / 526
21.1.2 位移距離 / 528
21.1.3 陰影的模糊半徑 / 528
21.1.4 陰影的顏色 / 529
21.1.5 指定多個陰影 / 529
21.2 讓文本自動換行—word-break屬性 / 530
21.2.1 依靠瀏覽器讓文本自動換行 / 530
21.2.2 指定自動換行的處理方法 / 530
21.3 讓長單詞與URL地址自動換行—word-wrap屬性 / 532
21.4 使用伺服器端字型—Web Font與@font-face屬性 / 532
21.4.1 在網頁上顯示伺服器端字型 / 532
21.4.2 定義斜體或粗體字型 / 534
21.4.3 顯示客戶端本地的字型 / 536
21.4.4 屬性值的指定 / 537
21.5 修改字型種類而保持字型尺寸不變—font-size-adjust屬性 / 538
21.5.1 字型不同導致文字大小的不同 / 538
21.5.2 font-size-adjust屬性的使用方法 / 540
21.5.3 瀏覽器對於aspect值的計算方法 / 540
21.5.4 font-size-adjust屬性的使用示例 / 541
第22章 盒相關樣式 / 543
22.1 盒的類型 / 544
22.1.1 盒的基本類型 / 544
22.1.2 inline-block類型 / 545
22.1.3 inline-table類型 / 552
22.1.4 list-item類型 / 554
22.1.5 run-in類型與compact類型 / 555
22.1.6 表格相關類型 / 556
22.1.7 none類型 / 558
22.1.8 各種瀏覽器對於各種盒類型的支持情況 / 559
22.2 對於盒中容納不下的內容的顯示 / 560
22.2.1 overflow屬性 / 560
22.2.2 overflow-x屬性與overflow-y屬性 / 562
22.2.3 text-overflow屬性 / 563
22.3 對盒使用陰影 / 565
22.3.1 box-shadow屬性的使用方法 / 565
22.3.2 將參數設定為0 / 566
22.3.3 對盒內子元素使用陰影 / 567
22.3.4 對第一個文字或第一行使用陰影 / 568
22.3.5 對表格及單元格使用陰影 / 568
22.4 指定針對元素的寬度與高度的計算方法 / 570
22.4.1 box-sizing屬性 / 570
22.4.2 為什麼要使用box-sizing屬性 / 572
第23章 背景與框線相關樣式 / 574
23.1 與背景相關的新增屬性 / 575
23.1.1 指定背景的顯示範圍—background-clip屬性 / 575
23.1.2 指定繪製背景圖像的繪製起點—background-origin屬性 / 577
23.1.3 指定背景圖像的尺寸—background-size屬性 / 579
23.2 在一個元素中顯示多個背景圖像 / 582
23.3 圓角框線的繪製 / 583
23.3.1 border-radius屬性 / 583
23.3.2 在border-radius屬性中指定兩個半徑 / 584
23.3.3 不顯示框線時 / 585
23.3.4 修改框線種類時 / 585
23.3.5 繪製四個角不同半徑的圓角框線 / 585
23.4 使用圖像框線 / 586
23.4.1 border-image屬性 / 586
23.4.2 border-image屬性的最簡單的使用方法 / 587
23.4.3 使用border-image屬性來指定框線寬度 / 589
23.4.4 中央圖像的自動拉伸 / 590
23.4.5 指定四條邊中圖像的顯示方法 / 591
23.4.6 使用背景圖像 / 594
第24章 CSS 3中的變形處理 / 596
24.1 transform功能的基礎知識 / 597
24.1.1 如何使用transform功能 / 597
24.1.2 transform功能的分類 / 598
24.2 對一個元素使用多種變形的方法 / 602
24.2.1 兩個變形示例 / 602
24.2.2 指定變形的基準點 / 604
第25章 CSS 3中的動畫功能 / 607
25.1 Transitions功能 / 608
25.1.1 Transitions功能的使用方法 / 608
25.1.2 使用Transitions功能同時平滑過渡多個屬性值 / 609
25.2 Animations功能 / 612
25.2.1 Animations功能的使用方法 / 612
25.2.2 實現多個屬性值同時改變的動畫 / 614
25.2.3 實現動畫的方法 / 616
25.2.4 實現網頁的淡入效果 / 618
第26章 布局相關樣式 / 619
26.1 多欄布局 / 620
26.1.1 使用float屬性或position屬性的缺點 / 620
26.1.2 使用多欄布局方式 / 622
26.2 盒布局 / 625
26.2.1 盒布局的基礎知識 / 625
26.2.2 彈性盒布局 / 629
第27章 Media Queries相關樣式 / 641
27.1 根據瀏覽器的視窗大小來選擇使用不同的樣式 / 642
27.2 在iPhone中的顯示 / 646
27.3 Media Queries的使用方法 / 647
第28章 CSS 3的其他重要樣式和屬性 /650
28.1 顏色相關樣式 / 651
28.1.1 利用alpha通道來設定顏色 / 651
28.1.2 alpha通道與opacity屬性的區別 / 653
28.1.3 指定顏色值為transparent / 655
28.2 用戶界面相關樣式 / 656
28.2.1 輪廓相關樣式 / 656
28.2.2 resize屬性 / 659
28.3 取消對元素的樣式指定—initial屬性值 / 660
28.3.1 取消對元素的樣式指定 / 660
28.3.2 使用initial屬性值並不等於取消樣式設定的特例 / 662
第29章 綜合實例 / 664
29.1 實例1:使用HTML 5中新增結構元素來構建網頁 / 665
29.1.1 組織網頁結構 / 665
29.1.2 構建網頁標題 / 667
29.1.3 構建側邊欄 / 670
29.1.4 構建主體內容 / 672
29.1.5 構建版權資訊 / 678
29.2 實例2:使用HTML 5+CSS 3來構建Web應用程式 / 678
29.2.1 HTML 5頁面代碼分析 / 679
29.2.2 CSS 3樣式代碼分析 / 682
29.2.3 JavaScript腳本代碼分析 / 685
附錄A 可以在各種瀏覽器中運行的所有命令 / 698
附錄B 2012年7月五大瀏覽器的最新版對HTML 5的支持情況 / 706