教程配套源碼資源html
div 可定義文檔中的分區(division)。前端
div 標籤能夠把網頁分割爲獨立的、不一樣的部分。git
能夠當作如下結構:chrome
div不像 h1,p標籤,沒有任何默認樣式,其主要做用是標識網頁上的某塊區域。常見作法是經過給div元素加上id或class,而後經過css選中某個div,對其進行樣式美化。數據庫
<div class="demo">我是一個div</div>
<style> .demo{ color:red; font-size: 20px; } </style>
每一個div能夠當作一個盒子編程
一個盒子中主要的屬性有5個:width、height、padding、border、margin。以下:瀏覽器
width:內容的寬度。CSS中 width 指的是內容的寬度,而不是盒子的寬度。盒子的寬度=內容寬度+padding+border安全
height:內容的高度。CSS中 height 指的是內容的高度,而不是盒子的高度。盒子的高度=內容高度+padding+border微信
padding:內邊距。
border:邊框。
margin:外邊距。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div { width: 200px; height: 200px; background-color: gray; } </style> </head> <body> <div>我是一隻小小鳥</div> </body> </html>
屬性 說明 示例
border-top-color 上邊框顏色
border-top-color:#369;
border-right-color 右邊框顏色
border-right-color:#369;
border-bottom-color 下邊框顏色
border-bottom-color:#fae45b;
border-left-color 左邊框顏色
border-left-color:#efcd56;
border-color 四個邊框爲同一顏色
border-color:#eeff34;
上、下邊框顏色:#369
左、右邊框顏色:#000
border-color:#369 #000;
上邊框顏色:#369
左、右邊框顏色:#000
下邊框顏色:#f00
border-color:#369 #000 #f00;
上、右、下、左邊框顏色:
#36九、#000、#f00、#00f
border-color:#369 #000 #f00 #00f;
border-width:像素值
order-top-width:5px; border-right-width:10px; border-bottom-width:8px; border-left-width:22px; border-width:5px ; border-width:20px 2px; border-width:5px 1px 6px; border-width:1px 3px 5px 2px;
none
hidden
dotted
dashed
solid
double
border-top-style:solid; border-right-style:solid; border-bottom-style:solid; border-left-style:solid; border-style:solid ; border-style:solid dotted; border-style:solid dotted dashed; border-style:solid dotted dashed double;
同時設置邊框的顏色、粗細和樣式
border-bottom: 9px #F00 dashed ; border: 9px #F00 dashed ;
margin-top margin-right margin-bottom margin-left margin
margin-top: 1px margin-right : 2 px margin-bottom : 2 px margin-left : 1 px margin : 3 px 5 px 7 px 4 px; margin: 3px 5px; margin: 3px 5px 7px; margin: 8px;
網頁居中對齊
前提,居中對齊的網頁元素必須設定寬度。
margin:0px auto;
padding
padding-left padding-right padding-top padding-bottom padding
padding-left:10px; padding-right: 5px; padding-top: 20px; padding-bottom:8px; padding:20px 5px 8px 10px ; padding:10px 5px; padding:30px 8px 10px ; padding:10px;
盒子模型總尺寸=border-width+padding+內容寬度
box-sizing 是用於告訴瀏覽器如何計算一個元素是總寬度和總高度
box-sizing: content-box
width = content width;
height = content height
box-sizing: border-box
width = border + padding + content width
heigth = border + padding + content heigth
<div class="content-box">Content box</div> <br> <div class="border-box">Border box</div> <style> div { width: 160px; height: 80px; padding: 20px; border: 8px solid orange; background: pink; } /**元素的總寬度 = 160 + 20*2 + 8*2; 總高度 = 80 + 20*2 + 8*2 ; */ .content-box { box-sizing: content-box; } /** 元素的總寬度 = 160; 總高度 = 80px; */ .border-box { box-sizing: border-box; } </style>
content box:
border box:
總結一下:
1.對於給定width和height的元素,設置box-sizing屬性會影響盒子content width和 content height。
2.瀏覽器默認使用標準盒子模型,即box-sizing: content-box, 就是咱們所寫的寬度和高度就是對content 進行設置的。
3.在一些響應式佈局中,咱們修改了瀏覽器計算元素寬度、高度的方式,認爲元素的寬度和高度是包括內邊距padding和邊框border
不少標籤都有本身的默認樣式
咱們在chrome瀏覽器中運行時,能夠經過開發者工具(快捷鍵Ctrl+Shift+I)來一個個審查元素,來看看它們的默認樣式
body標籤的margin爲8px
p標籤的上下外邊距爲16px
h1標籤的上下外邊距爲21.440px
ul標籤的上下外邊距也爲16px,左內邊距也爲40px
爲了兼容性,凡是瀏覽默認的樣式,都不要使用。
重置默認樣式 (css reset)
/*默認樣式重置(css reset)*/ body,p,h1,h2,h3,h4,h5,h6,dl,dd{ margin: 0; font-size: 12px; /* 中文字體大小的最小值 */ /* font-family: xx; 也能夠設置字體 */ } ol,ul { list-style: none; /* 去除列表樣式 */ padding: 0; margin: 0; } a { color: #464646; text-decoration: none; } a:hover { color: #f60; text-decoration: underline; }
用來拾取演示,和測量長度的輕量級工具。
雙擊執行
彈出取色器,點擊按鈕
選擇屏幕標尺
測量
選擇屏幕取色器
隨意選取顏色
咱們書寫css的步驟應該按照由外及內,由上至下,由左到右的順序。
black-board.css
.black-board{ width: 220px; background-color: #f9f9f9; } .book-con{ padding: 10px; border:1px solid #eaeaea } .black-board h2{ font-size: 16px; } .black-board ul{ padding-top: 14px; padding-left: 20px; } .black-board li{ line-height: 22px; }
youlu-blackboard.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="reset.css"> <link rel="stylesheet" href="black-board.css"> </head> <body> <div class="black-board"> <div class="book-con"> <h2>黑板報</h2> <ul> <li><a href="#">2020秋季延遲發貨開啓</a></li> <li><a href="#">分享領佣金</a></li> <li><a href="#">助力2020開學季!包郵政策再</a></li> <li><a href="#">邀請有禮</a></li> </ul> </div> <div class="book-con"> <h2>購物指南</h2> <ul> <li><a href="#">支付寶擔保交易,安全快捷</a></li> <li><a href="#">保證24小時以內發貨</a></li> <li><a href="#">贈送積分,積分可用於支付</a></li> <li><a href="#">收貨後7天內能夠無理由退貨</a></li> <li><a href="#">提供電子商務小包、EMS、快遞</a></li> <li><a href="#">配送形成的全部損失由咱們承擔</a></li> <li><a href="#">提供免費短信提醒服務</a></li> </ul> </div> <div class="book-ad-con"> <img src="img/zhinan.jpg" alt=""> </div> </div> </body> </html>
行級(內聯)元素
塊級元素
內聯塊元素
a
strong
em
內嵌元素的特性:
1.默認同行能夠繼續跟同類型標籤
2.內容撐開寬度
3.不支持寬高
4.不支持上下的margin
span是一個特殊的行級標籤,和div(塊級標籤)同樣,沒有任何語義(樣式)。
一般用來着重顯示某行文字中的某個單詞
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> p{font-size:14px;} p .show,.rd span{font-size:36px; font-weight:bold; color:blue;} p #dream{font-size:24px; font-weight:bold; color:red;} </style> </head> <body> <p>積極推動<span class="show">「科學融入教育」</span>提供優質教育服務</p> <p>在東部數據,有一羣人默默支持你成就<span id="dream">IT夢想</span></p> <p class="rd">選擇<span>東部數據</span>,成就你的夢想</p> </body> </html>
p
div
h1~h6
ol-li
ul-li
dl-dt-dd
1.默認獨佔一行顯示
2.沒有寬度時,默認撐滿一排
3.支持全部css命令
left-category.css
.index-sort{ width: 208px; border: 1px solid #dcdcdc; border-top: 0; background-color: #FFFFFF; } .index-sort li{ border-bottom: 1px dotted #dcdcdc; padding: 0 10px 12px 26px; } .index-sort li h2{ font-size: 14px; line-height: 28px; padding-left: 8px; } .index-sort a{ line-height: 20px; margin: 0 3px; } .index-sort .yl-all-index{ font-size: 14px; line-height: 20px; padding: 10px; }
youlu-left-category.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="reset.css"> <link rel="stylesheet" href="left-category.css"> </head> <body> <div class="index-sort"> <ul class="cat-menu"> <li> <h2> 經濟管理 </h2> <div class="min-sort"> <a href="#">市場營銷</a> <a href="#">經濟學理論</a> <a href="#">國際貿易</a> <a href="#">物流管理</a> <a href="#">管理學原理</a> <a href="#">財務管理</a> </div> </li> <li> <h2> 文學藝術 </h2> <div class="min-sort"> <a href="#">設計</a> <a href="#">音樂</a> <a href="#">青春文學</a> <a href="#">繪畫</a> <a href="#">人物傳記</a> <a href="#">外國文學</a> </div> </li> <li> <h2> 人文社科 </h2> <div class="min-sort"> <a href="#">數學</a> <a href="#">英語教材</a> <a href="#">化學</a> <a href="#">日語</a> <a href="#">生物科學</a> <a href="#">專業英語</a> </div> </li> <li> <h2> 科學技術 </h2> <div class="min-sort"> <a href="#">語言與編程</a> <a href="#">電子通訊</a> <a href="#">電工電子</a> <a href="#">數據庫</a> <a href="#">建築工程</a> <a href="#">土木工程</a> </div> </li> <li> <h2> 生活休閒 </h2> <div class="min-sort"> <a href="#">家庭保健</a> <a href="#">美食烹飪</a> <a href="#">導遊必備</a> <a href="#">地理學理論</a> <a href="#">動漫卡通</a> <a href="#">球類</a> </div> </li> <li> <h2> 教育考試 </h2> <div class="min-sort"> <a href="#">教學理論</a> <a href="#">自考</a> <a href="#">研究生考試</a> <a href="#">考研英語</a> <a href="#">公務員考試</a> <a href="#">初高中用書</a> </div> </li> </ul> <h2 class="yl-all-index"> <a href="#">瀏覽全部圖書分類</a> </h2> <div class="book-ad-first"> <a href="#"> <img src="img/haoshu.jpg" alt="新書推薦"/> </a> </div> </div> </body> </html>
inline-block的特色:
元素在一行顯示
支持寬高
沒有寬度的時候內容撐開寬度
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> img { width: 300px; height: 200px; } </style> </head> <body> <img src="img/1.jpg"> <img src="img/2.jpg"> </body> </html>
控制元素的顯示和隱藏
塊級元素與行級元素的轉變
block 塊級元素的默認值,元素會被顯示爲塊級元素,該元素先後會帶有換行符
inline 內聯元素的默認值。元素會被顯示爲內聯元素,該元素先後沒有換行符
inline-block 內聯塊元素
none 設置元素不會被顯示
help-nav.css
.help{ height: 30px; line-height: 30px; padding-left: 10px; } .help a{ border-right: 1px solid gray; padding-right: 4px; padding-left: 2px; } .help .last{ border-right: 0 }
youlu-help-nav.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="reset.css"> <link rel="stylesheet" href="help-nav.css"> </head> <body> <div class="help"> <a href="#">如何購買</a> <a href="#">如何支付</a> <a href="#">舊書缺貨怎麼辦</a> <a href="#">配送方式與配送費</a> <a href="#">普通會員與VIP會員</a> <a href="#">有路積分說明</a> <a href="#">有路禮券說明</a> <a href="#">帳戶餘額說明</a> <a href="#">退款退貨說明</a> <a href="#" class="last">電子書購買說明</a> </div> </body> </html>
top-nav.css
.topBar{ height: 30px; line-height: 30px; width: 1200px; margin: 0 auto; background-color: #f4f4f4; } .topBar .topBarL{ display: inline-block; margin-right: 536px; } .topBar .topBarR{ display: inline-block; } .topBar .topBarR li{ display: inline-block; } .topBar .topBarR li a{ border-right: 1px solid gray; padding-left:4px; padding-right: 6px; } .topBar .login{ color: red; } .topBar .topBarR .last a{ border-right: 0; }
youlu-top-nav.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <link rel="stylesheet" href="reset.css"> <link rel="stylesheet" href="top-nav.css"> </head> <body> <div class="topBar"> <div class="topBarL"> <img src="img/welcome.jpg" alt=""> <span>您好,歡迎光臨有路網!</span> </div> <ul class="topBarR"> <li> <a href="#" class="login">請登錄</a> <a href="#" class="regist-link">免費註冊</a> </li> <li><a href="#">個人有路</a></li> <li> <a href="#">我要開店</a> </li> <li> <a href="#">團購批發</a> </li> <li><a href="#">客服服務</a></li> <li> <a href="#" class="menu-btn"> <img src="img/ico_phone.gif" />手機有路</a > </li> <li class="last"> <a href="#" class="menu-btn">微信公衆號</a> </li> </ul> </div> </body> </html>
背景圖像
background-image屬性
background-image:url(圖片路徑);
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div{ width: 800px; height: 600px; background-image: url("images/book.jpg"); } </style> </head> <body> <div> 擺渡人擺渡人擺渡人擺渡人 </div> </body> </html>
背景重複方式
background-repeat屬性
repeat:沿水平和垂直兩個方向平鋪
no-repeat:不平鋪,即只顯示一次
repeat-x:只沿水平方向平鋪
repeat-y:只沿垂直方向平鋪
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div{ width: 800px; height: 600px; background-image: url("images/book.jpg"); background-repeat: no-repeat; } </style> </head> <body> <div> 擺渡人擺渡人擺渡人擺渡人 擺渡人擺渡人擺渡人擺渡人 </div> </body> </html>
背景定位
background-position屬性
Xpos Ypos
單位:px
Xpos表示水平位置,Ypos表示垂直位置
X% Y%
使用百分比表示背景的位置
X、Y方向關鍵詞
水平方向的關鍵詞:left、center、right
垂直方向的關鍵詞:top、center、bottom
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> div{ width: 800px; height: 600px; border: 1px solid red; background-image: url("images/book.jpg"); background-repeat: no-repeat; background-position: bottom right; /* background-position: 50% 50%; */ } </style> </head> <body> <div> 擺渡人擺渡人擺渡人擺渡人 擺渡人擺渡人擺渡人擺渡人 </div> </body> </html>
.black-board li{ line-height: 22px; padding-left: 6px; background: url('img/point.gif') no-repeat left center; }