Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
https://cannian.lanzous.com/b01n7t5gh?t=1404
這個(gè)是在別人自己做的軟件
然后就把自己做的軟件分享到群里
我是感覺(jué)不錯(cuò)給你們分享一下
這個(gè)軟件設(shè)置透明頭像需要vip
vip的話都是可以免費(fèi)獲得
或許你有別的空白頭像軟件也行
然后空白名片點(diǎn)設(shè)置他會(huì)彈出這個(gè)名片
直接設(shè)置就好了
https://gxh.vip.qq.com/club/themes/mobile/card/html/detail.html?cardItemId=183&plg_auth=1
文件類型聲明(<!DOCTYPE>)僅有一型:<!DOCTYPE HTML>。
新的解析順序:不再基于SGML。
繪畫 canvas;
用于媒介回放的 video 和 audio 元素;
語(yǔ)意化更好的內(nèi)容元素:article、footer、header、nav、section;
表單控件:calendar、date、time、email、url、search;
input元素的新類型:date, email, url等。
新的技術(shù): webworker, websocket, Geolocation;
新的屬性:ping(用于a與area), charset(用于meta), async(用于script)。
全域?qū)傩裕篿d, tabindex, repeat。
新的全域?qū)傩裕篶ontenteditable, contextmenu, draggable, dropzone, hidden, spellcheck。
新應(yīng)用程序接口:
HTML Geolocation
HTML Drag and Drop
HTML Local Storage
HTML Application Cache
HTML Web Workers
HTML SSE
HTML Canvas/WebGL
HTML Audio/Video
移除的元素:
純表現(xiàn)的元素:basefont,big,center,font, s,strike,tt,u;
對(duì)可用性產(chǎn)生負(fù)面影響的元素:frame,frameset,naframes;
retina:一種具備超高像素密度的液晶屏,同樣大小的屏幕上顯示的像素點(diǎn)由1個(gè)變?yōu)槎鄠€(gè),如在同樣帶下的屏幕上,蘋果設(shè)備的retina顯示屏中,像素點(diǎn)1個(gè)變?yōu)?個(gè)
在高清顯示屏中的位圖被放大,圖片會(huì)變得模糊,因此移動(dòng)端的視覺(jué)稿通常會(huì)設(shè)計(jì)為傳統(tǒng)PC的2倍
那么,前端的應(yīng)對(duì)方案是:
設(shè)計(jì)稿切出來(lái)的圖片長(zhǎng)寬保證為偶數(shù),并使用backgroud-size把圖片縮小為原來(lái)的1/2
//例如圖片寬高為:200px*200px,那么寫法如下
.css{width:100px;height:100px;background-size:100px 100px;}
其它元素的取值為原來(lái)的1/2,例如視覺(jué)稿40px的字體,使用樣式的寫法為20px
.css{font-size:20px}
ios用戶點(diǎn)擊一個(gè)鏈接,會(huì)出現(xiàn)一個(gè)半透明灰色遮罩, 如果想要禁用,可設(shè)置-webkit-tap-highlight-color的alpha值為0,也就是屬性值的最后一位設(shè)置為0.X就可以去除半透明灰色遮罩
a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0.X)}
android用戶點(diǎn)擊一個(gè)鏈接,會(huì)出現(xiàn)一個(gè)邊框或者半透明灰色遮罩, 不同生產(chǎn)商定義出來(lái)額效果不一樣,可設(shè)置-webkit-tap-highlight-color的alpha值為0去除部分機(jī)器自帶的效果
a,button,input,textarea{
-webkit-tap-highlight-color: rgba(0,0,0,0;)
-webkit-user-modify:read-write-plaintext-only;
}
-webkit-user-modify有個(gè)副作用,就是輸入法不再能夠輸入多個(gè)字符
另外,有些機(jī)型去除不了,如小米2
對(duì)于按鈕類還有個(gè)辦法,不使用a或者input標(biāo)簽,直接用div標(biāo)簽
通用
.css{-webkit-appearance:none;}
偽元素改變number類型input框的默認(rèn)樣式
input[type=number]::-webkit-textfield-decoration-container {
background-color: transparent;
}
input[type=number]::-webkit-inner-spin-button {
-webkit-appearance: none;
}
input[type=number]::-webkit-outer-spin-button {
-webkit-appearance: none;
}
input::-webkit-input-placeholder{color:#AAAAAA;}
input:focus::-webkit-input-placeholder{color:#EEEEEE;}
.css{-webkit-touch-callout: none}
.css{-webkit-user-select:none}
打電話:<a href="tel:0755-10086">打電話給:0755-10086</a>
發(fā)短信,winphone系統(tǒng)無(wú)效 <a href="sms:10086">發(fā)短信給: 10086</a>
寫郵件:<a href=“mailto:peun@foxmail.com">peun@foxmail.com</a>
應(yīng)對(duì)方案:觸屏即播
$('html').one('touchstart',function(){
audio.play()
})
通過(guò)transform的3d屬性改去硬件加速可以解決閃屏問(wèn)題
開(kāi)啟硬件加速
1)解決頁(yè)面閃白
2)保證動(dòng)畫流暢
.css {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
<input autocapitalize="off" autocorrect="off" />
input::-webkit-input-speech-button {display: none}
盡可能地使用合成屬性transform和opacity來(lái)設(shè)計(jì)CSS3動(dòng)畫
不使用position的left和top來(lái)定位
利用translate3D開(kāi)啟GPU加速
ios下fixed元素容易定位出錯(cuò),軟鍵盤彈出時(shí),影響fixed元素定位
android下fixed表現(xiàn)要比iOS更好,軟鍵盤彈出時(shí),不會(huì)影響fixed元素定位
ios4下不支持position:fixed
解決方案
可用isroll.js,暫無(wú)完美方案
1)PC優(yōu)化手段在Mobile側(cè)同樣適用
2)在Mobile側(cè)我們提出三秒種渲染完成首屏指標(biāo)
3)基于第二點(diǎn),首屏加載3秒完成或使用Loading
4)基于聯(lián)通3G網(wǎng)絡(luò)平均338KB/s(2.71Mb/s),所以首屏資源不應(yīng)超過(guò)1014KB
5)Mobile側(cè)因手機(jī)配置原因,除加載外渲染速度也是優(yōu)化重點(diǎn)
6)基于第五點(diǎn),要合理處理代碼減少渲染損耗
7)基于第二、第五點(diǎn),所有影響首屏加載和渲染的代碼應(yīng)在處理邏輯中后置
8)加載完成后用戶交互使用時(shí)也需注意性能
[加載優(yōu)化]
加載過(guò)程是最為耗時(shí)的過(guò)程,可能會(huì)占到總耗時(shí)的80%時(shí)間,因此是優(yōu)化的重點(diǎn)
因?yàn)槭謾C(jī)瀏覽器同時(shí)響應(yīng)請(qǐng)求為4個(gè)請(qǐng)求(Android支持4個(gè),iOS 5后可支持6個(gè)),所以要盡量減少頁(yè)面的請(qǐng)求數(shù),首次加載同時(shí)請(qǐng)求數(shù)不能超過(guò)4個(gè)
a) 合并CSS、JavaScript
b) 合并小圖片,使用雪碧圖
使用緩存可以減少向服務(wù)器的請(qǐng)求數(shù),節(jié)省加載時(shí)間,所以所有靜態(tài)資源都要在服務(wù)器端設(shè)置緩存,并且盡量使用長(zhǎng)Cache(長(zhǎng)Cache資源的更新可使用時(shí)間戳)
a) 緩存一切可緩存的資源
b) 使用長(zhǎng)Cache(使用時(shí)間戳更新Cache)
c) 使用外聯(lián)式引用CSS、JavaScript
減少資源大小可以加快網(wǎng)頁(yè)顯示速度,所以要對(duì)HTML、CSS、JavaScript等進(jìn)行代碼壓縮,并在服務(wù)器端設(shè)置GZip
a) 壓縮(例如,多余的空格、換行符和縮進(jìn))
b) 啟用GZip
寫在HTML頭部的JavaScript(無(wú)異步),和寫在HTML標(biāo)簽中的Style會(huì)阻塞頁(yè)面的渲染,因此CSS放在頁(yè)面頭部并使用Link方式引入,避免在HTML標(biāo)簽中寫Style,JavaScript放在頁(yè)面尾
部或使用異步方式加載
首屏的快速顯示,可以大大提升用戶對(duì)頁(yè)面速度的感知,因此應(yīng)盡量針對(duì)首屏的快速顯示做優(yōu)化
將不影響首屏的資源和當(dāng)前屏幕資源不用的資源放到用戶需要時(shí)才加載,可以大大提升重要資源的顯示速度和降低總體流量
PS:按需加載會(huì)導(dǎo)致大量重繪,影響渲染性能
a) LazyLoad
b) 滾屏加載
c) 通過(guò)Media Query加載
大型重資源頁(yè)面(如游戲)可使用增加Loading的方法,資源加載完成后再顯示頁(yè)面。但Loading時(shí)間過(guò)長(zhǎng),會(huì)造成用戶流失
對(duì)用戶行為分析,可以在當(dāng)前頁(yè)加載下一頁(yè)資源,提升速度
a) 可感知Loading(如進(jìn)入空間游戲的Loading)
b) 不可感知的Loading(如提前加載下一頁(yè))
圖片是最占流量的資源,因此盡量避免使用他,使用時(shí)選擇最合適的格式(實(shí)現(xiàn)需求的前提下,以大小判斷),合適的大小,然后使用智圖壓縮,同時(shí)在代碼中用Srcset來(lái)按需顯示
PS:過(guò)度壓縮圖片大小影響圖片顯示效果
a) 使用智圖( http://zhitu.isux.us/ )
b) 使用其它方式代替圖片(1. 使用CSS3 2. 使用SVG 3. 使用IconFont)
c) 使用Srcset
d) 選擇合適的圖片(1. webP優(yōu)于JPG 2. PNG8優(yōu)于GIF)
e) 選擇合適的大小(1. 首次加載不大于1014KB 2. 不寬于640(基于手機(jī)屏幕一般寬度))
Cookie會(huì)影響加載速度,所以靜態(tài)資源域名不使用Cookie
重定向會(huì)影響加載速度,所以在服務(wù)器正確設(shè)置避免重定向
第三方資源不可控會(huì)影響頁(yè)面的加載和顯示,因此要異步加載第三方資源
處理不當(dāng)會(huì)阻塞頁(yè)面加載、渲染,因此在使用時(shí)需當(dāng)注意
CSS寫在頭部,JavaScript寫在尾部或異步
避免圖片和iFrame等的空Src
空Src會(huì)重新加載當(dāng)前頁(yè)面,影響速度和效率
重設(shè)圖片大小是指在頁(yè)面、CSS、JavaScript等中多次重置圖片大小,多次重設(shè)圖片大小會(huì)引發(fā)圖片的多次重繪,影響性能
DataURL圖片沒(méi)有使用圖片的壓縮算法文件會(huì)變大,并且要解碼后再渲染,加載慢耗時(shí)長(zhǎng)
* 盡量避免寫在HTML標(biāo)簽中寫Style屬性
* 避免CSS表達(dá)式
CSS表達(dá)式的執(zhí)行需跳出CSS樹的渲染,因此請(qǐng)避免CSS表達(dá)式
* 移除空的CSS規(guī)則
空的CSS規(guī)則增加了CSS文件的大小,且影響CSS樹的執(zhí)行,所以需移除空的CSS規(guī)則
* 正確使用Display的屬性
Display屬性會(huì)影響頁(yè)面的渲染,因此請(qǐng)合理使用
a) display:inline后不應(yīng)該再使用width、height、margin、padding以及float
b) display:inline-block后不應(yīng)該再使用float
c) display:block后不應(yīng)該再使用vertical-align
d) display:table-*后不應(yīng)該再使用margin或者float
* 不濫用Float
Float在渲染時(shí)計(jì)算量比較大,盡量減少使用
* 不濫用Web字體
Web字體需要下載,解析,重繪當(dāng)前頁(yè)面,盡量減少使用
* 不聲明過(guò)多的Font-size
過(guò)多的Font-size引發(fā)CSS樹的效率
* 值為0時(shí)不需要任何單位
為了瀏覽器的兼容性和性能,值為0時(shí)不要帶單位
* 標(biāo)準(zhǔn)化各種瀏覽器前綴
a) 無(wú)前綴應(yīng)放在最后
b) CSS動(dòng)畫只用 (-webkit- 無(wú)前綴)兩種即可
c) 其它前綴為 -webkit- -moz- -ms- 無(wú)前綴 四種,(-o-Opera瀏覽器改用blink內(nèi)核,所以淘汰)
* 避免讓選擇符看起來(lái)像正則表達(dá)式 高級(jí)選擇器執(zhí)行耗時(shí)長(zhǎng)且不易讀懂,避免使用
* 減少重繪和回流
a) 避免不必要的Dom操作
b) 盡量改變Class而不是Style,使用classList代替className
c) 避免使用document.write
d) 減少drawImage
* 緩存Dom選擇與計(jì)算
每次Dom選擇都要計(jì)算,緩存他
* 緩存列表.length
每次.length都要計(jì)算,用一個(gè)變量保存這個(gè)值
* 盡量使用事件代理,避免批量綁定事件
* 盡量使用ID選擇器
ID選擇器是最快的
* TOUCH事件優(yōu)化
使用touchstart、touchend代替click,因快影響速度快。但應(yīng)注意Touch響應(yīng)過(guò)快,易引發(fā)誤操作
* HTML使用Viewport
Viewport可以加速頁(yè)面的渲染,請(qǐng)使用以下代碼
<meta name=”viewport” content=”width=device-width, initial-scale=1″>
* 減少Dom節(jié)點(diǎn)
Dom節(jié)點(diǎn)太多影響頁(yè)面的渲染,應(yīng)盡量減少Dom節(jié)點(diǎn)
* 動(dòng)畫優(yōu)化
a) 盡量使用CSS3動(dòng)畫
b) 合理使用requestAnimationFrame動(dòng)畫代替setTimeout
c) 適當(dāng)使用Canvas動(dòng)畫 5個(gè)元素以內(nèi)使用css動(dòng)畫,5個(gè)以上使用Canvas動(dòng)畫(iOS8可使用webGL)
* 高頻事件優(yōu)化
Touchmove、Scroll 事件可導(dǎo)致多次渲染
a) 使用requestAnimationFrame監(jiān)聽(tīng)?zhēng)兓沟迷谡_的時(shí)間進(jìn)行渲染
b) 增加響應(yīng)變化的時(shí)間間隔,減少重繪次數(shù)
* GPU加速
CSS中以下屬性(CSS3 transitions、CSS3 3D transforms、Opacity、Canvas、WebGL、Video)來(lái)觸發(fā)GPU渲染,請(qǐng)合理使用(PS:過(guò)渡使用會(huì)引發(fā)手機(jī)過(guò)耗電增加)
a、CSS動(dòng)畫更為流暢、但內(nèi)存占用過(guò)高,動(dòng)畫元素在5個(gè)以內(nèi)更為推薦;
b、Canvas動(dòng)畫存在丟幀現(xiàn)象,這一現(xiàn)象在android中低端手機(jī)中表現(xiàn)更為明顯;
c、5個(gè)以內(nèi)動(dòng)畫元素,選用CSS動(dòng)畫,80%的設(shè)備幀頻可達(dá)80以上。
移動(dòng)自適應(yīng)的話一般我用的話就是rem,通過(guò)rem單位配合媒體查詢來(lái)完成幾個(gè)屏幕的適配,以iphone6位標(biāo)準(zhǔn),向上適配plus,向下適配5,不做過(guò)多的適配,有時(shí)候有要求的話也用js來(lái)控制rem的大小達(dá)到適配效果,rem是相對(duì)單位,相對(duì)html元素的font-size值的屬性,比如font-size:100px; 的話1rem就得100px,這樣我子需要通過(guò)改變html的font-size就可以達(dá)到適配效果
為動(dòng)畫DOM元素添加CSS3樣式-webkit-transform:transition3d(0,0,0)或-webkit-transform:translateZ(0);,這兩個(gè)屬性都會(huì)開(kāi)啟GPU硬件加速模式,從而讓瀏覽器在渲染動(dòng)畫時(shí)從CPU轉(zhuǎn)向GPU
通過(guò)-webkit-transform:transition3d/translateZ開(kāi)啟GPU硬件加速之后,有些時(shí)候可能會(huì)導(dǎo)致瀏覽器頻繁閃爍或抖動(dòng),可以嘗試以下辦法解決之:
-webkit-backface-visibility:hidden;
-webkit-perspective:1000;
通過(guò)-webkit-transform:transition3d/translateZ開(kāi)啟GPU硬件加速的適用范圍:
使用很多大尺寸圖片(尤其是PNG24圖)進(jìn)行動(dòng)畫的頁(yè)面。
頁(yè)面有很多大尺寸圖片并且進(jìn)行了css縮放處理,頁(yè)面可以滾動(dòng)時(shí)。
使用background-size:cover設(shè)置大尺寸背景圖,并且頁(yè)面可以滾動(dòng)時(shí)
編寫大量DOM元素進(jìn)行CSS3動(dòng)畫時(shí)(transition/transform/keyframes/absTop&Left)
使用很多PNG圖片拼接成CSS Sprite時(shí)
可以使用after插入的形式將寬度設(shè)置為200%,然后通過(guò)css transfrom 的scale 縮放0.5倍;
使用 viewport meta 標(biāo)簽在手機(jī)瀏覽器上控制布局
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1" />
通過(guò)快捷方式打開(kāi)時(shí)全屏顯示
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="blank" />
iPhone會(huì)將看起來(lái)像電話號(hào)碼的數(shù)字添加電話連接,應(yīng)當(dāng)關(guān)閉
<meta name="format-detection" content="telephone=no" />
使用Media Queries適配對(duì)應(yīng)樣式
all所有設(shè)備;
screen 電腦顯示器;
print打印用紙或打印預(yù)覽視圖;
handheld便攜設(shè)備;
tv電視機(jī)類型的設(shè)備;
speech語(yǔ)意和音頻盒成器;
braille盲人用點(diǎn)字法觸覺(jué)回饋設(shè)備;
embossed盲文打印機(jī);
projection各種投影設(shè)備;
tty使用固定密度字母柵格的媒介,比如電傳打字機(jī)和終端。
width瀏覽器寬度;
height瀏覽器高度;
device-width設(shè)備屏幕分辨率的寬度值;
device-height設(shè)備屏幕分辨率的高度值;
orientation瀏覽器窗口的方向縱向還是橫向,當(dāng)窗口的高度值大于等于寬度時(shí)該特性值為portrait,否則為landscape;
aspect-ratio比例值,瀏覽器的縱橫比;
device-aspect-ratio比例值,屏幕的縱橫比。
@media only screen and (min-width:768px)and(max-width:1024px){}
@media only screen and (width:320px)and (width:768px){}
寬度不固定,可以使用百分比
#head{width:100%;}
#content{width:50%;}
#wrap img{
max-width:100%;
height:auto;
}
一個(gè)響應(yīng)式的字體應(yīng)關(guān)聯(lián)它的父容器的寬度,這樣才能適應(yīng)客戶端屏幕。css3引入了新的單位叫做rem,和em類似但對(duì)于Html元素,rem更方便使用。em是相對(duì)于根元素的,需重置根元素字體大小:
html{font-size:100%;}
完成后,可以定義響應(yīng)式字體:
@media (min-width:640px){body{font-size:1rem;}}
@media (min-width:960px){body{font-size:1.2rem;}}
@media (min-width:1200px){body{font-size:2rem;}}
ip6 2、ip6+ 3、nexus5 3
1) 自適應(yīng)方式
2) viewport方式
3) rem方式
4) scale()方式縮放
避免IE使用兼容模式 <meta http-equiv="X-UA-Compatible" content="IE=edge" />
為不支持viewport的IE Mobile設(shè)定寬度 <meta name="MobileOptimized" content="320" />
是否對(duì)手持設(shè)備友好 <meta name="HandheldFriendly" content="true" />
強(qiáng)制豎屏 <meta name="screen-orientation" content="portrait" />
強(qiáng)制全屏 <meta name="full-screen" content="yes" />
應(yīng)用模式 <meta name="browsermode" content="application" />
強(qiáng)制豎屏 <meta name="x5-orientation" content="portrait" />
強(qiáng)制全屏 <meta name="x5-fullscreen" content="yes" />
應(yīng)用模式 <meta name="x5-page-mode" content="app" />
開(kāi)啟極速模式 <meta name="renderer" content="webkit" />
啟動(dòng)webapp功能 刪除工具欄和菜單欄 <meta name="apple-mobile-web-app-capable" content="yes">
控制狀態(tài)欄顏色 <meta name="apple-mobile-web-app-status-bar-style" content="black" />
開(kāi)啟號(hào)碼或郵箱檢測(cè) <meta name="format-detection" content="telephone=no" />
添加主屏幕icon <link rel="apple-touch-icon" href="touch-icon-iphone.png”>
重力感應(yīng) DeviceOrientation
手機(jī)加速傳感器 DeviceMotion
以Pjax方式實(shí)現(xiàn)SPA history.pushState history.replaceState 解決ajax不能后退前進(jìn)問(wèn)題
儲(chǔ)存
客戶端儲(chǔ)存:localStorage sessionStorage>只存在一個(gè)會(huì)話周期內(nèi)
跨域
postMessage
一般都是我前端這邊開(kāi)發(fā)好h5頁(yè)面給安卓和ios一個(gè)地址,然后告訴他們我有哪些方法,然后在做一些安卓ios的接口調(diào)用,安卓和ios會(huì)吧他們的方法提供一個(gè)接口給我,我直接調(diào)用就好,一般都是調(diào)用一些分享,跳轉(zhuǎn)之類的方法
webapp部分基本都是我自己負(fù)責(zé)開(kāi)發(fā),頁(yè)面交互都做,因?yàn)楫?dāng)時(shí)剛?cè)ス镜臅r(shí)候公司也剛往這個(gè)方向發(fā)展,讓我也一直就負(fù)責(zé)移動(dòng)業(yè)務(wù)這塊的內(nèi)容
用,bootstrap組要就是用一些他的樣式組件,還有最強(qiáng)大的就是他的刪格化系統(tǒng)了,做響應(yīng)式的網(wǎng)站,我們公司的官網(wǎng)就是用的bootstrap做的,后臺(tái)管理系統(tǒng)也是,當(dāng)時(shí)也是我負(fù)責(zé)給我們公司的后臺(tái)分享如何使用bootstrap的
<!DOCTYPE>聲明位于位于HTML文檔中的第一行,處于 <html>標(biāo)簽之前。告知瀏覽器的解析器,用什么文檔標(biāo)準(zhǔn)解析這個(gè)文檔。DOCTYPE不存在或格式不正確會(huì)導(dǎo)致文檔以兼容模式呈現(xiàn)。
標(biāo)準(zhǔn)模式的排版 和JS運(yùn)作模式都是以該瀏覽器支持的最高標(biāo)準(zhǔn)運(yùn)行。在兼容模式中,頁(yè)面以寬松的向后兼容的方式顯示,模擬老式瀏覽器的行為以防止站點(diǎn)無(wú)法工作。
HTML5 不基于 SGML,因此不需要對(duì)DTD進(jìn)行引用,但是需要doctype來(lái)規(guī)范瀏覽器的行為(讓瀏覽器按照它們應(yīng)該的方式來(lái)運(yùn)行);
而HTML4.01基于SGML,所以需要對(duì)DTD進(jìn)行引用,才能告知瀏覽器文檔所使用的文檔類型。**
首先:CSS規(guī)范規(guī)定,每個(gè)元素都有display屬性,確定該元素的類型,每個(gè)元素都有默認(rèn)的display值,如div的display默認(rèn)值為“block”,則為“塊級(jí)”元素;span默認(rèn)display屬性值為“inline”,是“行內(nèi)”元素。
(1)行內(nèi)元素有:a b span img input select strong(強(qiáng)調(diào)的語(yǔ)氣)
(2)塊級(jí)元素有:div ul ol li dl dt dd h1 h2 h3 h4…p
(3)常見(jiàn)的空元素:
<img><input><link><meta>
鮮為人知的是:
<area><base><col><command><embed><keygen><param><source><track><wbr>
4.頁(yè)面導(dǎo)入樣式時(shí),使用link和@import有什么區(qū)別?
link屬于XHTML標(biāo)簽,除了加載CSS外,還能用于定義RSS, 定義rel連接屬性等作用;而@import是CSS提供的,只能用于加載CSS;
頁(yè)面被加載的時(shí),link會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁(yè)面被加載完再加載;
import是CSS2.1 提出的,只在IE5以上才能被識(shí)別,而link是XHTML標(biāo)簽,無(wú)兼容問(wèn)題;
主要分成兩部分:渲染引擎(layout engineer或Rendering Engine)和JS引擎。
渲染引擎:負(fù)責(zé)取得網(wǎng)頁(yè)的內(nèi)容(HTML、XML、圖像等等)、整理訊息(例如加入CSS等),以及計(jì)算網(wǎng)頁(yè)的顯示方式,然后會(huì)輸出至顯示器或打印機(jī)。瀏覽器的內(nèi)核的不同對(duì)于網(wǎng)頁(yè)的語(yǔ)法解釋會(huì)有不同,所以渲染的效果也不相同。所有網(wǎng)頁(yè)瀏覽器、電子郵件客戶端以及其它需要編輯、顯示網(wǎng)絡(luò)內(nèi)容的應(yīng)用程序都需要內(nèi)核。
JS引擎則:解析和執(zhí)行javascript來(lái)實(shí)現(xiàn)網(wǎng)頁(yè)的動(dòng)態(tài)效果。
最開(kāi)始渲染引擎和JS引擎并沒(méi)有區(qū)分的很明確,后來(lái)JS引擎越來(lái)越獨(dú)立,內(nèi)核就傾向于只指渲染引擎。
Trident內(nèi)核:IE,MaxThon,TT,The World,360,搜狗瀏覽器等。[又稱MSHTML]
Gecko內(nèi)核:Netscape6及以上版本,F(xiàn)F,MozillaSuite/SeaMonkey等
Presto內(nèi)核:Opera7及以上。 [Opera內(nèi)核原為:Presto,現(xiàn)為:Blink;]
Webkit內(nèi)核:Safari,Chrome等。 [ Chrome的:Blink(WebKit的分支)]
移除的元素:
純表現(xiàn)的元素:basefont,big,center,font, s,strike,tt,u;
對(duì)可用性產(chǎn)生負(fù)面影響的元素:frame,frameset,noframes;
用正確的標(biāo)簽做正確的事情。
html語(yǔ)義化讓頁(yè)面的內(nèi)容結(jié)構(gòu)化,結(jié)構(gòu)更清晰,便于對(duì)瀏覽器、搜索引擎解析;
即使在沒(méi)有樣式CSS情況下也以一種文檔格式顯示,并且是容易閱讀的;
搜索引擎的爬蟲也依賴于HTML標(biāo)記來(lái)確定上下文和各個(gè)關(guān)鍵字的權(quán)重,利于SEO;
使閱讀源代碼的人對(duì)網(wǎng)站更容易將網(wǎng)站分塊,便于閱讀維護(hù)理解。
在用戶沒(méi)有連網(wǎng)時(shí),可以正常訪問(wèn)站點(diǎn)或應(yīng)用,在用戶與網(wǎng)絡(luò)連接時(shí)更新用戶機(jī)器上的緩存文件。
原理:HTML5的離線存儲(chǔ)是基于一個(gè)新建的.appcache文件的緩存機(jī)制(不是存儲(chǔ)技術(shù)),通過(guò)這個(gè)文件上的解析清單離線存儲(chǔ)資源,這些資源就會(huì)像cookie一樣被存儲(chǔ)了下來(lái)。之后當(dāng)網(wǎng)絡(luò)在處于離線狀態(tài)下時(shí),瀏覽器會(huì)通過(guò)被離線存儲(chǔ)的數(shù)據(jù)進(jìn)行頁(yè)面展示。
如何使用:
頁(yè)面頭部像下面一樣加入一個(gè)manifest的屬性;
在cache.manifest文件的編寫離線存儲(chǔ)的資源;
CACHE MANIFEST
#v0.11
CACHE:
js/app.js
css/style.css
NETWORK:
resourse/logo.png
FALLBACK:
/ /offline.html
在離線狀態(tài)時(shí),操作window.applicationCache進(jìn)行需求實(shí)現(xiàn)。
在線的情況下,瀏覽器發(fā)現(xiàn)html頭部有manifest屬性,它會(huì)請(qǐng)求manifest文件,如果是第一次訪問(wèn)app,那么瀏覽器就會(huì)根據(jù)manifest文件的內(nèi)容下載相應(yīng)的資源并且進(jìn)行離線存儲(chǔ)。如果已經(jīng)訪問(wèn)過(guò)app并且資源已經(jīng)離線存儲(chǔ)了,那么瀏覽器就會(huì)使用離線的資源加載頁(yè)面,然后瀏覽器會(huì)對(duì)比新的manifest文件與舊的manifest文件,如果文件沒(méi)有發(fā)生改變,就不做任何操作,如果文件改變了,那么就會(huì)重新下載文件中的資源并進(jìn)行離線存儲(chǔ)。
離線的情況下,瀏覽器就直接使用離線存儲(chǔ)的資源。
iframe會(huì)阻塞主頁(yè)面的Onload事件;
搜索引擎的檢索程序無(wú)法解讀這種頁(yè)面,不利于SEO;
iframe和主頁(yè)面共享連接池,而瀏覽器對(duì)相同域的連接有限制,所以會(huì)影響頁(yè)面的并行加載。
使用iframe之前需要考慮這兩個(gè)缺點(diǎn)。如果需要使用iframe,最好是通過(guò)javascript
動(dòng)態(tài)給iframe添加src屬性值,這樣可以繞開(kāi)以上兩個(gè)問(wèn)題。
label標(biāo)簽來(lái)定義表單控制間的關(guān)系,當(dāng)用戶選擇該標(biāo)簽時(shí),瀏覽器會(huì)自動(dòng)將焦點(diǎn)轉(zhuǎn)到和標(biāo)簽相關(guān)的表單控件上。
<label for="Name">Number:</label>
<input type=“text“name="Name" id="Name"/>
<label>Date:<input type="text" name="B"/></label>
WebSocket、也可以調(diào)用localstorge、cookies等本地存儲(chǔ)方式,還可以使用頁(yè)面的路有參數(shù)傳遞
localstorge另一個(gè)瀏覽上下文里被添加、修改或刪除時(shí),它都會(huì)觸發(fā)一個(gè)事件,
我們通過(guò)監(jiān)聽(tīng)事件,控制它的值來(lái)進(jìn)行頁(yè)面信息通信;
14.如何在頁(yè)面上實(shí)現(xiàn)一個(gè)圓形的可點(diǎn)擊區(qū)域?
map+area或者svg
border-radius
純js實(shí)現(xiàn) 需要求一個(gè)點(diǎn)在不在圓上簡(jiǎn)單算法、獲取鼠標(biāo)坐標(biāo)等等
title屬性沒(méi)有明確意義只表示是個(gè)標(biāo)題,H1則表示層次明確的標(biāo)題,對(duì)頁(yè)面信息的抓取也有很大的影響;
strong是標(biāo)明重點(diǎn)內(nèi)容,有語(yǔ)氣加強(qiáng)的含義,使用閱讀設(shè)備閱讀網(wǎng)絡(luò)時(shí):會(huì)重讀,而是展示強(qiáng)調(diào)內(nèi)容。
i內(nèi)容展示為斜體,em表示強(qiáng)調(diào)的文本;
h5新增的屬性
可以通過(guò)ele.dataset獲取到標(biāo)簽上的data-x的屬性
返回一個(gè)對(duì)象
解決:解決方案是做成PNG8.
解決:方案是加一個(gè)全局的*{margin:0;padding:0;}來(lái)統(tǒng)一。
解決:解決方案是在float的標(biāo)簽樣式控制中加入 ——_display:inline;將其轉(zhuǎn)化為行內(nèi)屬性。(_這個(gè)符號(hào)只有ie6會(huì)識(shí)別)
漸進(jìn)識(shí)別的方式,從總體中逐漸排除局部。
首先,巧妙的使用“9”這一標(biāo)記,將IE游覽器從所有情況中分離出來(lái)。 接著,再次使用“+”將IE8和IE7、IE6分離開(kāi)來(lái),這樣IE8已經(jīng)獨(dú)立識(shí)別。
css
.bb{
background-color:#f1ee18;/*所有識(shí)別*/
.background-color:#00deff\9; /*IE6、7、8識(shí)別*/
+background-color:#a200ff;/*IE6、7識(shí)別*/
_background-color:#1e0bd1;/*IE6識(shí)別*/
}
解決:解決方法:統(tǒng)一通過(guò)getAttribute()獲取自定義屬性.
解決方法:(條件注釋)缺點(diǎn)是在IE瀏覽器下可能會(huì)增加額外的HTTP請(qǐng)求數(shù)。
解決:可通過(guò)加入 CSS 屬性 -webkit-text-size-adjust: none; 解決.
解決:方法是改變CSS屬性的排列順序:L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}
該標(biāo)簽可聲明三種 DTD 類型,分別表示嚴(yán)格版本、過(guò)渡版本以及基于框架的 HTML 文檔。
HTML 4.01 規(guī)定了三種文檔類型:Strict、Transitional 以及 Frameset。
XHTML 1.0 規(guī)定了三種 XML 文檔類型:Strict、Transitional 以及 Frameset。
Standards (標(biāo)準(zhǔn))模式(也就是嚴(yán)格呈現(xiàn)模式)用于呈現(xiàn)遵循最新標(biāo)準(zhǔn)的網(wǎng)頁(yè),而 Quirks(包容)模式(也就是松散呈現(xiàn)模式或者兼容模式)用于呈現(xiàn)為傳統(tǒng)瀏覽器而設(shè)計(jì)的網(wǎng)頁(yè)。
1)所有的標(biāo)記都必須要有一個(gè)相應(yīng)的結(jié)束標(biāo)記
2)所有標(biāo)簽的元素和屬性的名字都必須使用小寫
3)所有的XML標(biāo)記都必須合理嵌套
4)所有的屬性必須用引號(hào)""括起來(lái)
5)把所有<和&特殊符號(hào)用編碼表示
6)給所有屬性賦一個(gè)值
7)不要在注釋內(nèi)容中使“--”
8)圖片必須有說(shuō)明文字
title是global attributes之一,用于為元素提供附加的advisory information。通常當(dāng)鼠標(biāo)滑動(dòng)到元素上的時(shí)候顯示。
alt是<img>的特有屬性,是圖片內(nèi)容的等價(jià)描述,用于圖片無(wú)法加載時(shí)顯示、讀屏器閱讀圖片。可提圖片高可訪問(wèn)性,除了純裝飾圖片外都必須設(shè)置有意義的值,搜索引擎會(huì)重點(diǎn)分析。
改版的時(shí)候更方便 只要改css文件。
頁(yè)面加載速度更快、結(jié)構(gòu)化清晰、頁(yè)面顯示簡(jiǎn)潔。
表現(xiàn)與結(jié)構(gòu)相分離。
易于優(yōu)化(seo)搜索引擎更友好,排名更容易靠前。
派生選擇器(用HTML標(biāo)簽申明)
id選擇器(用DOM的ID申明)
類選擇器(用一個(gè)樣式類名申明)
屬性選擇器(用DOM的屬性申明,屬于CSS2,IE6不支持,不常用,不知道就算了)
除了前3種基本選擇器,還有一些擴(kuò)展選擇器,包括
后代選擇器(利用空格間隔,比如div .a{ })
群組選擇器(利用逗號(hào)間隔,比如p,div,#a{ })
那么問(wèn)題來(lái)了,CSS選擇器的優(yōu)先級(jí)是怎么樣定義的?
一般而言,選擇器越特殊,它的優(yōu)先級(jí)越高。也就是選擇器指向的越準(zhǔn)確,它的優(yōu)先級(jí)就越高。
復(fù)雜的計(jì)算方法:
用1表示派生選擇器的優(yōu)先級(jí)
用10表示類選擇器的優(yōu)先級(jí)
用100標(biāo)示ID選擇器的優(yōu)先級(jí)
div.test1 .span var 優(yōu)先級(jí) 1+10 +10 +1
span#xxx .songs li 優(yōu)先級(jí)1+100 + 10 + 1
xxx li 優(yōu)先級(jí) 100 +1
那么問(wèn)題來(lái)了,看下列代碼,<p>標(biāo)簽內(nèi)的文字是什么顏色的?
<style>
.classA{ color:blue;}
.classB{ color:red;}
</style>
<body>
<p class='classB classA'> 123 </p>
</body>
答案:red。與樣式定義在文件中的先后順序有關(guān),即是后面的覆蓋前面的,與在<p class=’classB classA’>中的先后關(guān)系無(wú)關(guān)。
塊級(jí)元素(block)特性:
總是獨(dú)占一行,表現(xiàn)為另起一行開(kāi)始,而且其后的元素也必須另起一行顯示;
寬度(width)、高度(height)、內(nèi)邊距(padding)和外邊距(margin)都可控制;
內(nèi)聯(lián)元素(inline)特性:
和相鄰的內(nèi)聯(lián)元素在同一行;
寬度(width)、高度(height)、內(nèi)邊距的top/bottom(padding-top/padding-bottom)和外邊距的top/bottom(margin-top/margin-bottom)都不可改變(也就是padding和margin的left和right是可以設(shè)置的),就是里面文字或圖片的大小。
那么問(wèn)題來(lái)了,瀏覽器還有默認(rèn)的天生inline-block元素(擁有內(nèi)在尺寸,可設(shè)置高寬,但不會(huì)自動(dòng)換行),有哪些?
答案:<input> 、<img> 、<button> 、<texterea> 、<label>。
外邊距重疊就是margin-collapse。
在CSS當(dāng)中,相鄰的兩個(gè)盒子(可能是兄弟關(guān)系也可能是祖先關(guān)系)的外邊距可以結(jié)合成一個(gè)單獨(dú)的外邊距。這種合并外邊距的方式被稱為折疊,并且因而所結(jié)合成的外邊距稱為折疊外邊距。
折疊結(jié)果遵循下列計(jì)算規(guī)則:
兩個(gè)相鄰的外邊距都是正數(shù)時(shí),折疊結(jié)果是它們兩者之間較大的值。
兩個(gè)相鄰的外邊距都是負(fù)數(shù)時(shí),折疊結(jié)果是兩者絕對(duì)值的較大值。
兩個(gè)外邊距一正一負(fù)時(shí),折疊結(jié)果是兩者的相加的和。
rgba()和opacity都能實(shí)現(xiàn)透明效果,但最大的不同是opacity作用于元素,以及元素內(nèi)的所有內(nèi)容的透明度,
而rgba()只作用于元素的顏色或其背景色。(設(shè)置rgba透明的元素的子元素不會(huì)繼承透明效果!)
* 1.id選擇器( # myid)
2.類選擇器(.myclassname)
3.標(biāo)簽選擇器(div, h1, p)
4.相鄰選擇器(h1 + p)
5.子選擇器(ul < li)
6.后代選擇器(li a)
7.通配符選擇器( * )
8.屬性選擇器(a[rel = "external"])
9.偽類選擇器(a: hover, li: nth - child)
* 可繼承: font-size font-family color, UL LI DL DD DT;
* 不可繼承 :border padding margin width height ;
* 優(yōu)先級(jí)就近原則,樣式定義最近者為準(zhǔn);
* 載入樣式以最后載入的定位為準(zhǔn);
優(yōu)先級(jí)為:
!important > id > class > tag
important 比 內(nèi)聯(lián)優(yōu)先級(jí)高
CSS3新增偽類舉例:
p:first-of-type 選擇屬于其父元素的首個(gè) <p> 元素的每個(gè) <p> 元素。
p:last-of-type 選擇屬于其父元素的最后 <p> 元素的每個(gè) <p> 元素。
p:only-of-type 選擇屬于其父元素唯一的 <p> 元素的每個(gè) <p> 元素。
p:only-child 選擇屬于其父元素的唯一子元素的每個(gè) <p> 元素。
p:nth-child(2) 選擇屬于其父元素的第二個(gè)子元素的每個(gè) <p> 元素。
:enabled、:disabled 控制表單控件的禁用狀態(tài)。
:checked,單選框或復(fù)選框被選中。
給div設(shè)置一個(gè)寬度,然后添加margin:0 auto屬性
div{
width:200px;
margin:0 auto;
}
居中一個(gè)浮動(dòng)元素
確定容器的寬高 寬500 高 300 的層
設(shè)置層的外邊距
.div {
Width:500px ; height:300px;//高度可以不設(shè)
Margin: -150px 0 0 -250px;
position:relative;相對(duì)定位
background-color:pink;//方便看效果
left:50%;
top:50%;
}
* IE瀏覽器的內(nèi)核Trident、 Mozilla的Gecko、google的WebKit、Opera內(nèi)核Presto;
* png24為的圖片在iE6瀏覽器上出現(xiàn)背景,解決方案是做成PNG8.
* 瀏覽器默認(rèn)的margin和padding不同。解決方案是加一個(gè)全局的*{margin:0;padding:0;}來(lái)統(tǒng)一。
* IE6雙邊距bug:塊屬性標(biāo)簽float后,又有橫行的margin情況下,在ie6顯示margin比設(shè)置的大。
浮動(dòng)ie產(chǎn)生的雙倍距離 #box{ float:left; width:10px; margin:0 0 0 100px;}
這種情況之下IE會(huì)產(chǎn)生20px的距離,解決方案是在float的標(biāo)簽樣式控制中加入 ——_display:inline;將其轉(zhuǎn)化為行內(nèi)屬性。(_這個(gè)符號(hào)只有ie6會(huì)識(shí)別)
漸進(jìn)識(shí)別的方式,從總體中逐漸排除局部。
首先,巧妙的使用“\9”這一標(biāo)記,將IE游覽器從所有情況中分離出來(lái)。
接著,再次使用“+”將IE8和IE7、IE6分離開(kāi)來(lái),這樣IE8已經(jīng)獨(dú)立識(shí)別。
css
.bb{
background-color:#f1ee18;/*所有識(shí)別*/
.background-color:#00deff\9; /*IE6、7、8識(shí)別*/
+background-color:#a200ff;/*IE6、7識(shí)別*/
_background-color:#1e0bd1;/*IE6識(shí)別*/
}
* IE下,可以使用獲取常規(guī)屬性的方法來(lái)獲取自定義屬性,
也可以使用getAttribute()獲取自定義屬性;
Firefox下,只能使用getAttribute()獲取自定義屬性.
解決方法:統(tǒng)一通過(guò)getAttribute()獲取自定義屬性.
* IE下,even對(duì)象有x,y屬性,但是沒(méi)有pageX,pageY屬性;
Firefox下,event對(duì)象有pageX,pageY屬性,但是沒(méi)有x,y屬性.
* (條件注釋)缺點(diǎn)是在IE瀏覽器下可能會(huì)增加額外的HTTP請(qǐng)求數(shù)。
* Chrome 中文界面下默認(rèn)會(huì)將小于 12px 的文本強(qiáng)制按照 12px 顯示, 可通過(guò)加入 CSS 屬性 -webkit-text-size-adjust: none; 解決.
超鏈接訪問(wèn)過(guò)后hover樣式就不出現(xiàn)了 被點(diǎn)擊訪問(wèn)過(guò)的超鏈接樣式不在具有hover和active了解決方法是改變CSS屬性的排列順序:
L-V-H-A : a:link {} a:visited {} a:hover {} a:active {}
!important > id > class > 標(biāo)簽
!important 比 內(nèi)聯(lián)優(yōu)先級(jí)高
可繼承: font-size font-family color, ul li dl dd dt;
不可繼承 :border padding margin width height ;
講 DOM 先從 HTML 講起,講 HTML 先從 XML 講起。XML 是一種可擴(kuò)展的標(biāo)記語(yǔ)言,所謂可擴(kuò)展就是它可以描述任何結(jié)構(gòu)化的數(shù)據(jù),它是一棵樹!
document.write只能重繪整個(gè)頁(yè)面
innerHTML可以重繪頁(yè)面的一部分
createDocumentFragment() //創(chuàng)建一個(gè)DOM片段
createElement() //創(chuàng)建一個(gè)具體的元素
createTextNode() //創(chuàng)建一個(gè)文本節(jié)點(diǎn)
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子節(jié)點(diǎn)前插入一個(gè)新的子節(jié)點(diǎn)
getElementsByTagName() //通過(guò)標(biāo)簽名稱
getElementsByName() //通過(guò)元素的Name屬性的值(IE容錯(cuò)能力較強(qiáng),會(huì)得到一個(gè)數(shù)組,其中包括id等于name值的)
getElementById() //通過(guò)元素Id,唯一性
attribute是dom元素在文檔中作為html標(biāo)簽擁有的屬性;
property就是dom元素在js中作為對(duì)象擁有的屬性。
所以:
對(duì)于html的標(biāo)準(zhǔn)屬性來(lái)說(shuō),attribute和property是同步的,是會(huì)自動(dòng)更新的,
但是對(duì)于自定義的屬性來(lái)說(shuō),他們是不同步的,
src用于替換當(dāng)前元素,href用于在當(dāng)前文檔和引用資源之間確立聯(lián)系。
src是source的縮寫,指向外部資源的位置,指向的內(nèi)容將會(huì)嵌入到文檔中當(dāng)前標(biāo)簽所在位置;在請(qǐng)求src資源時(shí)會(huì)將其指向的資源下載并應(yīng)用到文檔內(nèi),當(dāng)瀏覽器解析到該元素時(shí),會(huì)暫停其他資源的下載和處理,直到將該資源加載、編譯、執(zhí)行完畢,圖片和框架等元素也如此,類似于將所指向資源嵌入當(dāng)前標(biāo)簽內(nèi)。這也是為什么將js腳本放在底部而不是頭部。
Src source,指向外部資源的位置,如果我們添加<script src ="js.js"></script>瀏覽器會(huì)暫停其他資源的下載和處理,直到該資源加載,編譯,執(zhí)行完畢(圖片和框架也是如此),這也就是為什么js腳本要放在底部。
src用于替換當(dāng)前元素,href用于在當(dāng)前文檔和引入資源之間建立聯(lián)系。
cookie 本身不是用來(lái)做服務(wù)器端存儲(chǔ)的(計(jì)算機(jī)領(lǐng)域有很多這種“狗拿耗子”的例子,例如 CSS 中的 float),它是設(shè)計(jì)用來(lái)在服務(wù)器和客戶端進(jìn)行信息傳遞的,因此我們的每個(gè) HTTP 請(qǐng)求都帶著 cookie。但是 cookie 也具備瀏覽器端存儲(chǔ)的能力(例如記住用戶名和密碼),因此就被開(kāi)發(fā)者用上了。
使用起來(lái)也非常簡(jiǎn)單,document.cookie = ....即可。
但是 cookie 有它致命的缺點(diǎn):
存儲(chǔ)量太小,只有 4KB
所有 HTTP 請(qǐng)求都帶著,會(huì)影響獲取資源的效率
API 簡(jiǎn)單,需要封裝才能用
后來(lái),HTML5 標(biāo)準(zhǔn)就帶來(lái)了sessionStorage和localStorage,先拿localStorage來(lái)說(shuō),它是專門為了瀏覽器端緩存而設(shè)計(jì)的。
存儲(chǔ)量增大到 5MB
不會(huì)帶到 HTTP 請(qǐng)求中
API 適用于數(shù)據(jù)存儲(chǔ) localStorage.setItem(key, value) localStorage.getItem(key)
sessionStorage的區(qū)別就在于它是根據(jù) session 過(guò)去時(shí)間而實(shí)現(xiàn),而localStorage會(huì)永久有效,應(yīng)用場(chǎng)景不同。例如,一些需要及時(shí)失效的重要信息放在sessionStorage中,一些不重要但是不經(jīng)常設(shè)置的信息,放在localStorage中。
標(biāo)簽閉合、標(biāo)簽小寫、不亂嵌套、提高搜索機(jī)器人搜索幾率、使用外 鏈css和js腳本、結(jié)構(gòu)行為表現(xiàn)的分離、文件下載與頁(yè)面速度更快、內(nèi)容能被更多的用戶所訪問(wèn)、內(nèi)容能被更廣泛的設(shè)備所訪問(wèn)、更少的代碼和組件,容易維 護(hù)、改版方便,不需要變動(dòng)頁(yè)面內(nèi)容、提供打印版本而不需要復(fù)制內(nèi)容、提高網(wǎng)站易用性;
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。