設計目標
-
保證瀏覽器 ie7及以上, 火狐, 360, safari,chrome等。誰讓我再測ie6,就跟誰急。。
-
熟悉CSS+DIV布局,頁面的搭建工作
-
了解常用電商類網站的布局模式
-
為后期京東移動端做鋪墊
幾點思考
(1)開發工具 sublime 、fireworks(ps)、各種瀏覽器(ie6.7 要測看心情)
(2)CSS Rest 類庫,為跨瀏覽器兼容做准備(也可以直接運用jd網站的初始化)
normalize.css
只是一個很小的CSS文件,但它在默認的HTML元素樣式上提供了跨瀏覽器的高度一致性。
相比於傳統的CSS reset,Normalize.css是一種現代的、為HTML5准備的優質替代方案。
Normalize.css現在已經被用於Twitter Bootstrap、HTML5 Boilerplate、GOV.UK、Rdio、CSS Tricks 以及許許多多其他框架、工具和網站上。 你值得擁有。。
- 保護有用的瀏覽器默認樣式而不是完全去掉它們
- 一般化的樣式:為大部分HTML元素提供
- 修復瀏覽器自身的bug並保證各瀏覽器的一致性
- 優化CSS可用性:用一些小技巧
- 解釋代碼:用注釋和詳細的文檔來
(3)技術棧
HTML5 結構 + CSS3 布局
(4)低版本瀏覽器 單獨制作一個跳轉頁面 (都是孩子,也舍不得打,舍不得扔)
https://h5.m.jd.com/dev/3dm8aE4LDBNMkDfcCaRxLnVQ7rqo/index.html
目錄說明
要實現結構和樣式相分離的設計思想。 根目錄下有這4個文件(目錄)。
項目開始
通用部分
1.icon圖標
標題上的小圖標
右鍵另存為到網站根目錄下。
引入icon圖標
代碼: <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
注意:
-
它不是iconfont字體。
-
代碼位置是放到 head 標簽中間。
-
后面的type="image/x-icon" 屬性可以省略。
-
為了兼容性,請將favicon.ico 這個圖標放到根目錄下。
轉換icon圖標
2.網站優化三大標簽
SEO是由英文Search Engine Optimization縮寫而來,中文意譯為“搜索引擎優化”!
SEO是指通過對網站進行站內優化、網站結構調整、網站內容建設、網站代碼優化等)和站外優化,從而提高網站的關鍵詞排名以及公司產品的曝光度。
簡單的說就是,把產品做好,搜索引擎就會介紹客戶來。
我們現在階段主要進行站內優化。網站優化,我們應該要懂。。。
建議:
首頁標題:網站名(產品名)- 網站的介紹
京東(JD.COM)-綜合網購首選-正品低價、品質保障、配送及時、輕松購物!
小米商城 - 小米5s、紅米Note 4、小米MIX、小米筆記本官方網站
②Description 網站說明
對於關鍵詞的作用明顯降低,但由於很多搜索引擎,仍然大量采用網頁的MATA標簽中描述部分作為搜索結果的“內容摘要”。 就是簡要說明我們網站的主要做什么的。 我們提倡,Description作為網站的總體業務和主題概括,多采用“我們是…”“我們提供…”“×××網作為…”“電話:010…”之類語句。
京東網:
<meta name="description" content="京東JD.COM-專業的綜合網上購物商城,銷售家電、數碼通訊、電腦、家居百貨、服裝服飾、母嬰、圖書、食品等數萬個品牌優質商品.便捷、誠信的服務,為您提供愉悅的網上購物體驗!" />
注意:
-
-
同樣遵循簡短原則,字符數含空格在內不要超過 120 個漢字。
-
補充在 title 和 keywords 中未能充分表述的說明.
-
用英文逗號 關鍵詞1,關鍵詞2
<meta name="description" content="小米商城直營小米公司旗下所有產品,囊括小米手機系列小米MIX、小米Note 2,紅米手機系列紅米Note 4、紅米4,智能硬件,配件及小米生活周邊,同時提供小米客戶服務及售后支持。" />
③Keywords 關鍵字
Keywords是頁面關鍵詞,是搜索引擎關注點之一。Keywords應該限制在6~8個關鍵詞左右,電商類網站可以多一點。
京東網:
<meta name="Keywords" content="網上購物,網上商城,手機,筆記本,電腦,MP3,CD,VCD,DV,相機,數碼,配件,手表,存儲卡,京東" />
小米網:
<meta name="keywords" content="小米,小米6,紅米Note4,小米MIX,小米商城" />
3.火狐瀏覽器截圖工具
用火狐瀏覽器的截圖工具截取網頁圖片
點擊截圖按鈕——截取整個網頁——保存,稍后可用ps來截取我們需要的圖片
頂部(快捷菜單)所用知識點
1.頭部制作
①版心:
用ps量出網頁的版心,修改css代碼,定義版心寬度並居中
②廣告條部分
分析:一個div里面套一個版心,版心中有一個圖片形式的鏈接(a標簽+img標簽/背景圖片,如果使用背景圖片的方法要先將a轉換為塊級元素,設置高度,再填充背景圖片)
ps量出高度,修改css樣式,編寫HTML結構
2.快速導航欄
①寫好結構和基本樣式
分析:一個div(底部有邊框),里面套一個版心div,一部分文字(ul)向左浮動,一部分文字(ul)向右浮動;最后引入字體圖標
<!-- 快速導航欄 --> <div class="shortcut"> <div class="w"> <ul class="fl city"> <li>北京</li> </ul> <ul class="fr"> <li> <a href="#">你好,請登錄</a> <a href="#" class="f10">免費注冊</a> </li> <li class="space"></li> <li> <a href="#">我的訂單</a> </li> <li class="space"></li> <li> <a href="#">我的京東</a> <i></i> </li> <li class="space"></li> <li> <a href="#">京東會員</a> </li> <li class="space"></li> <li> <a href="#">企業采購</a> </li> <li class="space"></li> <li> <a href="#">客戶服務</a> <i></i> </li> <li class="space"></li> <li> <a href="#">網站導航</a> <i></i> </li> <li class="space"></li> <li> <a href="#" class="mobile">手機京東 <img src="images/mobile.png" height="60" width="60" alt=""> </a> </li> </ul> </div> </div>
css:
/*浮動的公共類*/ .fl{ float: left; } .fr{ float: right; } a{ text-decoration: none; /*取消鏈接默認下划線*/ font-size: 12px; color: #999; } a:hover { /*鼠標放到鏈接上的顏色*/ color: #c81623; } ul{ list-style: none;/*清除列表樣式*/ margin: 0; /*清除內外邊距*/ padding: 0; } body{ background-color: #f6f6f6; /*整個頁面的背景顏色*/ } /*快速導航欄部分*/ .shortcut{ height: 30px; /*沒有高度撐開,不會顯示*/ line-height: 30px; /*行高=容器高,可以使字體居中*/ background-color: #e3e4e5; border-bottom: 1px solid #ddd; font-size: 12px; /*導航欄中字體大小*/ color: #999; /*字體顏色*/ } .city{ /*定義“北京”的左外邊距,給logo倒出位置*/ margin-left: 200px; } .shortcut li{ /*列表本來是豎着排列,浮動后變為一行*/ float: left; } .space{ /*間隔的小豎線*/ width: 1px; height: 10px; background-color: #ccc; margin:10px 12px 0; } .f10{ /*常用的紅色單獨定義出來*/ color: #f10215; }
②引入字體圖標:
下載字體圖標地址:https://icomoon.io/
點擊這個按鈕,選擇想要的圖標,進行下載~
將下載好的壓縮包解壓,font文件夾下得到下面4個文件,放入項目的fonts文件夾中。
引入字體圖標步驟:
1)打開壓縮包中的demo.html。復制想要的圖標到 i 標簽中,將 i 標簽插入到需要字體圖標的位置。
2)在css文件中聲明字體圖標:將壓縮包中的style.css前面的聲明代碼復制到我們的css文件中,修改成正確的路徑。
3)調用字體圖標。
font-style:normal ,去掉 i 默認的傾斜樣式
③手機京東下面的二維碼
如果直接在手機京東后加圖片,會把手機京東這幾個字擠下來
解決辦法:給它們開啟定位
3.logo部分
分析:
①左邊的logo
②搜索框
搜索欄和按鈕之間會有縫隙,按鈕較小時會被擠下來,讓他們都浮動即可解決
③購物車
④關鍵詞
⑤下邊的小導航
⑥右下角小廣告
知識點:
<!-- 頭部中間部分開始 --> <div class="w middle"> <div class="logo"> <h1> <!-- 提高權重 便利於搜索引擎優化 --> <a href="#"></a> </h1> </div> <!-- 搜索 --> <div class="form"> <input type="text" placeholder="筆記本電腦"> <!-- 按鈕的意思 雙標簽 等價於 <input type="button" value=""> --> <button> <i></i> </button> </div> <!-- 購物車 --> <div class="shopCar"> <i></i><a href="#" class="f10">我的購物車</a> <span>0</span> </div> <!-- 關鍵詞 --> <div class="hotwords"> <a href="#" class="f10">199減100</a> <a href="#">鼠標試用</a> <a href="#">農資7折</a> <a href="#">低至29元</a> <a href="#">抽獎贏空調</a> <a href="#">記憶棉</a> <a href="#">坐墊</a> <a href="#">1分錢買油</a> <a href="#">智能手表</a> </div> <!-- 小導航部分 --> <div class="navitems"> <ul> <li><a href="#">秒殺</a></li> <li><a href="#">優惠券</a></li> <li><a href="#">閃購</a></li> <li><a href="#">拍賣</a></li> <li class="space"></li> <li><a href="#">服裝城</a></li> <li><a href="#">京東超市</a></li> <li><a href="#">生鮮</a></li> <li><a href="#">全球購</a></li> <li class="space"></li> <li><a href="#">京東金融</a></li> </ul> </div> <!-- 超級日部分 --> <div class="super"> <a href="#"><img src="images/super.png" height="40" width="190" alt=""></a> </div> </div><!-- 頭部中間部分結束 -->
css:
/*頭部中間部分開始*/ .middle { height: 140px; position: relative; } .logo { position: absolute; top: -30px; left: 0; box-shadow: 0px -10px 10px rgba(0,0,0,.3); } .logo a { display: block; width: 190px; height: 170px; background: #fff url(../images/logo.png) no-repeat; } /* 搜索框 */ .form { width: 550px; height: 35px; position: absolute; top: 25px; left: 320px; } .form input { width: 495px; height: 33px; border: 1px solid #f10215; float: left; font-size: 14px; padding-left:3px; } .form button { width: 50px; height: 35px; background-color: #f10215; float: left; } .form button i { font-family: 'icomoon'; font-style: normal; color: #fff; } /* 購物車 */ .shopCar { width: 188px; height: 33px; line-height: 33px; border: 1px solid #ccc; position: absolute; top: 25px; right: 95px; background-color: #fff; text-align: center; color: #f10215; } .shopCar i { font-family: 'icomoon'; margin-right: 5px; font-style: normal; } .shopCar span { width: 15px; height: 15px; background-color: #f10215; border-radius: 50%; position: absolute; /* 加了絕對定位 固定定位 浮動的行內元素, 可以不用轉換,直接給寬度和高度 */ top: 5px; right: 30px; font-size: 12px; color: #fff; line-height: 15px; } /* 關鍵詞模塊 */ .hotwords { position: absolute; top: 68px; left: 320px; } /* 小導航模塊 */ .navitems { width: 770px; height: 40px; position: absolute; bottom: 0; left: 200px; line-height: 40px; } .navitems li { float: left; margin-left: 30px; } .navitems li a { font-size: 16px; font-weight: 700; color: #555; } .navitems li a:hover { color: #f10215; } .navitems .space { /* margin-top: 15px; margin-left:15px; margin-right: -15px; */ margin:15px -15px 0 15px; } /* 超級日 */ .super { position: absolute; bottom: 10px; right: 0; } /*頭部中間部分結束*/
底部
分析:footer標簽,里面兩個div
①多快好省部分
品類齊全···文字部分直接給margin-left,‘多’(使用雪碧圖)定位到文字左邊,不占空間
text-indent 設置負值,可以隱藏文字,一般是-999px。
li浮動后,脫離文檔流,高度坍塌,給父元素清除浮動即可
②購物指南部分
兩個部分,‘購物指南’那五欄整體左浮動,右邊‘京東自營覆蓋區縣’部分右浮動
sublime快捷鍵:快速到達某行,ctrl + g,輸入行數,回車
‘購物指南部分’用dd、dl標簽實現
box-sizing:border-box;(稍后補充相關知識點)
中間部分
准備工作:
頭部和底部屬於公共樣式,在css文件夾中再新建一個index.css,寫中間部分css樣式
模塊划分:
首先一個大盒子,給一個高度480px
大盒子中有左中右三個盒子
①左側分類部分
使用ul、li實現
撐開文字整體與盒子間上下左右的間距:
給ul設置上下padding
給li設置左右padding
撐開每行文字間的間距:
給li里的a設置margin
撐開行與行文字間的間距:
給li指定line-height
鼠標放置變色:
li:hover
a:hover
②中間banner部分
上邊一個大盒子,大盒子下面並排兩個小盒子,‘品’型。
箭頭垂直居中:
transform : translateY(-50%)
bug:左邊的箭頭跑出去了,稍后解決
圖片上翻頁的小圓點:
用ul,li + 浮動實現
③右側盒子模塊
模塊划分:
3個盒子組成,分別是登錄、促銷公告和服務模塊。
登錄模塊:
上邊登錄注冊部分+下部分(兩個按鈕)
上部分:寬度就是文字部分寬度,給圖片絕對定位
促銷公告模塊:
樣式沒生效可能是權重不夠的問題。
促銷下的紅線用一個單獨的div底邊框+定位實現
下半部分用ul+li實現
服務模塊:
用ul和li實現,每個li有個邊框。
給li設置浮動解決框框排成一豎排的問題
每個li盒子的寬度給多了,會擠到下一行,解決辦法:給ul的寬度調大一些,
使用overflow:hidden將右側和下側多余部分隱藏
④分類左側的彈出廣告部分
鼠標放到廣告條上,顯示一張大的廣告圖片
廣告條在左側分類大盒子里,再定位到左邊
動畫效果:過渡(一開始大圖片寬度設置為0,鼠標放上去大圖片寬度恢復)