shape=“circle”
coords=“309,257,20”target=“_blank”
href=“http://5新標(biāo)簽
number:數(shù)字輸入
date picker:日期選擇
datalist:自動提示
sichuan chongqing guangzhou shanghai beijing tianjin
video:動畫
媒體
radio:音頻
autocomplete:是否關(guān)閉自動提示(off |
on)html5新標(biāo)簽
autofocus: 自動獲得
焦點(diǎn)
required: 表示控件
必須輸入內(nèi)容
controls : 播放控制條
autoplay :自動播放
loop :循環(huán)播放preload :預(yù)加載,如果設(shè)置了autoplay,就可以不用設(shè)置preload
CSS知識點(diǎn)總結(jié)
內(nèi)聯(lián):直接在標(biāo)簽的style屬性上編寫
樣式 樣式定義方式
樣式塊:在style標(biāo)簽中編寫樣式塊,并通過一定規(guī)則(選擇器)應(yīng)用到對應(yīng)的那些標(biāo)簽上(通常寫在head中)
外部樣式文件:將樣式塊編寫在外部的css文件中(不用寫style標(biāo)簽)* 在需要使用樣式的頁面通過link標(biāo)簽引入樣式文件(通常寫在head中)
id選擇器#xxx 針對id為xxx的標(biāo)簽
類選擇器.xxx 針對class屬性為xxx的標(biāo)
簽
標(biāo)簽選擇xxx 針對標(biāo)簽名為xxx的標(biāo)簽
*選擇器選擇所有元素選擇器
后代元素關(guān)系選擇selector1 selector2 {...} 針對selector1下的所有的selector2
子元素關(guān)系選擇selector1 > selector2 {...} 只針對selector1的selector2子元素(如果有后代selector2元素則不會應(yīng)用)
緊鄰兄弟關(guān)系選擇selector1 + selector2 {...} 只針對緊接在selector1后的selector2元素
所有隨后的兄弟關(guān)系selector1 ~ selector2 {...} 針對selector1后的所有的selector2兄弟元素
color:字體顏色
font-size:字體大小
font-family:字體樣式
字體
font-weight: bolder(加粗)| normal(不加粗)font-style: 設(shè)置字體傾斜(normal | italic | oblique)*italic和oblique實際顯示效果
幾乎一致font-variant: 設(shè)置字體顯示為小型大寫字母
text-align: 水平對齊方式(left | center | right)常用屬性
vertical-align: 垂直對齊方式(top | middle |
bottom)
line-height: 設(shè)置行高(通常用于設(shè)置文本居
中)
white-space: nowrap 不換行, pre 當(dāng)做pre標(biāo)簽
border: 邊框(1px solid
red)
文本
width: 寬度
underline 下劃線
height: 高度
overline 上劃線
text-decoration: 文本裝
飾
line-through 貫穿線(刪
除線)
blink 閃爍
none 無
dtext-shadow: 3px 3px 5px red;第一個參數(shù): 陰影水平位置(x軸上的偏移量)
text-shadow: 文本陰影
第二個參數(shù): 陰影垂直位置(y軸上的偏移量)
第三個參數(shù): 模糊程度第四個參數(shù): 陰影顏色
padding:內(nèi)邊距
padding: xxpx;
padding: xxpx xxpx;
padding: xxpx xxpx xxpx;
padding: xxpx xxpx xxpx xxpx;padding: auto;
padding: xxpx auto;padding-toppadding-leftpadding-rightpadding-bottom盒子模型
margin:外邊距
margin: xxpx;
margin: xxpx xxpx;
margin: xxpx xxpx xxpx;
margin: xxpx xxpx xxpx xxpx;margin: auto;
margin: xxpx auto;margin-topmargin-leftmargin-rightmargin-bottom
border:邊框
color:顏色;width:寬度;
style:outset|inset|solid|double|dottedborder-radius: 10px;/* 同時設(shè)置4個角*/
background-color: 背景顏色
background-image: 背景圖片
background-repeat: no-repeat | repeat-x |
repeat-y | repeat背景
background-position: xxxpx xxpx | xx%
xx%;(可以為負(fù)數(shù))
background-size: xxxpx xxpx | xx% xx% |
cover | contain;(不能為負(fù)數(shù))
cover: 拉伸,可以超出contain: 拉伸不能超出
background-attachment: scroll(隨著內(nèi)容
一起滾動)| fixed(不滾動)
hidden:隱藏
scroll:滾動
overflow:當(dāng)內(nèi)容溢出
時的處理方式
visible:直接顯示
auto:如果溢出就滾動,否則不顯示滾動條
visible 顯示
visibility:設(shè)置元素是
否顯示
hidden 隱藏,保留占位
none:隱藏,不保留占
位
block:設(shè)置為塊級元
素
display:設(shè)置元素是否
顯示
inline:設(shè)置為行級元
素
布局
inline-block:設(shè)置為行
內(nèi)塊元素
left 左浮動
float: 浮動right 右浮動
none 不浮動
left 不允許左邊有浮動
clear: 清除浮動right 不允許右邊有浮動
both 不允許兩邊有浮動
ul或ol 自帶樣式:
列表樣式
list-style-type: 列表項的樣式
margin: 16px 0px;padding: 0px 0px 0px
40px;
absolute:如果有父元素被定位按照父元素的原點(diǎn)進(jìn)行定位,否則按照瀏覽器原點(diǎn)進(jìn)行定位
position
定位
z-index: 設(shè)置z軸的值,越大越在最前
relative:相對定位參照元素本身的位置
fixed:固定位置,不
會滾動
link 超鏈接默認(rèn)樣式
hover 鼠標(biāo)懸停樣式
active 鼠標(biāo)點(diǎn)擊樣式
visited 訪問之后的樣式(主要控制顏色)
偽類
focus 獲得輸入焦點(diǎn)的樣式
first-child 第一個元素
last-child 最后一個元素
:not 不包含指定的選
擇器
:noly-child 是父元素的唯
一子元素
cursor 鼠標(biāo)樣式
其他樣式
box-shadow 陰影
translate:平移
rotate:旋轉(zhuǎn)transform:變換
scale:縮放
skew:扭曲
matrix:以變換矩陣變換
第一個值表示需要過渡的樣式屬性transition 過渡
transition:transform2s,background-color.5s;
第二個值表示整個過渡過程需要的時間第三個值表示過渡時的貝塞爾曲線第四個值表示延遲多久才開始過渡animation 動畫
@keyfarmes 關(guān)鍵幀用于定義動畫的細(xì)節(jié)(每一幀如何顯示)
@keyframes myanimation {0% { background-color: #cfc;}30% {
background-color: #ccf;border-radius: 50px;}80% {
width: 300px;
background-color: #fcc;}
100% {
width: 300px;height: 300px;
background-color: #000;}}
@-o-keyframes myanimation {}@-ms-keyframes myanimation {}@-moz-keyframes myanimation {}@-webkit-keyframes myanimation {}
需要顯示動畫的地方通過animation屬性來使用聲明的關(guān)鍵幀
.ac:active {
animation: myanimation 5s;-o-animation: myanimation 5s;-ms-animation: myanimation 5s;-moz-animation: myanimation 5s;-webkit-animation: myanimation 5s;}opacity透明度從0.0 ~ 1.0 0.0完全透明,1.0 完全不透明瀏覽器兼容前綴
-webkit-chrome,safari, opera-o-opera
-moz-firefox
-ms-ie(ie9以上)
JavaScript
javascript代碼必須包含在標(biāo)簽中
也可以書寫到外部的.js文件中,通過來引入
script標(biāo)簽只能同時做一件事情.如果既有src屬性也包含代碼則只會執(zhí)行外部文件的代碼
通過alert來彈出提示框
通過document.write來輸入文本到頁面上(可以輸入標(biāo)簽)Number: 數(shù)值型整數(shù)和小數(shù)Boolean: 布爾型(true |
false)
String: 字符串
字符串必須被”“或''包含必須對稱
如果字符串中包含引號可以單引號中包含雙引號或者是雙引號中包含單引號
也可以使用'來表示一個單引號”來表示一個雙引號
n 表示換行數(shù)據(jù)類型
t 表示制表符表示書寫方式
NaN: Not A Number 當(dāng)使用非數(shù)字來進(jìn)行運(yùn)算時的值
undefied: 未定義
null: 空值
substring 截取子串, 從start到end-1處,如果
沒指定end則取到最后一個字符
toUpperCase 將所有字符變成大寫
toLowerCase 將所有字符變成小寫
indexOf 查找子串首次出現(xiàn)的位置, 如果找不到則
返回-1字符串處理
lastIndexOf 查找子串最后一次出現(xiàn)的位置, 如果找不到則返回-1charAt 取指定位置上的字符slice 也是取子串,效果和substring一樣可以用-1,-2,-3...從末尾
開始計數(shù)split 將字符串按照指定的字符進(jìn)行拆分成為數(shù)組
獲取當(dāng)前時間var now = new Date()
獲取指定時間的日期對象
var date = new Date(yyyy,MM,dd,HH,mm,ss)
設(shè)置指定時間(將時間對象設(shè)置為一個指定時間)
now.setFullYear(yyyy,MM,dd,HH,mm,ss)
now.setMonth日期Date
now.setDatenow.setHours
...獲取指定時間信息
now.getFullYear()// 年只能取出年份,如: 2015
now.getMonth // 月0-11月
now.getDate // 日
now.getDay // 星期0-6(0表示星期天)
now.getHours // 時24小時制
now.getMinutes // 分now.getSeconds // 秒now.getMilliseconds// 毫秒
通過new Array()來創(chuàng)建數(shù)組var names = new Array();
var names = new Array(“小王”, “大王”, “炸彈”);// 創(chuàng)建時給數(shù)組設(shè)置默認(rèn)值
//用json格式表示數(shù)組
var names = [];
var names = [“小王”, “大王”, “炸彈”];數(shù)組Array
可以通過length來設(shè)置或獲取數(shù)組的長度
push : 往數(shù)組末尾添加元素
pop: 刪除并返回數(shù)組的最后一個元素unshift: 往數(shù)組的開頭添加元素shift: 刪除并返回數(shù)組的第一個元素reverse: 顛倒數(shù)組順序
sort: 按“字符串”的自然排序規(guī)則進(jìn)行升序
splice: 刪除指定位置處的指定個數(shù)元素并將第三個參數(shù)之后的參數(shù)添加到被刪除位置(設(shè)置第二個參數(shù)為0則實現(xiàn)只添加不刪除, 之傳入兩個參數(shù)實現(xiàn)只刪除不添加)
slice: 獲取start到end處的子數(shù)組
join: 將數(shù)組元素以指定分隔符進(jìn)行連接成為字符串
function xxx(....){
聲明函數(shù)
....}
var xxx = function(...){
...函數(shù)變量
}var ooo = xxx;
ooo();函數(shù)
function fn(fx){
fx();
將函數(shù)作為參數(shù)
}fn(function(){
...});(function(...){
立即執(zhí)行函數(shù)
....})(...);
getElementById 根據(jù)id獲取唯一的元素var xx = document.getElementById(“xx”);DOM(Document Object Model)文檔對象模型
獲取元素
getElementsByTagName 根據(jù)標(biāo)簽名獲取元
素數(shù)組
onclick 鼠標(biāo)點(diǎn)擊事件
getElementsByClassName 根據(jù)類獲取元素數(shù)組(如果元素被改變了class值將會從數(shù)組
中刪除)
onmouseover 鼠標(biāo)進(jìn)入事件
onmouseout 鼠標(biāo)離開事件
onmousemove 鼠標(biāo)被移動
onmousedown 鼠標(biāo)按鈕被按下事件機(jī)制
onmouseup 鼠標(biāo)按鈕被松開
onkeydown 某個鍵盤按鍵被按下
onkeyup某個鍵盤按鍵被松開
onload 一張頁面或圖像被完成加載
onchange 域的內(nèi)容被改變
onfocus 元素獲得焦點(diǎn)
onblur 元素失去焦點(diǎn)
setTimeout: 延遲執(zhí)行(只會執(zhí)
行一次)var xx = setTimeout(xxx, 1000);setTimeout(“fn();”, 3000);BOM(Browser Object Model)
window
清除使用clearTimeout(xx);setInterval: 定時執(zhí)行(間隔指
定時間循環(huán)執(zhí)行)
xx.offsetLeft獲取元素的位置和尺寸(只讀)
xx.offsetTopxx.offsetWidthxx.offsetHeight
var xx = setInterval(xxx,1000);
清除使用clearInterval(xx);
[] 表示[]中的字符任意取一個
在[] 中的^ 表示非不包含該字符
()表示將多個表達(dá)式合并為一個表達(dá)式
在()中的|表示將兩個匹配條件進(jìn)行邏輯“或”(Or)運(yùn)算。+ 前一個表達(dá)式出現(xiàn)至少一次1~n {1,}* 前一個表達(dá)式出現(xiàn)任意次0~n {0,}? 前一個表達(dá)式出現(xiàn)0~1次{0,1}{n} 前一個表達(dá)式出現(xiàn)n次
{n,} 前一個表達(dá)式出現(xiàn)至少n次{n,m} 前一個表達(dá)式出現(xiàn)n~m次.任意字符(不包含rn)正則表達(dá)式
^ 匹配字符串的開頭$ 匹配字符串的結(jié)尾
w 表示一個任意的單詞字符包括_ [a-zA-Z0-9_] * 不包含破折號
W 對w取反(不包含單詞字符)[^a-zA-Z0-9_]d 表示一個數(shù)字字符[0-9]D 對d取反[^0-9]s 表示一個任意空白字符空格中文狀態(tài)的空格制表符全角空格
S 對s取反非空格n 換行符b 單詞邊界
B 不是單詞邊界(對b取反)
eval
執(zhí)行字符串形式的代碼。
for(var i in array){var item = array[i];
}
for(var key in obj){var value = obj[key];
}
迭代數(shù)組迭代出的值為數(shù)組的下標(biāo)
for...in
迭代對象迭代出的值為對象的屬性名其他
with
設(shè)置以某個對象為代碼塊作用域?qū)ο?/p>
delete attribute刪除屬性
isNaN
如果被判斷值不是一個數(shù)字則返回true,否則為false
web前端核心技術(shù)
從事前端開發(fā)工作1年多了,從最初的DIV+CSS學(xué)起,到現(xiàn)在學(xué)到html5、css3、javascript,jquery等等,我覺得前端要學(xué)的技術(shù)太多了,很多人認(rèn)為前端開發(fā)要掌握的技能簡單,就是網(wǎng)頁制作,其實不然,前端開發(fā)是網(wǎng)站的前臺代碼實現(xiàn),包括基本的HTML和CSS以及JavaScript/ajax,現(xiàn)在最新的高級版本是HTML5、CSS3,以及SVG等。JavaScript作為最難的語言之一,許多編程高手也不敢妄自菲薄、自封精通。
關(guān)于兼容性的問題我相信對于每個做前端開發(fā)的人來講是一個很頭疼的問題,互聯(lián)網(wǎng)目前主流瀏覽器有IE6789,F(xiàn)irefox,Chrome,Opera,Safari,遨游,包括國內(nèi)主流的搜狗,騰訊 TT,360等等;從內(nèi)核上講主要有IE的,遨游版IE,safari,firefox以及opera的,這些都是大家常見的。所謂的瀏覽器兼容性問題,是指因為不同的瀏覽器對同一段代碼有不同的解析,造成頁面顯示效果不統(tǒng)一的情況。在大多數(shù)情況下,用戶用什么瀏覽器來查看同一網(wǎng)站,都應(yīng)該是統(tǒng)一的顯示效果。所以瀏覽器的兼容性問題是前端開發(fā)人員經(jīng)常會碰到和必須要解決的問題。這個時候就需要針對不同的瀏覽器寫不同的CSS,這個過程叫CSS hack。雖然我們寫代碼都要求按照標(biāo)準(zhǔn),不寫hack代碼,但實際工作中為了兼容主流瀏覽器,hack代碼是免不了的,所以這也應(yīng)該是每個前端開發(fā)人員必備的技能。
前端的開發(fā)工具很多,比較常見的有Dreamweaver,Notepad,webstrom,Sublime Text等等,我現(xiàn)在在使用webstorm,強(qiáng)大的提示功能可以幫助我們很快的熟悉并掌握網(wǎng)頁布局,檢查錯誤等。調(diào)試代碼的工具我使用的Firebug。Firebug是網(wǎng)頁瀏覽器Mozilla firefox 下的一款開發(fā)類插件,它集HTML查看和編輯、Javascript控制臺、網(wǎng)絡(luò)狀況監(jiān)視器于一體,是開發(fā)JavaScript、CSS、HTML和Ajax的得力助手。Firebug如同一把精巧的瑞士軍刀,從各個不同的角度剖析Web頁面內(nèi)部的細(xì)節(jié)層面,給Web開發(fā)者帶來很大的便利。Firebug也是一個除錯工具。用戶可以利用它除錯、編輯、甚至刪改任何網(wǎng)站的CSS、HTML、Dom 以及Javascript代碼。
以上是自己做前端開發(fā)的一點(diǎn)心得,它所涵蓋的知識面遠(yuǎn)遠(yuǎn)不止這些,我也在不斷的學(xué)習(xí),不斷地豐富自己,希望自己能在前端這個職位上開闊自己的一片天地!
ASP.NET前端開發(fā)經(jīng)驗總結(jié)
通過此次大作業(yè)的設(shè)計到完成,我負(fù)責(zé)的是web前端的開發(fā),經(jīng)過此次作業(yè)和結(jié)合W3C上的自學(xué),我漸漸有了一些對前端開發(fā)的小小經(jīng)驗(僅為個人意見)。WEB標(biāo)準(zhǔn)是什么?
說是WEB標(biāo)準(zhǔn),不過我這里主要是對HTML5 和 CSS3.0的一些經(jīng)驗總結(jié)。因為WEB含蓋的內(nèi)容實在是太多了,“WEB標(biāo)準(zhǔn)”是一系列標(biāo)準(zhǔn)的總稱,包括HTML5.0、HTML4.0、XHTML1.1、CSS3.0、CSS2.1、XML1.0、RSS2.0、ECMAScript1.1、DOM1.0等等。所以這里要跟大家指出來一下,WEB標(biāo)準(zhǔn)不是我們所說的DIV+CSS。剛剛上面提到了――DIV+CSS,這里要說明下,這樣說其實是不正確的。DIV+CSS準(zhǔn)確的說法(個人的理解)應(yīng)該是:采用W3C推薦的WEB標(biāo)準(zhǔn)中的HTML5結(jié)合CSS3.0樣式表制作頁面的方法,DIV應(yīng)該指的是HTML標(biāo)簽,而CSS顯示是指的CSS樣式表了。
采用WEB標(biāo)準(zhǔn)開發(fā)的好處
那么W3C為什么會推薦這樣的頁面制作方法呢?下面我們就簡單的看看采用WEB標(biāo)準(zhǔn)開發(fā)(個人理解的)相對以前TABLE布局的優(yōu)勢有哪些?
1、節(jié)約運(yùn)營成本
看看我們的WEB標(biāo)準(zhǔn)制作方法是如何做到的?
采用WEB標(biāo)準(zhǔn)制作,我們可以做到表現(xiàn)很形式的分離,我們用XHTML來表現(xiàn)(數(shù)據(jù)),用CSS來控制(頁面元素呈現(xiàn)的)形式。寫的好的頁面,XHTML代碼中基本上都是用戶要看的數(shù)據(jù),還其他修飾性的東西,全部由我們的CSS來控制。這樣一來我們的(XHTML)頁面的體積就大大減小了,這樣你在帶寬上的費(fèi)用就會大家降低了,這個怎么降低的,你可以想象一下,YAHOO的首頁小1K,100W個人一起訪問,那么帶寬節(jié)約了多少?而且可以更充分的利用帶寬。
而我們的CSS控制了,所有的頁面元素的樣式,現(xiàn)在想改網(wǎng)站的整體風(fēng)格,你只需要花幾分鐘修改一下一個CSS文件,就可以輕松搞定了。維護(hù)的成本也下來了,省了不少錢了吧?還有,你開這個頁面的速度會快很多啊,一個讓你等半分鐘的頁面,除非里面的信息對你很有用,不然我們大家基本都沒有太多的時間去用來等待的。
2、對用戶友好更友好,且有機(jī)會獲得更多的用戶 現(xiàn)在來說說用戶友好。首先我想把我們的用戶來分下類。第一類:普通用戶(每個訪問我們網(wǎng)站的人); 第二類:搜索引擎;
采用WEB標(biāo)準(zhǔn)開發(fā)的頁面,結(jié)構(gòu)清晰,頁面體積小,瀏覽器兼容性好。普通用戶訪問的時候,頁面打開速度快,而且不管用戶使用那種瀏覽器,都能夠正常訪問(顯示)頁面,且頁面的結(jié)構(gòu)清晰,要找的數(shù)據(jù)可以很方便的瀏覽到。
而對搜索引擎來說,一個好的采用WEB標(biāo)準(zhǔn)開發(fā)的頁面,都是做過SEO優(yōu)化的,它訪問起來很友好,很容易理解你的頁面中哪里是標(biāo)題(H1~H6標(biāo)簽),哪里是段落(p標(biāo)簽),哪里是段落里要強(qiáng)調(diào)的內(nèi)容(strong標(biāo)簽)等,它可以很容易的分析出來。而一個SEO好的站點(diǎn),大家都知道,被搜索引擎收錄的機(jī)會更多,這個也意味著您的網(wǎng)站會被更多的普通用戶訪問到,給你的站點(diǎn)帶來更多的用戶。
一個能幫我們省下大筆費(fèi)用,提高工作效率。同時又能夠提高頁面瀏覽速度,對用戶友好,甚至能夠不花錢宣傳,就能給你帶來更多用戶的技術(shù)。你說你會不會去使用它?這個也正式我們的W3C推薦使用WEB標(biāo)準(zhǔn)開放網(wǎng)站的原因啊。而這個技術(shù)也得到了我們廣大用戶的認(rèn)可,所以現(xiàn)在需要學(xué)習(xí)WEB標(biāo)準(zhǔn)啊。合理的布局
前面我提到了一些知識點(diǎn)――“結(jié)構(gòu)清晰、SEO優(yōu)化、頁面體積小、HTML代碼中基本上都是用戶要看的數(shù)據(jù)”。這些東西,都是我做了合理布局的結(jié)果。而且我個人覺得,我們采用WEB標(biāo)準(zhǔn)制作的一切都是從這個知識點(diǎn)開始的,所以我這里就先來說這個話題。
也許有人會問,怎樣的一個頁面,才算是合理的布局的呢?這個問題問題問得好,也是我們大家剛開始學(xué)用WEB標(biāo)準(zhǔn)的問得最多的問題之一,我也曾經(jīng)常被這個問題所困擾,這里就說說我對合理布局的一些理解。
在開始講合理布局的頁面要達(dá)到的要素前,我們還是用個實例來講解會更直觀些。先來看看這個圖片:
不錯,這個是一個文章詳細(xì)頁,沒有左右兩欄布局,不過這里我重點(diǎn)要講的是合理的布局。
這是此次實驗中customer(前端的一項)部分的完整代碼:
<%@ Page Language=“C#” AutoEventWireup=“true” CodeFile=“Customer.aspx.cs” Inherits=“Customer” %> <%@ Register Src=“Controllers/Bottom.ascx” TagName=“Bottom” TagPrefix=“uc4” %> <%@ Register Src=“Controllers/Top.ascx” TagName=“Top” TagPrefix=“uc1” %> <%@ Register Src=“Controllers/Left.ascx” TagName=“Left” TagPrefix=“uc2” %>