職業方向規劃定位:javascript
web
前端開發工程師css
web
網站架構師html
本身創業前端
轉崗管理或其餘html5
web
前端開發的前景展望:java
將來IT
行業企業需求最多的人才jquery
結合最新的html5
搶佔移動端的市場git
本身創業作老闆github
隨着互聯網的普及web
開發成爲企業的寵兒和核心web
web
職業發展目標:
第1、梳理知識架構
負責內容的HTML
負責外觀的css
(層疊樣式表)
負責行爲的js
ps
切圖
第2、分解目標(起步階段、提高階段、成型階段)
起步階段:
基本知識的掌握
經常使用工具的掌握
溝通技巧的掌握(圍繞客戶的需求)
良好的開發習慣(加註釋、對齊方式)
提高階段:
熟悉掌握HTML
基本標籤和屬性
熟練掌握css
的基本語法和使用
瀏覽器兼容和w3c標準的掌握
結合html
+css
+js
開始系統項目的開發
成型階段:
精通DIV
+CCS
佈局
精通css
樣式表控制html
標籤
熟悉運用js
製做動態網站的效果
能獨立開發完成網站
認識HTML:
html
不是一種編程語言,是一種標誌語言
標記語言是由一套標識標籤組成的
html
使用標籤來描述網頁
html
結構:
<html> <head></head> <body></body> </html>
不成對出現的標籤<br>
<hr>
<meta>
<img>
<input..>
<option..>
<link>
HTML 基本標籤的講解:
<html>
<head>
<body>
標籤
<h1>
----<h6>
僅僅用於標題文本,不要爲了產生粗體文本使用它們
<p>
標籤 段落標籤
<strong><b>
標籤
都會讓文字產生加粗效果
<strong>
用於強調文本,強度更深,表示重要文本--->用於SEO
優化
<b>
只是視覺加粗效果--->單純爲了產生加粗
<em>
<i>
標籤
em
用於強調文本
i
只是視覺斜體效果
<strong>
比<em>
強調更強
特殊符號:
 
; ---->空格
>
; --->大於號
<
;--->小於號
"
;--->引號
©
;-->版權號
HTMl
基本標籤:
span
標籤
對被用來組合文檔中的行內元素
注意:span沒有固定的格式表現,當對它應用樣式時,纔會產生視覺上的變化
<pre>
標籤
文字的格式按源碼的排版來顯示,咱們稱之爲預處理格式
<a>
標籤--->他有一個必不可少的屬性 href
target
屬性:
_self
(在原來頁面打開)
_blank
(新窗口打開)
_top
(打開時忽略全部的框架)
_parent
(在父窗口中打開)
建立錨點和錨連接
錨點也是一種超連接,是頁面內進行跳轉的超連接
第一步:建立錨點 <a name="錨點名稱"></a>
第二步:使用建立好的錨點名稱 <a href="#錨點名稱">內容</a>
marquee
標籤
能夠建立一個內容滾動效果
<marquee direction="down" loop="4" onmouseover=this.stop() onmouseout=this.start()></marquee>
direction
表示滾動方向,取值有(left,right,up,down,默認left)
loop
表示滾動循環的次數,默認爲無限循環
onmouseover=this.stop() onmouseover=this.start() scrollamout="1"(滾動速度)
表示當鼠標移上區域的時候中止滾動,鼠標移開繼續滾動
圖片標籤與路徑:
常見圖片格式 jpg
png
gif
Gif
(只支持全透明)
Jpeg
/jpg
Png
半/全透明都支持
圖片標籤寫法 :
<img src="" alt="" width="" height="" />
圖片四要素:
src=""
圖片路徑
alt=""
圖片含義
width=""
圖片寬度 和圖片大小保持一致
height=""
圖片高度 和圖片大小保持一致
title=""
路徑知識:
相對路徑、絕對路徑:
相對路徑:(Relative Path) 相對於該文件的路徑;
絕對路徑:(Absolute Path) 從磁盤出發的路徑;
<img src="" …… align="" />
align
屬性--設置圖片與後面文字的位置關係
值--top
、bottom
、middle
、absmiddle
、left
、right
在靜態頁面中:
/
開頭表示根目錄;
./
表示當前目錄;(斜畫線前面一個點)
../
上級目錄;(斜畫線前面兩個點)
直接用文件名不帶/也表示同一目錄
這些都是相對於當前文件的位置來講的,若是用絕對路徑的話就是寫全了。
三種列表的知識講解:
<ul>
無序列表
無序列表是一個沒有順序項目的列表,此列表項默認粗體圓點進行標識
<ul> <li></li> <li></li> <li></li> </ul>
<ol>有序列表
有序列表也是一列項目,只是列表項目使用的是數字進行標記。 有序列表始於 <ol>
標籤。每一個列表項始於 <li>
標籤。
<ol> <li>內容一</li> <li>內容二</li> <li>內容三</li> </ol>
列表符號
無序列表-列表符號:
type="circle"
空心圓 type=「disc」
實心圓 默認值 type="square"
方塊符
有序列表-列表符號
type="A"
A B C D
type="a"
a b c d
type="1"
1 2 3 4 默認值type="I" I II III type="i" i ii iii
列表嵌套
無序列表-嵌套
<ul> <li>柚子 <ul> <li>沙田柚</li> <li>蜜柚</li> </ul> </li> <li>荔枝</li> <li>蘋果</li></ul>
有序列表-嵌套
<ol> <li>茶 <ul> <li>紅茶</li> <li>綠茶</li> </ul> </li> <li>果汁</li> <li>牛奶</li></ol>
定義列表
定義列表不只僅是一列項目,而是項目及其註釋的組合。定義列表以 <dl>
標籤開始。每一個定義列表項以 <dt>
開始。每一個自定義列表項的定義以 <dd>
開始。
<dl> <dt>pc網頁製做</dt> <dd>學習DIV+CSS JS JQ 項目實戰</dd> <dt>手機網頁製做</dt> <dd>手機網頁製做實戰</dd> </dl>
dd
是對dt
的解釋
< dl>< /dl>
用來建立一個普通的列表,
< dt>< /dt>
用來建立列表中的上層項目,
< dd>< /dd>
用來建立列表中最下層項目,
< dt>< /dt>
和< dd>< /dd>
都必須放在< dl>< /dl>
標誌對之間。
<dl> <dt>中國城市</dt> <dd>北京 </dd> <dd>上海 </dd> <dd>廣州 </dd> <dt>美國城市</dt> <dd>華盛頓 </dd> <dd>芝加哥 </dd> <dd>紐約 </dd> </dl>
dl
是definition list
的縮寫
dt
是definition title
的縮寫
dd
是definition description
的縮寫
list-style
屬性具備三個屬性份量:
list-style-position
:設置列表項圖標的位置,位於文本內或者文本外
list-style-type
: 設置列表項圖標的類型
list-style-image
:使用圖像設置列表項圖標
表單標籤:
<form>
表單標籤
<form>
表單是一個包含表單元素的區域,包括起來的都是表單的內容
<form> <input type="text"/> </form>
HTML標籤 - Action
和確認按鈕:
當用戶單擊確認按鈕時,表單的內容會被傳送到另外一個文件。表單的動做屬性定義了目的文件的文件名。由動做屬性定義的這個文件一般會對接收到的輸入數據進行相關的處理。
<form action="html.do" method="get"> username: <input type="text" name="user" /> <input type="submit" value="提 交" /> </form>
HTML
標籤 - 隱藏域隱藏標籤:
隱藏域在頁面中對於用戶是不可見的,在表單中插入隱藏域的目的在於收集或發送信息,以利於被處理表單的程序所使用。瀏覽者單擊發送按鈕發送表單的時候,隱藏域的信息也被一塊兒發送到服務器
<form> <input type="hidden" name="hid" value="value"> </form>
<input>
標籤的掌握
經常使用type
類型:
<input type="" name="" value="" />
type="text"
單行文本輸入框
type="password"
密碼(maxlength=""
)
type="radio"
單項選擇(checked="checked"
)
type="checkbox"
多項選擇
type="button"
按鈕
type="submit"
提交 type="image"
圖片提交
type="file"
上傳文件
type="reset"
重置
type="hidden"
隱藏
關於表單中的設置默認值:
<input type="text" name="" value="今天心情不錯" /> <input type="radio" name="" value="" checked="checked"> <input type="checkbox" name="" value="" checked="checked">
<select name="" > <option value=""></option> <option value="" selected="selected"></option> <select>
textarea
沒有默認值
<label>
標籤的使用
<label></label>
label
元素不會向用戶呈現任何特殊效果。
不過,它爲鼠標用戶改進了可用性。
若是您在 label
元素內點擊文本,就會觸發此控件。
就是說,當用戶選擇該標籤時,瀏覽器就會自動將焦點轉到和標籤相關的表單控件上。
<label>
標籤的 for
屬性應當與相關元素的 id
屬性相同。
例子:(重要---註冊表單--用戶體驗--必作)
<p>單向選擇</p> <label for="male">男:</label><input type="radio" name="sex" id="male"/> <label for="nv">女:</label><input type="radio" name="sex"checked="check"/>
表單和表格標籤:
<textarea>
文本域標籤
<textarea>
標籤:
<textarea></textarea>
是文本域標籤,能夠在其中插入一段文字內容,它有兩個經常使用屬性rows
和cols
注意:
rows
表示這個文本域有多少行
cols
表示這個文本域有多少列
除了這兩個屬性它還有readonly
(只讀,文本域的內容沒法改變,至關於協議)和title
(鼠標放上提示)
<select>
標籤的掌握
注:當提交表單時,瀏覽器會提交選定的項目,或者收集用逗號分隔的多個選項,將其合成一個單獨的參數列表,而且在將 <select>
表單數據提交給服務器時包括 name
屬性
<form> <select name="" id=""> <option value="1">1月</option> <option value="2">2月</option> </select> </form>
經常使用到的屬性:disabled=「disabled」 name="sel" size="2"
<table>
表格標籤
<table>
表格標籤:<table>
是表格標籤,能夠用它定義一個表格。
<table border="1"> <tr> <td>姓名</td> <td>性別</td> </tr> </table>
注意:<table>
的border
屬性不能少
<tr>
<td>
標籤的使用
<tr>
行標籤:
<tr>
能夠定義表格中的一行,一個<tr></tr>
表示一行。
<table border="1"> <tr> <td>姓名</td> <td>性別</td> </tr> <tr> <td>姓名</td> <td>性別</td> </tr> </table>
<td>
單元格標籤:
<td>
能夠定義表格中的一個單元格,<td></td>
表示一個單元格。
<table border="1"> <tr> <td >姓名</td> <td>性別</td> <td>愛好</td> </tr> </table>
border-collapse
屬性設置是否將表格邊框摺疊爲單一邊框:
border-collapse:collapse
;
colspan
左右合併
rowspan
上下合併
第一部分總結:
非可視化標籤:head
meta
style
scrpit.
..
可視化標籤:img
div
span
a
ul
li
...
只有可視化標籤,才能用css
改變它
單標籤:meta
link
base
img
input
br
hr
雙標籤:html
head
body
div
a
p
span
..ul
li
ol
dl
....
經常使用可視化標籤
div
通常用它來佈局
a 超連接標籤
href
*屬性:設置跳轉的網頁地址
target
屬性:設置跳轉的目標
結論:凡事頁面能夠點擊跳轉或者表單提交的文字,都用a
標籤
img
src
*屬性用來設置圖片的url數據
alt
提供給搜索引擎搜索的
width
height
結論 :顯示圖片
ul li
列表
結論:只要未來設計頁面中有固定樣式的列表,就用ul和li
table
caption
tr
td (th)
慢慢已經被淘汰了 被ul li代替
若是是合併豎排的就是合併行(rowspan
)
若是是合併橫排的就是合併列(colspan
)
HTML部分導圖總結
css
基礎知識:
css
樣式表的定義
css
:(Cascading Style Sheets)層疊樣式表;
分類及位置:內部樣式-head
區域style
標籤裏面
外部樣式-link
調用
內聯樣式-標籤元素裏面
css
內的註釋:/*
註釋內容*
/
css
樣式表的語法
CSS
規則由兩個主要的部分構成:要添加樣式的盒子名或者標籤名、和要添加的樣式。
盒子名或者標籤名{屬性:值;}
CSS中幾種顏色的表示方法
用顏色名錶示
有17個預先肯定的顏色,它們是
aqua
, black
, blue
, fuchsia
, gray
, green
, lime
, maroon
, navy
,
olive
, orange,
purple
, red
, silver
, teal
, white
, and yellow
- **用十六進制的顏色值表示(紅、綠、藍)** - `#FF0000`或者`#F00 ` - **用rgb(r,g,b)函數表示** - 如:`rgb(255,255,0)` - **用hsl(Hue,Saturation,Lightness)函數表示(色調、飽和度、亮度)** - 如:`hsl(120,100%,100%)`,色調0表明紅色,`120`表明綠色,`240`表明
藍色
- **用`rgba(r,g,b,a)`函數表示 ** - 其中`a`表示的是改顏色的透明度,取值範圍是`0~1`,其中`0`表明徹底透明 - **用hsla(Hue,Saturation,Lightness,alpha)函數表示** - 色調、飽和度、亮度、透明度
例子
<div style="position:absolute;top:0px"> <div style="background-color:gray;">background-color:gray</div> <div style="background-color:#F00;">background-color:#F00</div> <div style="background-color:#ffff00;">background-color:#ffff00</div> <div style="background-color:rgb(255,0,255);">background-color:rgb(255,0,255)</div> <div style="background-color:hsl(120,80%,50%);">background-color:hsl(120,80%,50%)</div> <div style="background-color:rgba(255,0,255,0.5);">background-color:rgba(255,0,255,0.5)</div> <div style="background-color:hsla(120,80%,50%,0.5);">background-color:hsla(120,80%,50%,0.5)</div> </div>
內部樣式表
當單個頁面須要設置樣式時,就應該使用內部樣式表。
使用 <style></style>
標籤在文檔<head></head>
裏面定義內部樣式表
<head> <style type="text/css" > p{color:red;} </style> </head>
從外部引入到樣式分爲兩種:(注意寫在head
標籤裏面)
當樣式須要應用於不少頁面時,就須要用到外部樣式表,首先須要建立一個css
文件,而後引用到咱們的頁面中。
Link
樣式表式: <link rel=」stylesheet」 type=」text/css」 href=」my.css」(href表示路徑)>
Html
式: <style type="text/css">@import url("css.css");></style>
內聯樣式表(優先級高)
寫在標籤裏面的樣式
如:<p style="color:red;"></p>
表示給p
標籤裏面的文字顏色設置爲紅色
區別:外鏈樣式與導入樣式
link
標籤是屬於xhtml
範疇,而@import
則是css2.1
中特有的。link
標籤除了能夠加載CSS
外,還能夠作不少其它的事情,好比定義RSS
,定義rel
鏈接屬性等,@import
就只能加載CSS
了。
加載的順序的區別,link
加載的css
時,是一種並行(沒有嘗試是不是這樣)加載CSS
方式,而@impor
則在整個頁面加載完成後才加載。
兼容性的區別,因@import
`CSS2.1才特有的,因此對於不兼容
CSS2.1`的瀏覽器來講,無效。
在樣式控制上(好比動態改變網頁的佈局時,使用javascript
操做DOM
)的區別,此時@import
就無能爲力了。
樣式的優先級補充
相同權值狀況下,CSS
樣式的優先級總結來講,就是——就近原則(離被設置元素越近優先級別越高):
內聯樣式表(標籤內部)
> 嵌入樣式表(當前文件中)
> 外部樣式表(外部文件中)
權值不一樣時,瀏覽器是根據權值來判斷使用哪一種css
樣式的,哪一種樣式權值高就使用哪一種樣式
層疊優先級是:
瀏覽器缺省
< 外部樣式表
< 內部樣式表
< 內聯樣式
其中樣式表又有:類選擇器
< 類派生選擇器
< ID選擇器
< ID派生選擇器
派生選擇器之前叫上下文選擇器,因此完整的層疊優先級是:
瀏覽器缺省
< 外部樣式表
< 外部樣式表類選擇器
< 外部樣式表類派生選擇器
< 外部樣式表ID選擇器
< 外部樣式表ID派生選擇器
< 內部樣式表
< 內部樣式表類選擇器
< 內部樣式表類派生選擇器
< 內部樣式表ID選擇器
< 內部樣式表ID派生選擇器
< 內聯樣式
...共12
個優先級
另外,若是同一個元素在沒有其餘樣式的做用影響下,其Class
定義了多個並以空格分開,其優先級順序爲:
一個元素同時應用多個class
,後定義的優先(即近者優先),加上!important
者最優先!
css
選擇器:
class
類選擇器能夠重複利用
id
選擇器惟一
標籤選擇器
什麼是選擇器:css選擇器就是要改變樣式的對象
選擇器{屬性:值;屬性:值;}
標籤選擇器:頁面中全部的標籤都是一個選擇器 p{color:red;}
ID
選擇器
選擇id
命名的元素 以 #
開頭 #p1{color:#0f0;}
類選擇器
class
選擇器,選擇clas
命名的元素 以.
開頭 .first{color:#00f;}
css
代碼寫完後上線前要通過壓縮處理
本地和服務器分兩個css
版本(備份)
壓縮後註釋都清除,空間體積減小
羣組選擇器
選擇多個元素,以逗號隔開 #main,.first,span,a,h1{color:red;}
包含選擇器
選擇某元素的後代元素,也稱後代選擇器,父類與子類間以空格隔開p
span{color:red;}
屬性選擇器
選擇包含某一屬性的元素
a[title]{color:red;}
選擇包含title
的a
標籤
a[title][href]{color:red;}
選擇包含title
和href
的a
標籤
>
+
選擇器子類選擇器:只選擇子元素(只選擇兒子)(至關於包含元素)
p > span{color:red;}
相鄰兄弟選擇器:只選擇後面的相鄰兄弟元素
p + span{color:red;}
<a>
僞類選擇器
a:link {color:#FF0000;}
/ 未訪問的連接 / (只用於a標籤)
a:visited {color:#00FF00;}
/ 已訪問的連接 / (只用於a標籤)
a:hover {color:#FF00FF;}
/* 鼠標移動到連接上
*/
(可和其餘標籤結合一塊兒用)
a:active {color:#0000FF;}
/ 選定的連接 /
注意
僞類選擇器的排序很重要,a:link
a:visited
a:hover
a:active
,記做lvha
輸入僞類選擇器(針對表單)
input:focus{color:red;}
/ 鍵盤輸入焦點 /
其餘僞類選擇器
p:first-child{color:red;}
/* 第一個p *
/
:before
在元素以前添加內容。
:after
在元素以後添加內容。
css
優先規則
內聯樣式表-> ID
選擇器—> Class
類選擇器->標籤選擇器
背景屬性:
背景的添加 :
背景顏色的添加:
background:red;
backgronnd-color:red;
背景圖片的添加:
background:url(「images/1.jpg」);
backgronnd-image:url(「images/1.jpg」);
背景的平鋪
什麼是平鋪?平鋪就是圖片是否重複出現
不平鋪:background-repeat:no-repeat;
水平方向平鋪:background-repeat:repeat-x;
垂直方向平鋪:background-repeat:repeat-y;
徹底平鋪:默認爲徹底平鋪
背景圖片的定位
背景圖片的定位就是能夠設置顯示背景圖片的位置,經過屬性background-position
來實現
background-position
的取值可爲英文單詞或者數值和百分值。
background-positon
的英文單詞取值
top left
top center
top right
center left
center center
center right
bottom left
bottom center
ottom right
background-positon
的數值取值
background-position:x y;
positon
的百分值取值
background-position:x% y%;
背景圖片的大小
背景圖片的大小能夠經過屬性background-size
來設置background-size
的取值可爲數值和百分值。
background-size
的數值取值
background-size:x y;
background-size
的數值取值
background-size:x% y%;
背景圖片的滾動
背景圖片是否隨着內容的滾動而滾動由background-attachment
設置
background-attachment:fixed;
固定,不隨內容的滾動而滾動
background-attachment:scroll;
滾動,隨內容的滾動而滾動
css
文字文本屬性:
文字屬性
color:red;
文字顏色
font-size:12px
; 文字大小
font-weight:「bold」
文字粗細(bold/normal
)
font-family:「宋體」
文字字體
font-variant:small-caps
小寫字母以大寫字母顯示
文本屬性
text-align:center;
文本對齊(right
/left
/center
)
line-height:10px;
行間距(可經過它實現文本的垂直居中)
text-indent:20px;
首行縮進
text-decoration:none;
文本線(none
/underline
/overline
/line-through
)
letter-spacing
: 字間距
盒子模型
盒子模型就是一個有高度和寬度的矩形區域
全部html
標籤都是盒子模型
div
標籤自定義盒子模型
全部的標籤都是盒子模型
class
和id
的主要差異是:class
用於元素組(相似的元素,或者能夠理解爲某一類元素),而id
用於標識單獨的惟一的元素。
盒子模型的組成
盒子模型組成部分:
自身內容: width
、height
寬高
內邊距: padding
盒子邊框: border
邊框線
與其餘盒子距離: margin
外邊距
內容+內邊距+邊框+外邊距=面積
border
邊框
常見寫法 border:1px solid #f00;
單獨屬性:
border-width
:
border-style:
dotted
點狀虛線
dashed
(虛線)
solid
(實線)
double
(雙實線)
border-color
(顏色)
padding
內邊距
值:像素
/釐米
等長度單位、百分比
padding:10px;
上下左右
padding:10px 10px;
上下 左右
padding:10px 10px 10px;
上 左右 下
padding:10px 10px 10px 10px;
上 右 下 左(設置4個點-->順時針方向)
單獨屬性:
- `padding-top:` - `padding-right:` - `padding-bottom:` - ` padding-left:`
當設置內邊距的時候會把盒子撐大,爲了保持盒子原來的大小,應該高度和寬度進行減少,根據width
和height
減少
margin 外邊距
值:與padding
相同
單獨屬性:與padding
相同
外邊距合併:兩個盒子同時設置了外邊距,會進行一個外邊距合併
補充盒子模型內容
標準盒子模型
盒子模型是css
中一個重要的概念,理解了盒子模型才能更好的排版。其實盒子模型有兩種,分別是 ie
盒子模型和標準 w3c
盒子模型。他們對盒子模型的解釋各不相同,先來看看咱們熟知的標準盒子模型
從上圖能夠看到標準 w3c
盒子模型的範圍包括 margin
、border
、padding
、content
,而且 content
部分不包含其餘部分
IE盒子模型
從上圖能夠看到 ie
盒子模型的範圍也包括 margin
、border
、padding
、content
和標準 w3c
盒子模型不一樣的是:ie
盒子模型的 content
部分包含了 border
和 padding
IE
盒子模型width
= padding
+border
+內容
標準盒子模型 = 內容的寬度(不包含border
+padding
)
例:
一個盒子的 margin
爲 20px,border
爲 1px,padding
爲 10px,content
的寬爲 200px、高爲 50px,假如用標準 w3c
盒子模型解釋,那麼這個盒子須要佔據的位置爲:寬 20*2+1*2+10*2+200=262px
、高 20*2+1*2*10*2+50=112px
,盒子的實際大小爲:寬 1*2+10*2+200=222px
、高 1*2+10*2+50=72px
;假如用ie 盒子模型,那麼這個盒子須要佔據的位置爲:寬 20*2+200=240px
、高 20*2+50=70px
,盒子的實際大小爲:寬 200px
、高 50px
那應該選擇哪中盒子模型呢?固然是「標準 w3c
盒子模型」了。怎麼樣纔算是選擇了「標準 w3c
盒子模型」呢?很簡單,就是在網頁的頂部加上 doctype
聲明。
假如不加 doctype
聲明,那麼各個瀏覽器會根據本身的行爲去理解網頁,即 ie
瀏覽器會採用 ie
盒子模型去解釋你的盒子,而 ff
會採用標準 w3c
盒子模型解釋你的盒子,因此網頁在不一樣的瀏覽器中就顯示的不同了。
反之,假如加上了 doctype
聲明,那麼全部瀏覽器都會採用標準 w3c
盒子模型去解釋你的盒子,網頁就能在各個瀏覽器中顯示一致了。
用 jquery
作的例子來證明一下
<html> <head> <title>你用的盒子模型是?</title> <script language="javascript" src="jquery.min.js"></script> <script language="javascript"> var sbox = $.boxmodel ? "標準w3c":"ie"; document.write("您的頁面目前支持:"+sbox+"盒子模型"); </script> </head> <body> </body> </html>
上面的代碼沒有加上 doctype
聲明,在 ie
瀏覽器中顯示 ie
盒子模型,在 ff 瀏覽器中顯示「標準w3c
盒子模型」。
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html> <head> <title>你用的盒子模型是標準w3c盒子模型</title> <script language="javascript" src="jquery.min.js"></script> <script language="javascript"> var sbox = $.boxmodel ? "標準w3c":"ie"; document.write("您的頁面目前支持:"+sbox+"盒子模型"); </script> </head> <body> </body> </html>
代碼2 與代碼1 惟一的不一樣的就是頂部加了 doctype
聲明。在全部瀏覽器中都顯示「標準 w3c
盒子模型」
因此爲了讓網頁能兼容各個瀏覽器,讓咱們用標準 w3c
盒子模型
擴展
基本概念
塊級元素:默認狀況下獨佔一行的元素,可控制寬高、上下邊距;
行內元素:默認狀況下一行能夠擺放多個的元素,不可控制寬高和上下邊距
行塊轉換
display:none
; 不顯示
display:block
; 變成塊級元素
display:inline
; 變成行級元素
display:inline-block
; 以塊級元素樣式展現,以行級元素樣式排列
溢出
overflow:hidden
; 溢出隱藏
overflow:scroll
; 內容會被修剪,瀏覽器會顯示滾動條
overflow:auto
; 若是內容被修剪,則產生滾動條
文本不換行:white-space:nowrap
;
長單詞換行:word-wrap:break-word
;
行內元素和快級元素小結
1、塊級元素:block element
每一個塊級元素默認佔一行高度,一行內添加一個塊級元素後沒法通常沒法添加其餘元素(float
浮動後除外)。兩個塊級元素連續編輯時,會在頁面自動換行顯示。塊級元素通常可嵌套塊級元素或行內元素;
塊級元素通常做爲容器出現,用來組織結構,但並不全是如此。有些塊級元素,如只能包含塊級元素。
DIV
是最經常使用的塊級元素,元素樣式的display:block
都是塊級元素。它們老是以一個塊的形式表現出來,而且跟同級的兄弟塊依次豎直排列,左右撐滿。
2、行內元素:inline element
也叫內聯元素、內嵌元素等;行內元素通常都是基於語義級(semantic)的基本元素,只能容納文本或其餘內聯元素,常見內聯元素 「a」。好比 SPAN
元素,IFRAME
元素和元素樣式的display : inline
的都是行內元素。例如文字這類元素,各個字母 之間橫向排列,到最右端自動折行。
3、block(塊)元素的特色:
①、老是在新行上開始;
②、高度,行高以及外邊距和內邊距均可控制;
③、寬度缺省是它的容器的100%,除非設定一個寬度。
④、它能夠容納內聯元素和其餘塊元素
4、inline元素的特色
①、和其餘元素都在一行上;
②、高,行高及外邊距和內邊距不可改變;
③、寬度就是它的文字或圖片的寬度,不可改變
④、內聯元素只能容納文本或者其餘內聯元素
對行內元素,須要注意以下:
設置寬度width
無效。 設置高度height
無效,能夠經過line-height
來設置。 設置margin
只有左右margin
有效,上下無效。
設置padding
只有左右padding
有效,上下則無效。注意元素範圍是增大了,可是對元素周圍的內容是沒影響的。
5、常見的塊狀元素
address
– 地址
blockquote
– 塊引用
center
– 舉中對齊塊
dir
– 目錄列表
div
– 經常使用塊級容易,也是CSS layout
的主要標籤
dl
– 定義列表
fieldset
– form
控制組
form
– 交互表單
h1
– 大標題
h2
– 副標題
h3
– 3級標題
h4
– 4級標題
h5
– 5級標題
h6
– 6級標題
hr
– 水平分隔線
isindex
– input prompt
menu
– 菜單列表
noframes
– frames
可選內容,(對於不支持frame的瀏覽器顯示此區塊內容
noscript
– 可選腳本內容(對於不支持script
的瀏覽器顯示此內容)
ol
– 有序表單
p
– 段落
pre
– 格式化文本
table
– 表格
ul
– 無序列表
6、常見的內聯元素
a
– 錨點
abbr
– 縮寫
acronym
– 首字
b
– 粗體(不推薦)
bdo
– bidi override
big
– 大字體
br
– 換行
cite
– 引用
code
– 計算機代碼(在引用源碼的時候須要)
dfn
– 定義字段
em
– 強調
font
– 字體設定(不推薦)
i
– 斜體
img
– 圖片
input
– 輸入框
kbd
– 定義鍵盤文本
label
– 表格標籤
q
– 短引用
s
– 中劃線(不推薦)
samp
– 定義範例計算機代碼
select
– 項目選擇
small
– 小字體文本
span
– 經常使用內聯容器,定義文本內區塊
strike
– 中劃線
strong
– 粗體強調
sub
– 下標
sup
– 上標
textarea
– 多行文本輸入框
tt
– 電傳文本
u
– 下劃線
七,可變元素
可變元素爲根據上下文語境決定該元素爲塊元素或者內聯元素。
applet
- java applet
button
- 按鈕
del
- 刪除文本
iframe
- inline frame
ins
- 插入的文本
map
- 圖片區塊(map
)
object
- object
對象
script
- 客戶端腳本
8、行內元素與塊級元素有什麼不一樣
區別一:
塊級:塊級元素會獨佔一行,默認狀況下寬度自動填滿其父元素寬度
行內:行內元素不會獨佔一行,相鄰的行內元素會排在同一行。其寬度隨內容的變化而變化。
區別二:
塊級:塊級元素能夠設置寬高
行內:行內元素不能夠設置寬高
區別三:
塊級:塊級元素能夠設置margin
,padding
行內:行內元素水平方向的margin-left;
margin-right;
padding-left;
padding-right
;能夠生效。可是豎直方向的margin-bottom
; margin-top
; padding-top
; padding-bottom
;卻不能生效。
區別四:
塊級:display:block
;
行內:display:inline
;
替換元素有以下:(和img
同樣的設置方法)
<img>
、<input>
、<textarea>
、<select>
<object>
都是替換元素,這些元素都沒有實際的內容
能夠經過修改display
屬性來切換塊級元素和行內元素
static
靜態定位(不對它的位置進行改變,在哪裏就在那裏)
默認值。沒有定位,元素出如今正常的流中(忽略 top
, bottom,
left, right
或者 z-index
聲明)。
fixed
固定定位(參照物--瀏覽器窗口)---作 彈窗廣告用到
生成固定定位的元素,相對於瀏覽器窗口進行定位。 元素的位置經過 "left"
, "top"
, "right"
以及 "bottom"
屬性進行規定。
relative
(相對定位 )(參照物以他自己)
生成相對定位的元素,相對於其正常位置進行定位。
absolute
(絕對定位)(除了static
均可以,找到參照物-->與它最近的已經有定位的父元素進行定位)
生成絕對定位的元素,相對於 static
定位之外的第一個父元素進行定位。
元素的位置經過 "left"
, "top"
, "right"
以及 "bottom"
屬性進行規定
z-index
z-index
屬性設置元素的堆疊順序。擁有更高堆疊順序的元素老是會處於堆疊順序較低的元素的前面。
定位的基本思想: 它容許你定義元素框相對於其正常位置應該出現的位置,或者相對於父元素、另外一個元素甚至瀏覽器窗口自己的位置。
一切皆爲框
塊級元素: div
、h1
或p
元素 即:顯示爲一塊內容稱之爲 「塊框「 ;
行內元素: span
,strong
,a
等元素 即:內容顯示在行中稱 "行內框";
使用display屬性改變成框的類型 即:display:block
; 讓行內元素設置爲塊級元素,display:none;
沒有框
相對定位:
若是對一個元素進行相對定位,它將出如今它所在的位置上。
經過設置垂直或水平位置,讓這個元素「相對於」它的起點進行移動
.adv_relative { position: relative; left: 30px; top: 20px; }
絕對定位:
元素的位置相對於最近的已定位祖先元素,若是元素沒有已定位 的祖先元素,它的位置相對於最初的包含塊。 .adv_absolute { position: absolute; left: 30px; top: 20px; }
frameset
框架:
<frameset>
---- 用來定義一個框架;雙標籤
不能和 <body>
一塊兒使用
rows
、cols
屬性
rows
定義行表示框架有多少行(取值 px
/ %
/ *
)
cols
定義列表示框架有多少列(取值 px
/ %
/ *
)
frame子框架
<frame
> ---- 表示框架中的某一個部分;單標籤,要跟結束標誌
src
顯示的網頁的路徑
name
框架名
frameborder
邊框線(取值 0 / 1)
<noframes
>屬性
<noframes
> 提供不支持框架的瀏覽器顯示body
的內容;雙標籤
<frameset> <frame src=「」 /> <frame src=「」 /> <frame src=「」 /> <noframes> <body>內容</body> </noframes> </frameset>
<iframe>
內聯框架
iframe
元素會建立包含另一個文檔的內聯框架(即行內框架)
容許和 body
一塊兒使用
width
寬(取值 px / %)
height
高(取值 px / %)
name
框架名
frameborder
邊框線(取值 0 / 1)
src
顯示的網頁的路徑
opacity
透明屬性
opacity
對於IE6/7/
,使用filter:alpha(opacity:值;
) 值爲0-100
對於Webkit
,Opera
,Firefox
,IE9+
,使用opacity
:值; 值爲0-1
對於早期火狐,使用-moz-opacity
:值; 值爲0-1
因此寫透明屬性時,通常寫法是
{ opacity:0.5; filter:alpha(opacity:50);/*0-100*/ -moz-opacity:0.5; /*取值0-1*/-->針對早起版本的火狐兼容問題的解決 }
border-radius
圓角邊框屬性
向 div
元素添加圓角邊框
border-radius:10px
;
box-shadow
陰影屬性
box-shadow
屬性向框添加陰影效果,後面跟4個參數。
box-shadow:0px 0px 10px #000;
<embed>
屬性
是HTML5
中新增的標籤,媒體嵌入插件標籤,能夠經過<embed>
插入音頻或視頻
<embed src=「media/music.mp3」 />
格式.mid
.wav
.mp3
等
CSS部分導圖總結
原文件下載地址 訪問密碼 342a
企業DIV
使用頻率高的命名方法
網頁內容類
標題: title
摘要: summary
箭頭: arrow
商標: label
網站標誌: logo
轉角/圓角: corner
橫幅廣告: banner
子菜單: subMenu
搜索: search
搜索框: searchBox
登陸: login
登陸條:loginbar
工具條: toolbar
下拉: drop
標籤頁: tab
當前的: current
列表: list
滾動: scroll
服務: service
提示信息: msg
熱點:hot
新聞: news
小技巧: tips
下載: download
欄目標題: title
熱點: hot
加入: joinus
註冊: regsiter
指南: guide
友情連接: friendlink
狀態: status
版權: copyright
按鈕: btn
合做夥伴: partner
投票: vote
左右中:left
right
center
---
註釋的寫法: /* Footer */
內容區/* End Footer */
id的命名:
頁面結構
容器: container
頁頭:header
內容:content
/container
頁面主體:main
頁尾:footer
導航:nav
側欄:sidebar
欄目:column
頁面外圍控制總體佈局寬度:wrapper
左右中:left
right
center
---
導航
導航:nav
主導航:mainbav
子導航:subnav
頂導航:topnav
邊導航:sidebar
左導航:leftsidebar
右導航:rightsidebar
菜單:menu
子菜單:submenu
標題: title
摘要: summary
---
功能
標誌:logo
廣告:banner
登錄:login
登陸條:loginbar
註冊:regsiter
搜索:search
功能區:shop
標題:title
加入:joinus
狀態:status
按鈕:btn
滾動:scroll
標籤頁:tab
文章列表:list
提示信息:msg
當前的: current
小技巧:tips
圖標: icon
註釋:note
指南:guild
服務:service
熱點:hot
新聞:news
下載:download
投票:vote
合做夥伴:partner
友情連接:link
版權:copyright
class
的命名:
顏色:使用顏色的名稱或者16進制代碼,如
.red { color: red; }
.f60 { color: #f60; }
.ff8600 { color: #ff8600; }
字體大小,直接使用"font+字體大小"做爲名稱,如
.font12px { font-size: 12px; }
.font9px {font-size: 9pt; }
對齊樣式,使用對齊目標的英文名稱,如
.left { float:left; }
.bottom { float:bottom; }
標題欄樣式,使用"類別+功能"的方式命名,如
.barnews { }
.barproduct { }
---
注意事項::
一概小寫;
儘可能用英文;
不加中槓和下劃線;
儘可能不縮寫,除非一看就明白的單詞.
---
推薦的 CSS
書寫順序:
顯示屬性
display
list-style
position
float
clear
自身屬性
width
height
margin
padding
border
background
文本屬性
color
font
text-decoration
text-align
vertical-align
white-space
other text
content
CSS精靈原理以及應用
CSS
雪碧的基本原理是把你的網站上用到的一些圖片整合到一張單獨的圖片中,從而減小你的網站的HTTP請求數量。
該圖片使用CSS
background和background-position
屬性渲染,這也就意味着你的標籤變得更加複雜了,圖片是在CSS
中定義,而非<img>
標籤。
一個簡單的例子:
一張圖片做出一個按鈕的三個狀態
一個連接用CSS
作成按鈕的樣式,咱們可使用同一張圖片,完成按鈕的三個狀態,a:link
,a:hover
,a:active
<a class="button" href="#">連接</a>
加入右側的圖片爲:200px 65px
的三個按鈕圖拼合而成的圖片button.png
,從上到下一次爲按鈕的普通、鼠標滑過、鼠標點擊的狀態。則可使用CSS
進行定義。
a { display:block; width:200px; height:65px; line-height:65px; /*定義狀態*/ text-indent:-2015px; /*隱藏文字*/ background-image:url(button.png); /*定義背景圖片*/ background-position:0 0; /*定義連接的普通狀態,此時圖像顯示的是頂上的部分*/ } a:hover { background-position:0 -66px; /*定義連接的滑過狀態,此時顯示的爲中間部分,向下取負值*/ } a:active { background-position:0 -132px; /*定 義連接的普通狀態,此時顯示的是底部的部分,向下取負值*/ }
更多的CSS
雪碧,圖片更復雜,背景定位更精確。可能會用到大量的數值
如:background:url(nav.png) -180px 24pxno-repeat
; 來達到更精確的定位
優勢:
減小加載網頁圖片時對服務器的請求次數
能夠合併多數背景圖片和小圖標,方便在任何位置使用,這樣不一樣位置的請求只須要調用一個圖片,從而減小對服務器的請求次數,下降服務器壓力,同時提升了頁面的加載速度,節約服務器的流量。
提升頁面的加載速度
sprite
技術的其中一個好處是圖片的加載時間(在有許多 sprite
時,單張圖片的加載時間)。由所需圖片拼成的一張 GIF
圖片的尺寸會明顯小於全部圖片拼合前的大小。單張的 GIF
只有相關的一個色表,而單獨分割的每一張 GIF
都有本身的一個色表,這就增長了整體的大小。所以,單獨的一張 JPEG
或者 PNG
sprite
在大小上很是可能比把一張圖分紅多張得來的圖片總尺寸小。
減小鼠標滑過的一些bug
IE6
不會主動預加載鼠標滑過即a:hover
中的背景圖片,因此,若是使用多張圖片,鼠標滑過會出現閃白的現象。使用CSS
雪碧,因爲一張圖片便可,因此不會出現這種現象。
不足:
CSS
雪碧的最大問題是內存使用
影響瀏覽器的縮放功能
拼圖維護比較麻煩
使CSS
的編寫變得困難
CSS
雪碧調用的圖片不能被打印
錯誤得使用 Sprites
影響可訪問性