1. 程式人生 > 實用技巧 >隨手記十——淘寶靜態頁面

隨手記十——淘寶靜態頁面

  用了一個多星期來學習淘寶佈局,2/3的時間花在了自己摸索寫出的淘寶1.0,勉強寫完後用剩下1/3的時間學習並寫了2.0,覺得還是記錄一下學習進度比較好。

一、首先開啟真正的淘寶頁面,它長這樣:

二、我自己寫的1.0,如下,多多少少有點兒醜了

三、這是看了教學視訊之後寫出的淘寶2.0

四、總結

  寫1.0的時候剛學完基礎HTML和CSS,完全是毫無章法,想到怎麼寫就怎麼寫,最終寫出來的,雖說雛形是有的,但一看就十分不美觀,很多細節的東西都沒有實現,比如說小圖示,右側固定導航欄之類的。在寫完2.0之後我又重新看了原來的程式碼和後來的程式碼,做了反思:

  1、1.0使用了太多的div,幾乎每個結構都在使用div,巢狀的div太多,顯得整篇程式碼下來十分繁冗。

  2、1.0中沒有做重置css檔案,其實很多標籤可以一開始就做好初始化,比如說<li></li>標籤,一開始就該統一配置list-style:none;這樣就不用一直反反覆覆寫這個屬性了。

  3、1.0中一直用position:absolute;來規劃各個模組,導致各個模組非常混亂,各種left:878px;之類的。

  4、1.0中使用了float:left;後總是忘了清除浮動流,而且只用float:left;,完全忽略了float:right;

  我也通過2.0學習到許多優秀的方法和習慣:

  1、css檔案不是必須一個的,可以寫很多個,但是必須要有初始化重置檔案呀,省了好多事

  2、說到重置檔案,可以寫這個頁面頻繁使用的顏色、居中對齊的屬性、清除浮動等,非常方便!

   比如說居中對齊可以寫 .layer{ width:1800px; margin:0 auto;}

   清除浮動可以寫 .clearfix::after{ content: ' '; display:block; clear:both; }

   然後在需要使用的模組上添上一個class就可以了

  3、說到清除浮動流,就要注意,一旦子級使用了浮動,一定要在給它的父級清除浮動,上個clearfix的buff

  4、前面提到我的1.0沒有做小圖示,當時不知道怎麼做,乾脆擱置一邊了,通過學習知道了小圖示是可以用iconfont字型圖示來完成的,使用這種方式,就是把小圖示做成文字的形式,可以調整大小、顏色等等,具有文字屬性噢

  5、在動手寫某個模組之前要做一個規劃,把結構分好寫好,再慢慢補充細節。

  6、要寫註釋!!註釋是良好的程式碼習慣!!每個模組之前都要標註到這是什麼,不然修改的時候會找到哭qwq

  7、每一個主體模組都可以給一個id,在css檔案寫的時候加上對應模組的id,就像是做了標記一樣,好找,而且可以更好地定位到某個結構

  通過做淘寶靜態頁面我也學習到了很多新知識:

  1、樣式重置和模組化、上面提了。

  2、line-height不同值的區別

    我們常見line-height的值的形式有:px、數字(如1.5)、%、em、normal。

.body{ font-size:16px; line-height:_____;}

.h3{ font-size:20px;}

設定方式 h3的line-height的值 備註
normal 具體看字型的值,比如說宋體、黑體之類的 預設
數字 (1.5) 20×1.5=30px 繼承的是line-height:1.5這個值
px(14px) 14px 繼承的是父元素計算後的line-height,父元素line-height多少我多少,除非自己重新設定。
em(5em) 16×5×=80px
%(200%) 16×200%=32px

    一般來數,設定行高的值為純數字是最推薦的方式,因為其會隨著對應的 font-size 而縮放。

  3、CSS@規則

    @charset 設定樣式表的編碼

    @import 匯入其他樣式檔案,比如說@import 'reset.css';

    @media 媒體查詢

    @font-face 自定義字型

  4、favicon

    favicon就是title前面的小圖示,url圖示/網頁圖示,一般都是.ico字尾的檔案。使用格式為:<link rel="icon" href="/url地址" >

    記得ico檔案要放在根目錄噢。

  5、base標籤

    <base>標籤用於定義一個文件當中所有相對url的根目錄(其實就是基礎根地址),還可以設定網頁在新標籤開啟target=_"_blank"。記住一個頁面只能有一個base標籤。

  6、自定義圖示

    就是前面提過的@font-face,

  7、H標籤的應用場景

    很多時候爬蟲軟體就是通過爬取H標籤來提取關鍵資訊,所以在我們具有識別資訊的地方最好都套上一個H標籤,如淘寶網上的淘寶Logo,套上一個h1標籤,而二級標題,比如說主題市場,可以用h2標籤,某個小模組的標題可以用h3標籤,小模組的內容可以用h4標籤。h5和h6標籤極少使用。

  8、以圖換字

   第一種,設定首行縮排大於等於容器寬度,這樣可以把淘寶網三個字擠出容器,然後用white-space:nowrap;強制不能換行,這樣淘寶網三個字就都在一行上而且都在容器外面了,接著再用overflow:hidden;將容器外面的幾個字隱藏。

   {background: url(xxxxxxxxxxxxxxx) no-repeat;

    text-indent:-9999px;

    white-space:nowrap;

    overflow:hidden;   

    }

   第二種,利用padding能放置背景圖片且不能放置內容的特點,用padding支撐起容器的高度,這個時候其實淘寶網三個字已經在容器外面了,然後圖片覆蓋padding,接著用overfloat:hidden;隱藏淘寶網這幾個字,實現同樣的內容。

   {height:0px;

   background:url(xxxxxxx) no-repeat;

   padding-top:60px;

   overflow:hidden;

   }

  9、怪異盒模型(IE盒模型)

   

  10、CSS3(圓角、漸變、過渡)

    圓角:border-radius:20px;可以設定各個角的弧度

    漸變:淘寶2.0用了線性漸變,即background-image:linear-gradient(to right,#ff9000,#ff5000); 從左到右

                   background-image:linear-gradient(135dge,#ff9000,#ff5000); 從左上到右下,135°到315°,也可以寫作to bottom right。

  11、IE濾鏡

    CSS3很多功能非常強大,但是IE卻不相容,這時候可以使用相應的IE濾鏡來實現相容。

  12、CSS HACK(另外總結)

  13、圖片垂直居中對齊(另外總結)

  14、CSS Sprites

    又稱雪碧圖、精靈圖,我理解為將多個向量小圖示放在一張圖裡,通過調整xy值來定位某個小圖示。雪碧圖的好處就是減少圖片請求的次數,避免造成資源浪費、訪問速度降低的問題。

  15、圖片格式webp

    這是谷歌瀏覽器在14年推出的一種圖片格式,優點是同樣的圖片,webp的大小比別的格式小十倍甚至數十倍,還不影響清晰度。

  16、詞換行

    參考淘寶右側固定導航欄裡的每個單元格,比如說“品質推薦”需要將這個詞分成上下兩行,可以<ahref="#"class="c4active">品質好貨</a>中間用一個空格間隔開,再在css檔案中使用word-break:keep all;換行即可。