0041 如何用600行CSS代碼編寫簡書網(wǎng)站首頁

上節(jié)課將網(wǎng)頁的排版框架大致寫好。
這節(jié)課就來進行更具體的修改和增加所有元素的細節(jié),完成整個網(wǎng)頁的編寫。

下載所有必須的圖片文件

按照上節(jié)課的方法,用調(diào)試工具分析代碼之后,可以下載好必須的圖片文件。

2-15-1.jpg

關(guān)于當中專題的圖片,這里只下載了3個,更多的圖和文字留給大家自己去完成。

主體排版調(diào)整

給table加上邊框線的目的是為了方便在開發(fā)編寫完成之前能夠隨時觀察排版的情況,方便進行調(diào)整。
在排版樣式基本調(diào)整到位之后,就可以刪除table的邊框了。
來給下面2行的左右分別增加內(nèi)邊距為140px和120px。

修改css代碼如下:

2-15-2.jpg

刷新頁面:

2-15-3.jpg

可以看到,下面2行的左右留白出現(xiàn)了,同時第2行和第3行之間有間距,第3行的左右2個td之間也有間距。
雖然第3行的2個td的寬度比例不對,但是先不著急,下面按照次序一個一個元素來調(diào)整。

實現(xiàn)最上面一排按鈕和鏈接

最上面一排左邊4個元素,右邊4個元素,當中留白,因此一共9個td。
將左邊4個td和右邊4個td的寬度固定,剩余當中的一個td不設(shè)置,那么瀏覽器窗口變化的時候,就不影響到左右的8個td的寬度。
僅僅影響到當中留白的那個td。這是經(jīng)常使用的一種適應(yīng)不同瀏覽器在不同屏幕上不同寬度的一種方法。

修改css代碼,增加tda1到tda9的樣式。

2-15-4.jpg

刷新頁面:

2-15-5.jpg

可以看到,基本的按鈕位置已經(jīng)到位,可以不需要table的邊框了。
刪除掉table的邊框樣式,同時針對最上面一排的整個table的樣式table2增加一個下邊框的樣式,做出一條灰色的分割線出來。

修改css代碼如下:

2-15-6.jpg

刷新頁面:

2-15-7.jpg

接下來,逐步添加圖片或者按鈕。

第一步,添加第一個圖片,logo圖片。然后增加后面的2個icon圖標,這里icon圖標要用到一個新的技術(shù),就是css3的content屬性。
并且通過自定義字體文件,來顯示圖標類型的文字。具體內(nèi)容這里不深入講解,大家只要了解,通過引入自定義字體文件的方式就可以將字體文件里面的特殊符號圖標形狀的文字顯示在網(wǎng)頁上。它看起來是一個圖標,但其本質(zhì)是一個文字。這是這個文字做成圖標樣子了。比如很多網(wǎng)頁中出現(xiàn)的各種箭頭圖標,很多都是文字。

修改css代碼如下:

2-15-8.jpg
2-15-9.jpg
2-15-10.jpg

修改html代碼如下:

2-15-11.jpg

刷新頁面:

2-15-12.jpg

可以看到,前面3個圖標都模仿編寫完成了。

接下來模仿搜索框部分。
搜索框可以用外面套一個div,div的背景色是灰色,然后邊角做成圓角的。
當中放一個input標簽可以用于輸入,input標簽是一個新的標簽,具體的作用就是讓用戶可以輸入文本的。
后面的課程中會詳細講解的,這里不深入講解。

然后右邊放一個類似前面的圖標用i標簽并設(shè)置content自定義文字編碼來實現(xiàn)。
修改css代碼如下:

2-15-13.jpg

修改html代碼如下:

2-15-14.jpg

刷新頁面:

2-15-15.jpg

接下來,修改右側(cè)的4個圖標和按鈕。
第1個很簡單,也是一個文字圖標,和前面的下載圖標一樣。
第2個是一個文字a鏈接,樣式為灰色文字。
第3個也是一個文字a鏈接,注意邊框為圓角邊框,顏色為紅色。
第4個也是一個文字a鏈接,底色為紅色,邊框為圓角,里面包含一個i標簽和文字,其中i標簽也是一個羽毛筆的圖標文字。

修改css代碼如下:

2-15-16.jpg
2-15-17.jpg
2-15-18.jpg

修改html代碼如下:

2-15-19.jpg

刷新頁面:

2-15-20.jpg

可以看到,通過分析原始網(wǎng)頁的相關(guān)CSS樣式的值,然后模仿寫到自己的css文件里面,就能很方便的將網(wǎng)頁元素模仿編寫出同樣類似的效果。當然,模仿后和原來的不是百分之百一樣的,這很難做到,因為畢竟每個網(wǎng)頁的排版布局是不一樣的實現(xiàn)方式。只要掌握了這個方法,通過學習不同的網(wǎng)頁的實現(xiàn)方式,很快就能掌握如何編寫出自己的網(wǎng)站效果了。

接下來的實現(xiàn)過程,學哥就不再逐個元素的講解了,直接將修改好的代碼呈現(xiàn)給大家。
大家也可以先不要往下看學哥的實現(xiàn)結(jié)果,可以自己先嘗試將網(wǎng)頁剩余的元素全部編寫出來。

實現(xiàn)下面左邊的專題按鈕

修改css代碼如下:

2-15-21.jpg
2-15-22.jpg

修改html代碼如下:

2-15-23.jpg

刷新頁面:

2-15-24.jpg

可以看到關(guān)于專題這部分已經(jīng)都做好了。由于專題太多了,而且都是重復的樣式,這里就不做出所有的專題了,做出3個作為代表性的例子就足夠了。

設(shè)置下面右邊的td的寬度

現(xiàn)在可以調(diào)整下面一行的左右td的寬度了,將右側(cè)的td的寬度固定為218px,左側(cè)的td不固定寬度。
修改css代碼如下:

2-15-25.jpg

刷新頁面:

2-15-26.jpg

可以看到右側(cè)td的寬度變大了,左側(cè)的td的寬度變小了。
如果瀏覽器窗口拉大或者縮小會發(fā)生什么情況呢?
如果瀏覽器窗口放大的話,左側(cè)td的寬度也會自動變大,是由于將table的寬度設(shè)置為100%了。
一個table設(shè)置為100%,也就是根據(jù)瀏覽器寬度變化而變化,同時一個tr里面的td如果設(shè)置了絕對寬度則寬度就不跟隨瀏覽器變化而變化,如果td沒有設(shè)置寬度,則這些td會根據(jù)內(nèi)容的比例進行分配寬度。
假如一行里面只有一個td沒有設(shè)置寬度,則剩余的寬度都會分配給這個td,那么瀏覽器寬度變化的話就只有這個td會改變寬度。

將瀏覽器窗口拉大一些,效果如下:

2-15-27.jpg

可以看到,右側(cè)的td的寬度不變,而左側(cè)的td的寬度變大了。
同時可以看到最上面一排按鈕,只有當中留白的那個td也變大了。其它按鈕的td并沒有變化。
這個設(shè)置table寬度自適應(yīng)瀏覽器寬度的方法,是一個比較好的控制瀏覽器寬度變化的方法。大家在編寫網(wǎng)頁時候要考慮到瀏覽器寬度的因素。

實現(xiàn)下面左邊的文章標題鏈接

修改css代碼如下:

2-15-28.jpg
2-15-29.jpg
2-15-30.jpg
2-15-31.jpg
2-15-32.jpg

修改html代碼如下:

2-15-33.jpg

刷新頁面:

2-15-34.jpg

可以看見第3行的左邊部分,關(guān)于文章的內(nèi)容全部做好了。
主要是css代碼部分增加比較多。

實現(xiàn)下面右邊的大圖標按鈕和作者排行內(nèi)容

首先將第3行的左右2個td的垂直方向都靠上對齊:
修改css代碼如下:

2-15-35.jpg

然后,修改右側(cè)的大圖標和作者排行內(nèi)容。
修改css代碼如下:

2-15-36.jpg
2-15-37.jpg
2-15-38.jpg
2-15-39.jpg
2-15-40.jpg
2-15-41.jpg

修改html代碼如下:

2-15-42.jpg
2-15-43.jpg

刷新頁面:

2-15-44.jpg

可以看到,所有的頁面代表性元素全部樣式都做成了。

多瀏覽器測試和多設(shè)備測試

到這里,完成了模仿一個真實的網(wǎng)頁的全部工作,按照這種模式,可以模仿出各種各樣的網(wǎng)頁編碼。
接下來,要將代碼部署到本地服務(wù)器上。
然后通過安裝不同的瀏覽器軟件,例如IE瀏覽器,Chrome瀏覽器,Safari瀏覽器,F(xiàn)irefox瀏覽器進行不同瀏覽器的兼容性測試。
保證在不同的瀏覽器上看到的網(wǎng)頁效果大致都一樣,不要出現(xiàn)明顯的不協(xié)調(diào)或不美觀之處。
然后還要在不同的設(shè)備和操作系統(tǒng)上針對不同的瀏覽器做更大范圍的兼容性測試,這樣才能盡最大可能讓我們編寫的網(wǎng)頁程序能夠適應(yīng)更多的計算機環(huán)境,呈現(xiàn)最好的效果。

第2章總結(jié)

前面通過15小節(jié)的內(nèi)容,講解了如何編寫靜態(tài)內(nèi)容網(wǎng)站,如何部署到本地服務(wù)器,如何運用瀏覽器調(diào)試工具來學習和模仿編寫網(wǎng)站,如何將網(wǎng)站程序部署到阿里云服務(wù)器,如何購買一個域名并解析到云服務(wù)器,完整的通過2個實例演示了整個網(wǎng)站實現(xiàn)的過程。

下面來回顧一下每節(jié)課的內(nèi)容,并說明重點以及自學是需要注意的地方。
第2.1節(jié),主要是講解關(guān)于網(wǎng)站的技術(shù)原理和要做的大概內(nèi)容。
第2.2節(jié),主要講一個最最簡單的網(wǎng)頁代碼是什么樣子的,讓大家有一個最直觀的感受,從最簡單的開始,html標簽,head標簽,title標簽,body標簽,和使用文本編輯器。
第2.3節(jié),從一個網(wǎng)站的設(shè)計開始,然后講解了br標簽,b標簽,設(shè)置網(wǎng)頁網(wǎng)頁的背景色,關(guān)于CSS樣式定義以及顏色定義。
第2.4節(jié),開始學習最重要的一個div標簽,包括設(shè)置背景色,文字顏色,文字大小,尺寸單位,文字字體,文字斜體和加粗。
第2.5節(jié),學習基本的CSS樣式之后,學習將CSS樣式和網(wǎng)頁內(nèi)容進行分離,更方便開發(fā)。
第2.6節(jié),網(wǎng)頁顯示中很重要的寬度,高度,內(nèi)邊距,外邊距,邊框,可以將網(wǎng)頁元素修飾的更美觀大氣。
第2.7節(jié),在學會使用div進行頁面排版布局之后,再學習使用table表格來對網(wǎng)頁進行排版,掌握td的用法,包括設(shè)置內(nèi)邊距和字體,以及邊框。
第2.8節(jié),學習對table表格進行td合并以及設(shè)置排版樣式,說明特定元素通過id設(shè)置樣式,以及說明元素標簽嵌套關(guān)系和順序關(guān)系。
第2.9節(jié),學習設(shè)置背景圖片,以及img標簽顯示圖片的方法,以及一些HTML和CSS代碼注釋以及縮進的格式。
第2.10節(jié),學習如何讓網(wǎng)頁進行遷移,包括文字鏈接和圖片鏈接,以及類似按鈕的鏈接。
第2.11節(jié),網(wǎng)頁基本編寫完成之后,將網(wǎng)頁部署到本地一個Web服務(wù)器,通過局域網(wǎng)可以訪問。
第2.12節(jié),將網(wǎng)站部署到阿里云服務(wù)器上,這樣可以通過互聯(lián)網(wǎng)訪問網(wǎng)站頁面。
第2.13節(jié),創(chuàng)建好域名之后,將域名解析到云服務(wù)器,這樣通過互聯(lián)網(wǎng)可以訪問域名就能看到網(wǎng)站頁面了。
第2.14節(jié),學習分析一個已經(jīng)存在的網(wǎng)站,并進行設(shè)計規(guī)劃,進行模仿編寫網(wǎng)頁。
第2.15節(jié),一邊分析網(wǎng)頁,一邊開始模仿編寫網(wǎng)頁,一個元素一個元素的編寫,最終完整模仿整個網(wǎng)頁。

通過整個15節(jié)課程,一步一步實現(xiàn)2個代表性網(wǎng)站頁面,掌握如果使用HTML加CSS代碼來編寫實現(xiàn)靜態(tài)內(nèi)容網(wǎng)站。
為將來實現(xiàn)動態(tài)內(nèi)容網(wǎng)站打下一個堅實的基礎(chǔ)。

第3章簡介

第2章的內(nèi)容是很多互聯(lián)網(wǎng)編程技術(shù)的基礎(chǔ)。同樣的,第3章的內(nèi)容也是互聯(lián)網(wǎng)編程技術(shù)的基礎(chǔ)。
第3章開始講解JavaScript編程技術(shù),學習掌握如何通過代碼實現(xiàn)改變網(wǎng)頁顯示元素的技術(shù)。
第3章以實現(xiàn)一個連連看網(wǎng)頁游戲作為主線,穿插講解關(guān)于JavaScript技術(shù)的方方面面,讓大家在第3章結(jié)束之后,掌握好使用JavaScript技術(shù)進行交互式網(wǎng)頁開發(fā)的技能。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,189評論 1 92
  • 本文主要是起筆記的作用,內(nèi)容來自慕課網(wǎng). 認識CSS樣式 CSS全稱為“層疊樣式表 (Cascading Styl...
    0o凍僵的企鵝o0閱讀 2,752評論 0 30
  • 前面,學習了如何從零開始編寫一個網(wǎng)站的程序,并部署在本地Web服務(wù)器,然后部署到云服務(wù)器上,通過域名進行訪問?;?..
    學哥量化交易學習閱讀 12,531評論 1 30
  • 本課來自http://www.imooc.com/learn/9請不要用作商業(yè)用途。 HTML5 HTML介紹 H...
    PYLON閱讀 3,457評論 0 5
  • 一起來走這條路吧 ——2017-2018君子蘭班上學期第一封信 (第一周:8.26-8.31) 親愛的大君子們和小...
    河南麥子的書寫閱讀 344評論 1 1

友情鏈接更多精彩內(nèi)容