伊人久久大香线蕉综合影视_日韩精品少妇无码受不了_71pao成人国产永久免费视频_国产伦片中文免费观看_国产高清无码麻豆精品_九色综合伊人久久富二代_日韩黄色精品_日韩A∨精品日韩精品无码

首頁

中央氣象臺(tái)近十年設(shè)計(jì)精品集

前端達(dá)人

今天整理網(wǎng)站類作品,看到給中央氣象臺(tái)近十年設(shè)計(jì)的諸多網(wǎng)頁和系統(tǒng)。這幾天每天關(guān)注鄱陽湖洪水狀況,2018年改版時(shí),有一版的設(shè)計(jì)方案,我設(shè)計(jì)了洪水到來時(shí)的專題,圖片視頻,動(dòng)畫提醒居民注意事項(xiàng)。同事們也花了許多精力時(shí)間做了大量工作。

作為公民,我們在用我們擅長的設(shè)計(jì)去服務(wù)社會(huì),在這個(gè)過程中形成自己的積淀。這是不可用金錢來衡量的價(jià)值。

微信圖片_20200721174610.png


微信圖片_20200721174606.jpg


微信圖片_20200721174603.png

微信圖片_20200721174559.png

微信圖片_20200721174555.png

微信圖片_20200721174551.png

微信圖片_20200721174547.png

微信圖片_20200721174543.png

微信圖片_20200721174539.png

微信圖片_20200721174614.png







作者:藍(lán)藍(lán)

  藍(lán)藍(lán)設(shè)計(jì)www.cqzjtgb.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)

ifram內(nèi)嵌套tab選項(xiàng)卡以及iframe切換的一系列問題

前端達(dá)人

最近在項(xiàng)目中遇到這樣一個(gè)問題

點(diǎn)擊查看原圖

當(dāng)頁面加載完畢后由于選項(xiàng)卡的另外兩張屬于display:none;狀態(tài)  所以另外兩張選項(xiàng)卡內(nèi)echarts的寬高都會(huì)變成默認(rèn)100*100


查閱了很多網(wǎng)上的案例,得出一下一些解決方案:

1:

原因很簡單,在tab頁中,圖表的父容器div是隱藏的(display:none),圖表在執(zhí)行js初始化的時(shí)候找不到這個(gè)元素,所以自動(dòng)將“100%”轉(zhuǎn)成了“100”,最后計(jì)算出來的圖表就成了100px

解決辦法:

找一個(gè)在tab頁的切換操作中不會(huì)隱藏的父容器,把它的寬度的具體值取出后在初始化圖表之前直接賦給圖表


1 $("#chartMain").css('width',$("#TabContent").width());//獲取父容器的寬度具體數(shù)值直接賦值給圖表以達(dá)到寬度100%的效果 2 var Chart = echarts.init(document.getElementById('chartMain')); 3 4 // 指定圖表的配置項(xiàng)和數(shù)據(jù) 5 option = { ...配置項(xiàng)和數(shù)據(jù) }; 6 7 // 使用剛指定的配置項(xiàng)和數(shù)據(jù)顯示圖表。 8 Chart.setOption(option);

2:mychart.resize() 重新渲染高度

3: 后來我想到了問題所在,既然高度是因?yàn)閐isplay:none;導(dǎo)致的 那大可不必設(shè)置這個(gè)屬性,但是在頁面渲染完畢后加上即可

所以取消了選項(xiàng)卡的display:none; 但在頁面加載完畢后 
window.οnlοad=function(){

根基id在添加css display:none;

}

即可解決,

分割線

--------------------------------------------------------------------- 

接下來解決一下ifram內(nèi)外通訊 互相通訊賦值ifram src 和高度問題 

ui界面設(shè)計(jì)之網(wǎng)站設(shè)計(jì)案例欣賞(一)

前端達(dá)人

   藍(lán)藍(lán)設(shè)計(jì)的同事們,在積累了一定經(jīng)驗(yàn)的同時(shí),也在不斷的學(xué)習(xí)和豐富關(guān)于網(wǎng)站及數(shù)據(jù)可視化的表達(dá)方式,搜集資料,作為大屏及數(shù)據(jù)可視化界面設(shè)計(jì)資料的參考,分享如下:


希望這篇文章可以幫到您!

微信圖片_20200612102206.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——


微信圖片_20200612102221.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200612102228.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200612102230.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200612102253.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200617141554.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200617141607.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200617141610.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200617141635.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200617141713.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200617141716.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200617141718.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205433.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205436.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205438.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205445.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205448.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205451.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205456.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205511.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205514.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205518.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205521.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205524.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205527.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205530.png

——-- 網(wǎng)站ui設(shè)計(jì) --——微信圖片_20200621205532.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205535.png

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205538.jpg

——-- 網(wǎng)站ui設(shè)計(jì) --——

微信圖片_20200621205541.png

——-- 網(wǎng)站ui設(shè)計(jì) --——


(圖片均來源于網(wǎng)絡(luò))

  藍(lán)藍(lán)設(shè)計(jì)www.cqzjtgb.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)



    更多精彩文章:


手機(jī)appUI界面設(shè)計(jì)賞析(三)

前端達(dá)人

與傳統(tǒng)PC桌面不同,手機(jī)屏幕的尺寸更加小巧操作,方式也已觸控為主,APP界面設(shè)計(jì)不但要保證APP功能的完整性和合理性,又要保證APP的功能性和實(shí)用性,在保證其擁有流暢的操作感受的同時(shí),滿足人們的審美需求。

接下來為大家介紹幾款手機(jī)appui界面設(shè)計(jì)

微信圖片_20200612102238.jpg

   --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200612102245.jpg

   --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200617141551.png

   --手機(jī)appUI設(shè)計(jì)--微信圖片_20200617141556.png

   --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200617141604.png

   --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200617141721.jpg

   --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200617141724.jpg

   --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200621205421.png

   --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200621205454.jpg

   --手機(jī)appUI設(shè)計(jì)--


(以上圖片均來源于網(wǎng)絡(luò))



  藍(lán)藍(lán)設(shè)計(jì)www.cqzjtgb.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)



  更多精彩文章:

       手機(jī)appUI界面設(shè)計(jì)賞析(一)

       手機(jī)appUI界面設(shè)計(jì)賞析(二)


大數(shù)據(jù)可視化設(shè)計(jì)賞析(五)

前端達(dá)人

  隨著大數(shù)據(jù)產(chǎn)業(yè)的發(fā)展,越來越多的公司開始實(shí)現(xiàn)數(shù)據(jù)資源的管理和應(yīng)用,尤其是一些在日常生活中經(jīng)常使用大屏幕的大中型企業(yè)。此時(shí),用戶界面設(shè)計(jì)者需要呈現(xiàn)相應(yīng)的視覺效果。接下來為大家介紹大屏可視化的UI設(shè)計(jì)。

微信圖片_20200612102133.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200612102139.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200612102157.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200612102200.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200612102203.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200612102232.png

 --大屏UI設(shè)計(jì)--

微信圖片_20200612102235.png

 --大屏UI設(shè)計(jì)--

微信圖片_20200612102248.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200612102250.png

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141542.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141618.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141621.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141621.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141624.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141628.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141631.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141649.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141652.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141655.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141706.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200617141709.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200621205413.png

 --大屏UI設(shè)計(jì)--



(圖片均來源于網(wǎng)絡(luò))

  藍(lán)藍(lán)設(shè)計(jì)www.cqzjtgb.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)



    更多精彩文章:

       

 大數(shù)據(jù)可視化設(shè)計(jì)賞析(一)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(二)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(三)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(四)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(五)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(六)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(七)



大數(shù)據(jù)可視化設(shè)計(jì)賞析(四)

前端達(dá)人

   隨著大數(shù)據(jù)產(chǎn)業(yè)的發(fā)展,越來越多的公司開始實(shí)現(xiàn)數(shù)據(jù)資源的管理和應(yīng)用,尤其是一些在日常生活中經(jīng)常使用大屏幕的大中型企業(yè)。此時(shí),用戶界面設(shè)計(jì)者需要呈現(xiàn)相應(yīng)的視覺效果。接下來為大家介紹大屏可視化的UI設(shè)計(jì)。

微信圖片_20200607232854.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200607232903.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200607232908.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200607232911.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200607232913.jpg

 --大屏UI設(shè)計(jì)--

微信圖片_20200607232916.jpg

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

微信圖片_20200607232926.jpg

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

微信圖片_20200607232941.jpg

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--

點(diǎn)擊查看原圖

 --大屏UI設(shè)計(jì)--


(圖片均來源于網(wǎng)絡(luò))

  藍(lán)藍(lán)設(shè)計(jì)www.cqzjtgb.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)



    更多精彩文章:

       

 大數(shù)據(jù)可視化設(shè)計(jì)賞析(一)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(二)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(三)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(四)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(五)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(六)

  大數(shù)據(jù)可視化設(shè)計(jì)賞析(七)




React 簡單介紹

前端達(dá)人

why React?

React是Facebook開發(fā)的一款JS庫,那么Facebook為什么要建造React呢,主要為了解決什么問題,通過這個(gè)又是如何解決的?

從這幾個(gè)問題出發(fā)我就在網(wǎng)上搜查了一下,有這樣的解釋。

Facebook認(rèn)為MVC無法滿足他們的擴(kuò)展需求,由于他們非常巨大的代碼庫和龐大的組織,使得MVC很快變得非常復(fù)復(fù)雜,每當(dāng)需要添加一項(xiàng)新的功能或特性時(shí),系統(tǒng)的復(fù)雜度就成級數(shù)增長,致使代碼變得脆弱和不可預(yù)測,結(jié)果導(dǎo)致他們的MVC正在土崩瓦解。認(rèn)為MVC不適合大規(guī)模應(yīng)用,當(dāng)系統(tǒng)中有很多的模型和相應(yīng)的視圖時(shí),其復(fù)雜度就會(huì)迅速擴(kuò)大,非常難以理解和調(diào)試,特別是模型和視圖間可能存在的雙向數(shù)據(jù)流動(dòng)。

解決這個(gè)問題需要“以某種方式組織代碼,使其更加可預(yù)測”,這通過他們(Facebook)提出的Flux和React已經(jīng)完成。


Flux是一個(gè)系統(tǒng)架構(gòu),用于推進(jìn)應(yīng)用中的數(shù)據(jù)單向流動(dòng)。React是一個(gè)JavaScript框架,用于構(gòu)建“可預(yù)期的”和“聲明式的”Web用戶界面,它已經(jīng)使Facebook更快地開發(fā)Web應(yīng)用


對于Flux,目前還沒怎么研究,不怎么懂,這里就先把Flux的圖放上來,有興趣或者了解的可以再分享下,這里主要說下React。

微信截圖_20200602202548.png

那么React是解決什么問題的,在官網(wǎng)可以找到這樣一句話:

We built React to solve one problem: building large applications with data that changes over time.


構(gòu)建那些數(shù)據(jù)會(huì)隨時(shí)間改變的大型應(yīng)用,做這些,React有兩個(gè)主要的特點(diǎn):

  1. 簡單
    簡單的表述任意時(shí)間點(diǎn)你的應(yīng)用應(yīng)該是什么樣子的,React將會(huì)自動(dòng)的管理UI界面更新當(dāng)數(shù)據(jù)發(fā)生變化的時(shí)候。
  2. 聲明式
    在數(shù)據(jù)發(fā)生變化的時(shí)候,React從概念上講與點(diǎn)擊了F5一樣,實(shí)際上它僅僅是更新了變化的一部分而已。
    React是關(guān)于構(gòu)造可重用組件的,實(shí)際上,使用React你做的僅僅是構(gòu)建組建。通過封裝,使得組件代碼復(fù)用、測試以及關(guān)注點(diǎn)分離更加容易。

另外在React官網(wǎng)上,通過《Why did we build React?》為什么我們要建造React的文檔中還可以了解到以下四點(diǎn):

  • React不是一個(gè)MVC框架
  • React不使用模板
  • 響應(yīng)式更新非常簡單
  • HTML5僅僅是個(gè)開始

React主要的原理

Virtual DOM 虛擬DOM
傳統(tǒng)的web應(yīng)用,操作DOM一般是直接更新操作的,但是我們知道DOM更新通常是比較昂貴的。而React為了盡可能減少對DOM的操作,提供了一種不同的而又強(qiáng)大的方式來更新DOM,代替直接的DOM操作。就是Virtual DOM,一個(gè)輕量級的虛擬的DOM,就是React抽象出來的一個(gè)對象,描述dom應(yīng)該什么樣子的,應(yīng)該如何呈現(xiàn)。通過這個(gè)Virtual DOM去更新真實(shí)的DOM,由這個(gè)Virtual DOM管理真實(shí)DOM的更新。

為什么通過這多一層的Virtual DOM操作就能更快呢? 這是因?yàn)镽eact有個(gè)diff算法,更新Virtual DOM并不保證馬上影響真實(shí)的DOM,React會(huì)等到事件循環(huán)結(jié)束,然后利用這個(gè)diff算法,通過當(dāng)前新的dom表述與之前的作比較,計(jì)算出最小的步驟更新真實(shí)的DOM。


微信截圖_20200602202557.png

Components 組件
在DOM樹上的節(jié)點(diǎn)被稱為元素,在這里則不同,Virtual DOM上稱為commponent。Virtual DOM的節(jié)點(diǎn)就是一個(gè)完整抽象的組件,它是由commponents組成。


component 的使用在 React 里極為重要, 因?yàn)?components 的存在讓計(jì)算 DOM diff 更。

State 和 Render
React是如何呈現(xiàn)真實(shí)的DOM,如何渲染組件,什么時(shí)候渲染,怎么同步更新的,這就需要簡單了解下State和Render了。state屬性包含定義組件所需要的一些數(shù)據(jù),當(dāng)數(shù)據(jù)發(fā)生變化時(shí),將會(huì)調(diào)用Render重現(xiàn)渲染,這里只能通過提供的setState方法更新數(shù)據(jù)。

好了,說了這么多,下面看寫代碼吧,先看一個(gè)官網(wǎng)上提供的Hello World的示例:


<!DOCTYPE html> <html> <head> <script src="http://fb.me/react-0.12.1.js"></script> <script src="http://fb.me/JSXTransformer-0.12.1.js"></script> </head> <body> <div id="example"></div> <script type="text/jsx"> React.render( <h1>Hello, world!</h1>,
        document.getElementById('example')
      ); </script> </body> </html>

這個(gè)很簡單,瀏覽器訪問,可以看到Hello, world!字樣。JSXTransformer.js是支持解析JSX語法的,JSX是可以在Javascript中寫html代碼的一種語法。如果不喜歡,React也提供原生Javascript的方法。

再來看下另外一個(gè)例子:



<html>
    <head>
        <title>Hello React</title>
        <script src="http://fb.me/react-0.12.1.js"></script>
        <script src="http://fb.me/JSXTransformer-0.12.1.js"></script>
        <script src="http://code.jquery.com/jquery-1.10.0.min.js"></script>
        <script src="http://cdnjs.cloudflare.com/ajax/libs/showdown/0.3.1/showdown.min.js"></script>
        <style>
        #content{
            width: 800px;
            margin: 0 auto;
            padding: 5px 10px;
            background-color:#eee;
        }
        .commentBox h1{
            background-color: #bbb;
        }
        .commentList{
            border: 1px solid yellow;
            padding:10px;
        }
        .commentList .comment{
            border: 1px solid #bbb;
            padding-left: 10px;
            margin-bottom:10px;
        }
        .commentList .commentAuthor{
            font-size: 20px;
        }
        .commentForm{
            margin-top: 20px;
            border: 1px solid red;
            padding:10px;
        }
        .commentForm textarea{
            width:100%;
            height:50px;
            margin:10px 0 10px 2px;
        }
        </style>
    </head>
    <body>
        <div id="content"></div>
        <script type="text/jsx">
        var staticData = [
            {author: "張飛", text: "我在寫一條評論~!"},
            {author: "關(guān)羽", text: "2貨,都知道你在寫的是一條評論。。"},
            {author: "劉備", text: "哎,咋跟這倆逗逼結(jié)拜了!"}
        ];

        var converter = new Showdown.converter();//markdown

        /** 組件結(jié)構(gòu):
            <CommentBox>
                <CommentList>
                    <Comment />
                </CommentList>
                <CommentForm />
            </CommentBox>
        */
        //評論內(nèi)容組件
        var Comment = React.createClass({
            render: function (){
                var rawMarkup = converter.makeHtml(this.props.children.toString());
                return (
                    <div className="comment">
                        <h2 className="commentAuthor">
                            {this.props.author}:
                        </h2>
                        <span dangerouslySetInnerHTML={{__html: rawMarkup}} />
                    </div>
                );
            }
        });
        //評論列表組件
        var CommentList = React.createClass({
            render: function (){
                var commentNodes = this.props.data.map(function (comment){
                    return (
                        <Comment author={comment.author}>
                            {comment.text}
                        </Comment>
                    );
                });

                return (
                    <div className="commentList">
                        {commentNodes}
                    </div>
                );
            }
        });

        //評論表單組件
        var CommentForm = React.createClass({
            handleSubmit: function (e){
                e.preventDefault();
                var author = this.refs.author.getDOMNode().value.trim();
                var text = this.refs.text.getDOMNode().value.trim();
                if(!author || !text){
                    return;
                }
                this.props.onCommentSubmit({author: author, text: text});
                this.refs.author.getDOMNode().value = '';
                this.refs.text.getDOMNode().value = '';
                return;
            },
            render: function (){
                return (
                    <form className="commentForm" onSubmit={this.handleSubmit}>
                        <input type="text" placeholder="Your name" ref="author" /><br/>
                        <textarea type="text" placeholder="Say something..." ref="text" ></textarea><br/>
                        <input type="submit" value="Post" />
                    </form>
                );
            }
        });

        //評論塊組件
        var CommentBox = React.createClass({
            loadCommentsFromServer: function (){
                this.setState({data: staticData});
                /*
                方便起見,這里就不走服務(wù)端了,可以自己嘗試
                $.ajax({
                    url: this.props.url + "?_t=" + new Date().valueOf(),
                    dataType: 'json',
                    success: function (data){
                        this.setState({data: data});
                    }.bind(this),
                    error: function (xhr, status, err){
                        console.error(this.props.url, status, err.toString());
                    }.bind(this)
                });
                */
            },
            handleCommentSubmit: function (comment){
                //TODO: submit to the server and refresh the list
                var comments = this.state.data;
                var newComments = comments.concat([comment]);

                //這里也不向后端提交了
                staticData = newComments;

                this.setState({data: newComments});
            },
            //初始化 相當(dāng)于構(gòu)造函數(shù)
            getInitialState: function (){
                return {data: []};
            },
            //組件添加的時(shí)候運(yùn)行
            componentDidMount: function (){
                this.loadCommentsFromServer();
                this.interval = setInterval(this.loadCommentsFromServer, this.props.pollInterval);
            },
            //組件刪除的時(shí)候運(yùn)行
            componentWillUnmount: function() {
                clearInterval(this.interval);
            },
            //調(diào)用setState或者父級組件重新渲染不同的props時(shí)才會(huì)重新調(diào)用
            render: function (){
                return (
                    <div className="commentBox">
                        <h1>Comments</h1>
                        <CommentList data={this.state.data}/>
                        <CommentForm onCommentSubmit={this.handleCommentSubmit} />
                    </div>
                );
            }
        });

        //當(dāng)前目錄需要有comments.json文件
        //這里定義屬性,如url、pollInterval,包含在props屬性中
        React.render(
            <CommentBox url="comments.json" pollInterval="2000" />,
            document.getElementById("content")
        );
        </script>
    </body>
</html>


乍一看挺多,主要看腳本部分就可以了。方便起見,這里都沒有走后端。定義了一個(gè)全局的變量staticData,可權(quán)當(dāng)是走服務(wù)端,通過瀏覽器的控制臺(tái)改變staticData的值,查看下效果,提交一條評論,查看下staticData的值的變化。

應(yīng)用情況

國外應(yīng)用的較多,facebook、Yahoo、Reddit等。在github可以看到一個(gè)列表Sites-Using-React,國內(nèi)的話,查了查,貌似比較少,目前知道的有一個(gè)杭州大搜車。大多技術(shù)要在國內(nèi)應(yīng)用起來一般是較慢的,不過React確實(shí)感覺比較特殊,特別是UI的組件化和Virtual DOM的思想,我個(gè)人比較看好,有興趣繼續(xù)研究研究。

比較分析

和其他一些js框架相比,React怎樣,比如Backbone、Angular等。

  • React不是一個(gè)MVC框架,它是構(gòu)建易于可重復(fù)調(diào)用的web組件,側(cè)重于UI, 也就是view層
  • 其次React是單向的從數(shù)據(jù)到視圖的渲染,非雙向數(shù)據(jù)綁定
  • 不直接操作DOM對象,而是通過虛擬DOM通過diff算法以最小的步驟作用到真實(shí)的DOM上。
  • 不便于直接操作DOM,大多數(shù)時(shí)間只是對 virtual DOM 進(jìn)行編程

作者:RK_CODER
鏈接:https://www.jianshu.com/p/ae482813b791
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。

手機(jī)appUI界面設(shè)計(jì)賞析(二)

前端達(dá)人



與傳統(tǒng)PC桌面不同,手機(jī)屏幕的尺寸更加小巧操作,方式也已觸控為主,APP界面設(shè)計(jì)不但要保證APP功能的完整性和合理性,又要保證APP的功能性和實(shí)用性,在保證其擁有流暢的操作感受的同時(shí),滿足人們的審美需求。

接下來為大家介紹幾款手機(jī)appui界面設(shè)計(jì)



點(diǎn)擊查看原圖

                                                                                    --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200240.jpg

                                                                                     --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200243.png

                                                                                   --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200246.png

                                                                                          --手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

                                                                                             --手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

                                                                                          --手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

                                                                                     --手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

                                                                                           --手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

                                                                                      --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200304.jpg

                                                                                           --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200306.jpg

                                                                                    --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200309.jpg

                                                                                --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200311.jpg

                                                                                  --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200454.jpg

                                                                                    --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200457.jpg

                                                                               --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200459.jpg

                                                                                    --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200501.jpg

                                                                                           --手機(jī)appUI設(shè)計(jì)--

微信圖片_20200602200504.jpg

                                                                                          --手機(jī)appUI設(shè)計(jì)--


(以上圖片均來源于網(wǎng)絡(luò))



  藍(lán)藍(lán)設(shè)計(jì)www.cqzjtgb.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 平面設(shè)計(jì)服務(wù)




    更多精彩文章:

       手機(jī)appUI界面設(shè)計(jì)賞析(一)

    





Three.js 基礎(chǔ)入門

前端達(dá)人

課程介紹

近些年,瀏覽器的功能越來越強(qiáng)大,漸漸得成為了復(fù)雜應(yīng)用和圖形的平臺(tái)。同時(shí),現(xiàn)有大多數(shù)瀏覽器實(shí)現(xiàn)了對 WebGL 的支持,但要直接使用 WebGL 相關(guān)接口進(jìn)行開發(fā),則需要學(xué)習(xí)復(fù)雜的著色器語言,且開發(fā)周期長,不利于項(xiàng)目的快速開發(fā)。

面對這種情況,Three.js 應(yīng)運(yùn)而生,它不但對 WebGL 進(jìn)行了封裝,將復(fù)雜的接口簡單化,而且基于面向?qū)ο笏季S,將數(shù)據(jù)結(jié)構(gòu)對象化,非常方便我們開發(fā)。Three.js 的發(fā)展十分迅速,然而配套的學(xué)習(xí)材料卻比較匱乏,于是便有了當(dāng)前的這個(gè)課程。

本課程作為入門課程,不會(huì)深入做源碼解析,主要協(xié)助初學(xué)者了解 Three.js 的數(shù)據(jù)結(jié)構(gòu),基礎(chǔ) API 以及相關(guān)輔助插件的使用。幫助初學(xué)者達(dá)到快速入門的目的。

本課程共包含四大部分。

第一部分(第01-02課),入門前概述,帶你初步認(rèn)識(shí) Three.js、框架選擇標(biāo)準(zhǔn)、開發(fā)工具,源碼獲取,實(shí)現(xiàn)一個(gè)“Hello World”輔助工具。
第二部分(第03-08課),基礎(chǔ)功能篇,主要包括 Object3D、Scene、Mesh、Group、Geometry、Materials、Lights、Cameras、粒子等相關(guān)功能的介紹。
第三部分(第09-15課),進(jìn)階篇,主要包括 Controls、Loaders、Animation、Tween、核心對象,與場景之間的交互以及性能優(yōu)化介紹。
第四部分(第16課),實(shí)戰(zhàn)篇,帶大家利用所學(xué)知識(shí)實(shí)現(xiàn)一個(gè) 3D 小案例。

作者簡介

鄭世強(qiáng),現(xiàn)就職于上海某網(wǎng)絡(luò)公司擔(dān)任前端工程師,CSDN 博客作者,長期活躍于各大論壇,擅長前端開發(fā)、WEBGL 開發(fā)。

課程內(nèi)容

第01課:入門前準(zhǔn)備

什么是 WebGL?

WebGL(Web 圖形庫)是一種 JavaScript API,用于在任何兼容的 Web 瀏覽器中呈現(xiàn)交互式 3D 和 2D 圖形,而無需使用插件。WebGL 通過引入一個(gè)與 OpenGL ES 2.0 緊密相符合的 API,可以在 HTML5 <canvas> 元素中使用(簡介引自 MDN)。

以我的理解,WebGL 給我們提供了一系列的圖形接口,能夠讓我們通過 JavaScript 去使用 GPU 來進(jìn)行瀏覽器圖形渲染的工具。


什么是 Three.js?

Three.js 是一款 webGL 框架,由于其易用性被廣泛應(yīng)用。Three.js 在 WebGL 的 API 接口基礎(chǔ)上,又進(jìn)行的一層封裝。它是由居住在西班牙巴塞羅那的程序員 Ricardo Cabbello Miguel 所開發(fā),他更為人知的網(wǎng)名是 Mr.doob。



Three.js 以簡單、直觀的方式封裝了 3D 圖形編程中常用的對象。Three.js 在開發(fā)中使用了很多圖形引擎的高級技巧,極大地提高了性能。另外,由于內(nèi)置了很多常用對象和極易上手的工具,Three.js 的功能也非常強(qiáng)大。最后,Three.js 還是完全開源的,你可以在 GitHub 上找到它的源代碼,并且有很多人貢獻(xiàn)代碼,幫助 Mr.doob 一起維護(hù)這個(gè)框架。

WEBGL 和 Three.js 的關(guān)系

WebGL 原生 API 是一種非常低級的接口,而且還需要一些數(shù)學(xué)和圖形學(xué)的相關(guān)技術(shù)。對于沒有相關(guān)基礎(chǔ)的人來說,入門真的很難,Three.js 將入門的門檻降低了一大截,對 WebGL 進(jìn)行封裝,簡化我們創(chuàng)建三維動(dòng)畫場景的過程。只要你有一定的 JavaScript 基礎(chǔ),有一定的前端經(jīng)驗(yàn),我堅(jiān)信,用不了多長時(shí)間,三維制作會(huì)變得很簡單。



用最簡單的一句話概括:WebGL 和 Three.js 的關(guān)系,相當(dāng)于 JavaScript 和 jQuery 的關(guān)系。

功能概述

Three.js 作為 WebGL 框架中的佼佼者,由于它的易用性和擴(kuò)展性,使得它能夠滿足大部分的開發(fā)需求,Three.js 的具體功能如下:


Three.js 掩蓋了 3D 渲染的細(xì)節(jié):Three.js 將 WebGL 原生 API 的細(xì)節(jié)抽象化,將 3D 場景拆解為網(wǎng)格、材質(zhì)和光源(即它內(nèi)置了圖形編程常用的一些對象種類)。
面向?qū)ο螅洪_發(fā)者可以使用上層的 JavaScript 對象,而不是僅僅調(diào)用 JavaScript 函數(shù)。
功能非常豐富:Three.js 除封裝了 WebGL 原始 API 之外,Three.js 還包含了許多實(shí)用的內(nèi)置對象,可以方便地應(yīng)用于游戲開發(fā)、動(dòng)畫制作、幻燈片制作、髙分辨率模型和一些特殊的視覺效果制作。
速度很快:Three.js 采用了 3D 圖形最佳實(shí)踐來保證在不失可用性的前提下,保持極高的性能。
支持交互:WebGL 本身并不提供拾?。≒icking)功能(即是否知道鼠標(biāo)正處于某個(gè)物體上)。而 Three.js 則固化了拾取支持,這就使得你可以輕松為你的應(yīng)用添加交互功能。
包含數(shù)學(xué)庫:Three.js 擁有一個(gè)強(qiáng)大易用的數(shù)學(xué)庫,你可以在其中進(jìn)行矩陣、投影和矢量運(yùn)算。
內(nèi)置文件格式支持:你可以使用流行的 3D 建模軟件導(dǎo)出文本格式的文件,然后使用 Three.js 加載,也可以使用 Three.js 自己的 JSON 格式或二進(jìn)制格式。
擴(kuò)展性很強(qiáng):為 Three.js 添加新的特性或進(jìn)行自定義優(yōu)化是很容易的事情。如果你需要某個(gè)特殊的數(shù)據(jù)結(jié)構(gòu),那么只需要封裝到 Three.js 即可。
支持HTML5 Canvas:Three.js 不但支持 WebGL,而且還支持使用 Canvas2D、Css3D 和 SVG 進(jìn)行渲染。在未兼容 WebGL 的環(huán)境中可以回退到其它的解決方案。


缺點(diǎn)

雖然 Three.js 的優(yōu)勢很大,但是它也有它的不足之處:



官網(wǎng)文檔非常粗糙,對于新手極度不友好。

國內(nèi)的相關(guān)資源匱乏。

Three.js 所有的資料都是以英文格式存在,對國內(nèi)的朋友來說又提高了門檻。

Three.js 不是游戲引擎,一些游戲相關(guān)的功能沒有封裝在里面,如果需要相關(guān)的功能需要進(jìn)行二次開發(fā)。


Three.js 與其他庫的對比

隨著 WebGL 的迅速發(fā)展,相關(guān)的 WebGL 庫也豐富起來,接下來介紹幾個(gè)比較火的 WebGL 庫。



與 Babylon.js 對比

Babylon.JS 是最好的 JavaScript 3D 游戲引擎,它能創(chuàng)建專業(yè)級三維游戲。主要以游戲開發(fā)和易用性為主。與 Three.js 之間的對比:



Three.js 比較全面,而 Babylon.js 專注于游戲方面。

Babylon.js 提供了對碰撞檢測、場景重力、面向游戲的照相機(jī),Three.js 本身不自帶,需要依靠引入插件實(shí)現(xiàn)。

對于 WebGL 的封裝,雙方做得各有千秋,Three.js 淺一些,好處是易于擴(kuò)展,易于向更底層學(xué)習(xí);Babylon.js 深一些,好處是易用擴(kuò)展難度大一些。

Three.js 的發(fā)展依靠社區(qū)推動(dòng),出來的比較早,發(fā)展比較成熟,Babylon.js 由微軟公司在2013推出,文檔和社區(qū)都比較健全,國內(nèi)還不怎么火。


與 PlayCanvas 對比

PlayCanvas 是一個(gè)基于 WebGL 游戲引擎的企業(yè)級開源 JavaScript 框架,它有許多的開發(fā)工具能幫你快速創(chuàng)建 3D 游戲。與 Three.js 之間的對比:



PlayCanvas 的優(yōu)勢在于它有云端的在線可視化編輯工具。

PlayCanvas 的擴(kuò)展性不如 Three.js。

最主要是 PlayCanvas 不完全開源,還商業(yè)付費(fèi)。


與 Cesium 對比

Cesium 是國外一個(gè)基于 JavaScript 編寫的使用 WebGL 的地圖引擎,支持 3D、2D、2.5D 形式的地圖展示,可以自行繪制圖形,高亮區(qū)域。與 Three.js 對比:



Cesium 是一個(gè)地圖引擎,專注于 Gis,相關(guān)項(xiàng)目推薦使用它,其它項(xiàng)目還是算了。

至于庫的擴(kuò)展,其它的配套插件,以及周邊的資源都不及Three.js。


總結(jié)

通過以上信息我們發(fā)現(xiàn),Three.js 在其庫的擴(kuò)展性,易用性以及功能方面有很好的優(yōu)勢。學(xué)習(xí) Three.js 入門 3D 開發(fā)不但門檻低,而且學(xué)習(xí)曲線不會(huì)太陡,即使以后轉(zhuǎn)向 WebGL 原生開發(fā),也能通過 Three.js 學(xué)習(xí)到很多有用的知識(shí)。



現(xiàn)在最火的微信小游戲跳一跳也是在 Three.js 的基礎(chǔ)上開發(fā)出來的。所以,Three.js 是我們必須要學(xué)的 WebGL 框架。


入門前準(zhǔn)備

瀏覽器兼容


Three.js 可以使用 WebGL 在所有現(xiàn)代瀏覽器上渲染場景。對于舊版瀏覽器,尤其是 Internet Explorer 10 及更低版本,您可能需要回退到其他渲染器(CSS2DRenderer、CSS3DRenderer、SVGRenderer、CanvasRenderer)。



注意:如果您不需要支持這些舊版瀏覽器,則不推薦使用其他渲染器,因?yàn)樗鼈兯俣容^慢并且支持的功能比 WebGLRenderer 更少。


點(diǎn)擊查看原圖

即可下載當(dāng)前版本的代碼及相關(guān)案例,文件下載解壓后是這樣的:


微信截圖_20200529213036.png

其中相關(guān)文件夾的內(nèi)容是:

build:里面含有 Three.js 構(gòu)建出來的 JavaScript 文件,可以直接引入使用,并有壓縮版;
docs:Three.js 的官方文檔;
editor:Three.js 的一個(gè)網(wǎng)頁版的模型編輯器;
examples:Three.js 的官方案例,如果全都學(xué)會(huì),必將成為大神;
src:這里面放置的全是編譯 Three.js 的源文件;
test:一些官方測試代碼,我們一般用不到;
utils:一些相關(guān)插件;
其他:開發(fā)環(huán)境搭建、開發(fā)所需要的文件,如果不對 Three.js 進(jìn)行二次開發(fā),用不到。
還有第三種,就是直接去 GitHub 上下載源碼,和在官網(wǎng)上下載的代碼一樣。

hello World

前面說了這么多,準(zhǔn)備了這么多,最后,放上我們的第一個(gè)案例吧。由此來打開學(xué)習(xí) Three.js 的大門:


<!DOCTYPE html><html><head>    <meta charset=utf-8>    <title>我的第一個(gè)Three.js案例</title>    <style>        body {            margin: 0;        }        canvas {            width: 100%;            height: 100%;            display: block;        }    </style></head><body onload="init()"><script src="https://cdn.bootcss.com/three.js/92/three.js"></script><script>    //聲明一些全局變量    var renderer, camera, scene, geometry, material, mesh;    //初始化渲染器    function initRenderer() {        renderer = new THREE.WebGLRenderer(); //實(shí)例化渲染器        renderer.setSize(window.innerWidth, window.innerHeight); //設(shè)置寬和高        document.body.appendChild(renderer.domElement); //添加到dom    }    //初始化場景    function initScene() {        scene = new THREE.Scene(); //實(shí)例化場景    }    //初始化相機(jī)    function initCamera() {        camera = new THREE.PerspectiveCamera(45, window.innerWidth / window.innerHeight, 0.1, 200); //實(shí)例化相機(jī)        camera.position.set(0, 0, 15);    }    //創(chuàng)建模型    function initMesh() {        geometry = new THREE.BoxGeometry( 2, 2, 2 ); //創(chuàng)建幾何體        material = new THREE.MeshNormalMaterial(); //創(chuàng)建材質(zhì)        mesh = new THREE.Mesh( geometry, material ); //創(chuàng)建網(wǎng)格        scene.add( mesh ); //將網(wǎng)格添加到場景    }    //運(yùn)行動(dòng)畫    function animate() {        requestAnimationFrame(animate); //循環(huán)調(diào)用函數(shù)        mesh.rotation.x += 0.01; //每幀網(wǎng)格模型的沿x軸旋轉(zhuǎn)0.01弧度        mesh.rotation.y += 0.02; //每幀網(wǎng)格模型的沿y軸旋轉(zhuǎn)0.02弧度        renderer.render( scene, camera ); //渲染界面    }    //初始化函數(shù),頁面加載完成是調(diào)用    function init() {        initRenderer();        initScene();        initCamera();        initMesh();        animate();    }</script></body></html>

請將上面的代碼復(fù)制到 HTML 文件中,然后使用瀏覽器打開,我們就會(huì)發(fā)現(xiàn)下面的效果:

點(diǎn)擊查看原圖



————————————————

版權(quán)聲明:本文為CSDN博主「GitChat的博客」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。

原文鏈接:https://blog.csdn.net/valada/java/article/details/80871701







手機(jī)appUI界面設(shè)計(jì)賞析(一)

前端達(dá)人

與傳統(tǒng)PC桌面不同,手機(jī)屏幕的尺寸更加小巧操作,方式也已觸控為主,APP界面設(shè)計(jì)不但要保證APP功能的完整性和合理性,又要保證APP的功能性和實(shí)用性,在保證其擁有流暢的操作感受的同時(shí),滿足人們的審美需求。

接下來為大家介紹幾款手機(jī)appui界面設(shè)計(jì)

點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--

點(diǎn)擊查看原圖


--手機(jī)appUI設(shè)計(jì)--



微信圖片_20200529093951.jpg

--手機(jī)appUI設(shè)計(jì)--


微信圖片_20200529093948.png

--手機(jī)appUI設(shè)計(jì)--


微信圖片_20200529093946.png


--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖

--專業(yè)又貼心醫(yī)療App頁面設(shè)計(jì)--


微信圖片_20200529093941.jpg

--專業(yè)又貼心醫(yī)療App頁面設(shè)計(jì)--微信圖片_20200529093938.jpg

--專業(yè)又貼心醫(yī)療App頁面設(shè)計(jì)--微信圖片_20200529093936.jpg

--專業(yè)又貼心醫(yī)療App頁面設(shè)計(jì)--微信圖片_20200529093933.jpg

--專業(yè)又貼心醫(yī)療App頁面設(shè)計(jì)--微信圖片_20200529093930.jpg

--手機(jī)appUI設(shè)計(jì)--


微信圖片_20200529093928.jpg

--手機(jī)appUI設(shè)計(jì)--


微信圖片_20200529093925.jpg

--手機(jī)appUI設(shè)計(jì)--


微信圖片_20200529093921.jpg

--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖


--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖

--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖


--手機(jī)appUI設(shè)計(jì)--


--手機(jī)appUI設(shè)計(jì)--


點(diǎn)擊查看原圖



--手機(jī)appUI設(shè)計(jì)--

(以上圖片均來源于網(wǎng)絡(luò))



  藍(lán)藍(lán)設(shè)計(jì)www.cqzjtgb.com )是一家專注而深入的界面設(shè)計(jì)公司,為期望卓越的國內(nèi)外企業(yè)提供卓越的UI界面設(shè)計(jì)、BS界面設(shè)計(jì) 、 cs界面設(shè)計(jì) 、 ipad界面設(shè)計(jì) 、 包裝設(shè)計(jì) 、 圖標(biāo)定制 、 用戶體驗(yàn) 、交互設(shè)計(jì)、 網(wǎng)站建設(shè) 、平面設(shè)計(jì)服務(wù)



   更多精彩文章:

       手機(jī)appUI界面設(shè)計(jì)賞析(二)




日歷

鏈接

個(gè)人資料

存檔

中文乱码字字幕精品一区二区三区| 一级片免费观看大全| 精品一区二区三区视频在线| 天堂8中文在线网| 精品久久国产蜜桃| 免费在线观看黄色视频的| 婷婷色麻豆天堂久久| 亚洲av电影在线进入| 亚洲久久久国产精品| videos熟女内射| 在线观看www视频免费| 黄色视频在线播放观看不卡| 黄色视频在线播放观看不卡| 国产一级毛片在线| 亚洲国产日韩一区二区| 久久精品久久久久久噜噜老黄| 国产亚洲午夜精品一区二区久久| 国产精品嫩草影院av在线观看| 亚洲少妇的诱惑av| 人体艺术视频欧美日本| 七月丁香在线播放| 又黄又粗又硬又大视频| tube8黄色片| 欧美最新免费一区二区三区| 日韩精品有码人妻一区| 亚洲高清免费不卡视频| 91成人精品电影| 亚洲性久久影院| 一级,二级,三级黄色视频| xxx大片免费视频| 欧美人与性动交α欧美软件 | 久久久久久久久久人人人人人人| 亚洲国产av影院在线观看| 一区二区三区四区激情视频| 如何舔出高潮| 免费大片黄手机在线观看| 欧美日韩视频精品一区| 精品少妇久久久久久888优播| 青春草国产在线视频| av视频免费观看在线观看| 天天操日日干夜夜撸| 五月玫瑰六月丁香| 欧美 亚洲 国产 日韩一| 97在线人人人人妻| 五月开心婷婷网| 久久精品国产自在天天线| 日本爱情动作片www.在线观看| 韩国高清视频一区二区三区| 国产不卡av网站在线观看| 久久久久久久久久久久大奶| 一级毛片电影观看| 免费看av在线观看网站| 看十八女毛片水多多多| 18禁裸乳无遮挡动漫免费视频| videossex国产| 国产深夜福利视频在线观看| 九九在线视频观看精品| 一级片'在线观看视频| 中文乱码字字幕精品一区二区三区| 久久国产精品男人的天堂亚洲 | 欧美成人午夜精品| 蜜桃在线观看..| 一级,二级,三级黄色视频| 91久久精品国产一区二区三区| 亚洲欧美中文字幕日韩二区| 国产av一区二区精品久久| 天天躁夜夜躁狠狠久久av| 欧美国产精品一级二级三级| 免费黄色在线免费观看| 久久精品国产亚洲av涩爱| 香蕉国产在线看| 久久久久久久精品精品| 精品亚洲乱码少妇综合久久| 免费女性裸体啪啪无遮挡网站| 久久久久视频综合| 九色亚洲精品在线播放| 伦精品一区二区三区| 国产精品偷伦视频观看了| 久久午夜综合久久蜜桃| 久久久久久久大尺度免费视频| 捣出白浆h1v1| 国产精品国产三级国产av玫瑰| 欧美日韩国产mv在线观看视频| 丁香六月天网| 一级片免费观看大全| 狂野欧美激情性xxxx在线观看| 秋霞在线观看毛片| 伦理电影大哥的女人| 国产麻豆69| 9191精品国产免费久久| videos熟女内射| 午夜福利在线观看免费完整高清在| 日韩中文字幕视频在线看片| 人妻少妇偷人精品九色| 捣出白浆h1v1| 亚洲国产av影院在线观看| 一本久久精品| 午夜免费男女啪啪视频观看| 亚洲色图 男人天堂 中文字幕 | 国产精品不卡视频一区二区| 欧美bdsm另类| 欧美国产精品va在线观看不卡| 亚洲第一av免费看| 久久99精品国语久久久| 国精品久久久久久国模美| 中文字幕免费在线视频6| 国产精品一区二区在线观看99| 极品人妻少妇av视频| 一级毛片我不卡| 亚洲欧美色中文字幕在线| 边亲边吃奶的免费视频| 久久人人爽av亚洲精品天堂| 久久久久久人妻| 熟女电影av网| 成人影院久久| 欧美3d第一页| 欧美日韩一区二区视频在线观看视频在线| 男女国产视频网站| 国产爽快片一区二区三区| 人人妻人人澡人人爽人人夜夜| 亚洲伊人久久精品综合| 久久国内精品自在自线图片| 久久毛片免费看一区二区三区| 大香蕉久久成人网| 王馨瑶露胸无遮挡在线观看| 又黄又爽又刺激的免费视频.| 日本黄大片高清| 观看av在线不卡| 亚洲精品中文字幕在线视频| 国产欧美另类精品又又久久亚洲欧美| 视频中文字幕在线观看| 五月天丁香电影| 亚洲精品456在线播放app| 欧美97在线视频| 人人妻人人澡人人爽人人夜夜| 黄片无遮挡物在线观看| 国产激情久久老熟女| 一级毛片我不卡| 纯流量卡能插随身wifi吗| kizo精华| 纵有疾风起免费观看全集完整版| 国产极品粉嫩免费观看在线| 伦理电影免费视频| 免费日韩欧美在线观看| 伊人久久国产一区二区| 伦理电影大哥的女人| 日本色播在线视频| www.熟女人妻精品国产 | 婷婷色麻豆天堂久久| xxxhd国产人妻xxx| 久久久国产欧美日韩av| 亚洲激情五月婷婷啪啪| 91精品伊人久久大香线蕉| 欧美精品高潮呻吟av久久| 一级片免费观看大全| 日本爱情动作片www.在线观看| 伊人久久国产一区二区| 超色免费av| 黄色毛片三级朝国网站| 国产精品国产av在线观看| 国产一区二区三区av在线| 亚洲成人手机| 男人添女人高潮全过程视频| 欧美日韩视频精品一区| 老司机亚洲免费影院| 日韩在线高清观看一区二区三区| 欧美日韩精品成人综合77777| 大片免费播放器 马上看| 午夜影院在线不卡| 最黄视频免费看| 国产在视频线精品| 久久精品国产亚洲av涩爱| 日日撸夜夜添| 青春草国产在线视频| 国产精品一区二区在线观看99| 一级片'在线观看视频| 在线观看www视频免费| 国产高清不卡午夜福利| 综合色丁香网| 午夜福利乱码中文字幕| 国产一区二区在线观看av| 人妻少妇偷人精品九色| 99精国产麻豆久久婷婷| 日本av手机在线免费观看| 午夜福利视频在线观看免费| 街头女战士在线观看网站| 亚洲婷婷狠狠爱综合网| 考比视频在线观看| 日韩不卡一区二区三区视频在线| 欧美精品亚洲一区二区| 久久久久久久久久人人人人人人| 亚洲国产精品一区三区| 精品亚洲成a人片在线观看| 亚洲精品自拍成人| 中文字幕精品免费在线观看视频 | 嫩草影院入口| 伦精品一区二区三区| 日日撸夜夜添| 婷婷成人精品国产| 亚洲av欧美aⅴ国产| 久久青草综合色| 日韩视频在线欧美| 亚洲国产av影院在线观看| 亚洲人与动物交配视频| 亚洲av电影在线进入| 欧美国产精品一级二级三级| 高清在线视频一区二区三区| 汤姆久久久久久久影院中文字幕| 国产在视频线精品| 国产一区二区三区综合在线观看 | 免费在线观看完整版高清| 亚洲国产精品专区欧美| 亚洲成人一二三区av| 免费观看在线日韩| 卡戴珊不雅视频在线播放| 男女无遮挡免费网站观看| 观看av在线不卡| 久久久久精品性色| 中文字幕人妻丝袜制服| 91精品伊人久久大香线蕉| 欧美变态另类bdsm刘玥| 日韩三级伦理在线观看| 亚洲精品国产av蜜桃| 亚洲一码二码三码区别大吗| 久久国产亚洲av麻豆专区| 成人综合一区亚洲| 日韩大片免费观看网站| 午夜精品国产一区二区电影| 男女啪啪激烈高潮av片| 春色校园在线视频观看| 人人妻人人爽人人添夜夜欢视频| 免费久久久久久久精品成人欧美视频 | 亚洲精品456在线播放app| 亚洲av日韩在线播放| 国精品久久久久久国模美| 日韩欧美一区视频在线观看| 国产成人免费观看mmmm| 久久久久久人人人人人| 只有这里有精品99| 国产精品一区www在线观看| 90打野战视频偷拍视频| av在线播放精品| 人妻 亚洲 视频| 精品国产一区二区久久| 999精品在线视频| 大话2 男鬼变身卡| 欧美日韩国产mv在线观看视频| 国产毛片在线视频| 黑人猛操日本美女一级片| av在线app专区| 亚洲精品久久久久久婷婷小说| 亚洲综合精品二区| 老司机影院毛片| 视频中文字幕在线观看| 日韩成人伦理影院| 男女高潮啪啪啪动态图| 男女无遮挡免费网站观看| 亚洲美女视频黄频| 国产精品久久久久久久久免| 亚洲精品,欧美精品| 老司机亚洲免费影院| 日韩熟女老妇一区二区性免费视频| 欧美另类一区| 日韩精品免费视频一区二区三区 | 欧美 日韩 精品 国产| 青春草亚洲视频在线观看| 国产高清三级在线| 女人精品久久久久毛片| 久久精品国产a三级三级三级| 蜜臀久久99精品久久宅男| 欧美国产精品va在线观看不卡| 五月开心婷婷网| 成人漫画全彩无遮挡| 日韩视频在线欧美| 大码成人一级视频| 精品亚洲成a人片在线观看| 五月伊人婷婷丁香| 妹子高潮喷水视频| freevideosex欧美| 亚洲国产精品成人久久小说| 99国产精品免费福利视频| 国产一区二区在线观看日韩| 热re99久久精品国产66热6| 免费看光身美女| 亚洲av成人精品一二三区| 黄网站色视频无遮挡免费观看| 亚洲国产精品一区二区三区在线| 最近手机中文字幕大全| 美女脱内裤让男人舔精品视频| 免费观看性生交大片5| 亚洲人成网站在线观看播放| 自拍欧美九色日韩亚洲蝌蚪91| 自线自在国产av| 亚洲熟女精品中文字幕| 亚洲精品中文字幕在线视频| 成人手机av| 黄色视频在线播放观看不卡| 欧美精品一区二区大全| 免费日韩欧美在线观看| 美女脱内裤让男人舔精品视频| 中文字幕av电影在线播放| 久久久欧美国产精品| 欧美精品国产亚洲| 欧美精品高潮呻吟av久久| 精品一区二区三区四区五区乱码 | 免费人妻精品一区二区三区视频| 狂野欧美激情性bbbbbb| 欧美精品一区二区大全| 曰老女人黄片| 成人毛片a级毛片在线播放| 一本久久精品| 一级毛片黄色毛片免费观看视频| 一级毛片我不卡| 成人亚洲精品一区在线观看| 啦啦啦视频在线资源免费观看| 久久亚洲国产成人精品v| 欧美国产精品一级二级三级| 成人综合一区亚洲| 少妇的逼好多水| 在线观看一区二区三区激情| 一本—道久久a久久精品蜜桃钙片| 男人舔女人的私密视频| av免费观看日本| a级毛色黄片| 日韩av不卡免费在线播放| 国产片特级美女逼逼视频| 国产av码专区亚洲av| 91精品国产国语对白视频| 国产成人一区二区在线| 日韩成人av中文字幕在线观看| 中国美白少妇内射xxxbb| 97在线视频观看| 亚洲三级黄色毛片| 九色成人免费人妻av| 欧美精品高潮呻吟av久久| 桃花免费在线播放| 乱码一卡2卡4卡精品| 亚洲美女视频黄频| 亚洲少妇的诱惑av| 成人国语在线视频| 夜夜爽夜夜爽视频| 九色成人免费人妻av| 成人综合一区亚洲| 夫妻午夜视频| 考比视频在线观看| 亚洲av电影在线观看一区二区三区| 久久毛片免费看一区二区三区| 国产精品免费大片| 成人午夜精彩视频在线观看| 国产精品一区二区在线不卡| 国产精品不卡视频一区二区| 在线观看美女被高潮喷水网站| 国产不卡av网站在线观看| 男女高潮啪啪啪动态图| 久久亚洲国产成人精品v| 成人影院久久| 欧美+日韩+精品| 成人漫画全彩无遮挡| 中国美白少妇内射xxxbb| 国产精品一区二区在线不卡| 午夜福利,免费看| 搡老乐熟女国产| 18+在线观看网站| 亚洲欧洲精品一区二区精品久久久 | 视频中文字幕在线观看| 日本黄色日本黄色录像| 啦啦啦中文免费视频观看日本| 免费看光身美女| 91在线精品国自产拍蜜月| 久久精品国产亚洲av涩爱| 校园人妻丝袜中文字幕| 黄色一级大片看看| videossex国产| 大陆偷拍与自拍| av国产久精品久网站免费入址| 90打野战视频偷拍视频| 一本大道久久a久久精品| 欧美日韩一区二区视频在线观看视频在线| 老司机影院成人| 国产福利在线免费观看视频| 国产精品一区www在线观看| 亚洲第一区二区三区不卡| 亚洲精品av麻豆狂野| 精品99又大又爽又粗少妇毛片| 精品99又大又爽又粗少妇毛片| 亚洲一码二码三码区别大吗| 啦啦啦中文免费视频观看日本| 精品一品国产午夜福利视频| 欧美人与性动交α欧美精品济南到 | 亚洲精品国产色婷婷电影| 亚洲精品国产av成人精品| 欧美激情国产日韩精品一区| 国产精品免费大片| 涩涩av久久男人的天堂| 日本av免费视频播放| 男人爽女人下面视频在线观看| 国产精品.久久久| 欧美少妇被猛烈插入视频| 国产一区有黄有色的免费视频| 国产麻豆69| 久久久久久人人人人人| 国产黄频视频在线观看| 人妻少妇偷人精品九色| 国产福利在线免费观看视频| 一本久久精品| 性高湖久久久久久久久免费观看| 啦啦啦中文免费视频观看日本| 亚洲欧美成人精品一区二区| 欧美精品国产亚洲| 国产亚洲av片在线观看秒播厂| 如日韩欧美国产精品一区二区三区| 在线 av 中文字幕| 九草在线视频观看| 久久人人爽av亚洲精品天堂| 国产又爽黄色视频| 最黄视频免费看| 人妻系列 视频| 夫妻性生交免费视频一级片| 天堂8中文在线网| 男人添女人高潮全过程视频| 中国三级夫妇交换| 久久久国产欧美日韩av| 亚洲伊人久久精品综合| 日日啪夜夜爽| 成人国产麻豆网| 欧美成人精品欧美一级黄| 一级,二级,三级黄色视频| 国产精品久久久久久精品电影小说| 日本黄大片高清| 老司机影院成人| 中文字幕另类日韩欧美亚洲嫩草| 大片免费播放器 马上看| 欧美激情极品国产一区二区三区 | 国产亚洲av片在线观看秒播厂| 亚洲美女视频黄频| 欧美日韩亚洲高清精品| 国产熟女午夜一区二区三区| 欧美丝袜亚洲另类| 一区二区三区精品91| 欧美丝袜亚洲另类| 涩涩av久久男人的天堂| 国产精品 国内视频| 久久午夜综合久久蜜桃| 久久这里有精品视频免费| 在线观看国产h片| 亚洲在久久综合| 国产1区2区3区精品| 夫妻性生交免费视频一级片| av女优亚洲男人天堂| 免费高清在线观看视频在线观看| 成年av动漫网址| 一本色道久久久久久精品综合| 午夜福利乱码中文字幕| 午夜免费鲁丝| 精品国产露脸久久av麻豆| 在线 av 中文字幕| 91aial.com中文字幕在线观看| 亚洲精品国产av蜜桃| 最近最新中文字幕免费大全7| 久久婷婷青草| 人人澡人人妻人| 免费av不卡在线播放| 女性被躁到高潮视频| 丝袜人妻中文字幕| 18禁观看日本| 亚洲精品色激情综合| 热99久久久久精品小说推荐| 国产成人免费无遮挡视频| 精品熟女少妇av免费看| 秋霞在线观看毛片| 少妇人妻 视频| 国产色婷婷99| 青春草亚洲视频在线观看| 性高湖久久久久久久久免费观看| 色婷婷久久久亚洲欧美| 中文欧美无线码| 久久人人97超碰香蕉20202| 日韩中文字幕视频在线看片| 中国美白少妇内射xxxbb| 男男h啪啪无遮挡| 成年美女黄网站色视频大全免费| 麻豆精品久久久久久蜜桃| 99热国产这里只有精品6| 日本91视频免费播放| av一本久久久久| 大香蕉久久网| 又黄又粗又硬又大视频| 国产精品国产三级专区第一集| 国产爽快片一区二区三区| 777米奇影视久久| 国产毛片在线视频| 亚洲综合精品二区| 欧美日韩成人在线一区二区| 伊人久久国产一区二区| 精品一区在线观看国产| 日韩,欧美,国产一区二区三区| 亚洲国产最新在线播放| 这个男人来自地球电影免费观看 | 侵犯人妻中文字幕一二三四区| 日韩中字成人| 欧美97在线视频| 色视频在线一区二区三区| 熟女电影av网| 国产精品一二三区在线看| www.色视频.com| 国产av一区二区精品久久| 免费观看无遮挡的男女| 国产成人精品久久久久久| 久久久精品区二区三区| 一级毛片 在线播放| 久久久欧美国产精品| 国产精品久久久久久av不卡| 天天躁夜夜躁狠狠久久av| 国产欧美日韩一区二区三区在线| 亚洲综合色网址| 深夜精品福利| 中文字幕精品免费在线观看视频 | 日日啪夜夜爽| 搡老乐熟女国产| 亚洲人成77777在线视频| 国产精品久久久久久精品电影小说| 哪个播放器可以免费观看大片| 老女人水多毛片| 夜夜爽夜夜爽视频| 久久久久久久精品精品| 亚洲国产精品一区二区三区在线| 国产成人欧美| 久久久国产一区二区| 日韩,欧美,国产一区二区三区| 免费日韩欧美在线观看| 日本午夜av视频| 日韩视频在线欧美| 中文字幕av电影在线播放| 人成视频在线观看免费观看| 狠狠精品人妻久久久久久综合| 国产男人的电影天堂91| 看免费成人av毛片| 国产 精品1| 亚洲欧洲国产日韩| 日韩欧美一区视频在线观看| 国产精品久久久久久av不卡| 国产黄色免费在线视频| 国产乱人偷精品视频| 久久午夜综合久久蜜桃| 你懂的网址亚洲精品在线观看| 久久精品久久久久久久性| 久久久久视频综合| 欧美日本中文国产一区发布| 亚洲国产精品成人久久小说| 国产国语露脸激情在线看| 国产av一区二区精品久久| 亚洲成人手机| 欧美亚洲 丝袜 人妻 在线| 97在线人人人人妻| 人人澡人人妻人| 国产成人精品久久久久久| 欧美成人精品欧美一级黄| 2018国产大陆天天弄谢| 大香蕉久久网| 97精品久久久久久久久久精品| www.色视频.com| 久久av网站| 2021少妇久久久久久久久久久| 黄片无遮挡物在线观看| 欧美97在线视频| 91精品国产国语对白视频| 日韩av不卡免费在线播放| 97在线人人人人妻| 国产综合精华液| 午夜福利网站1000一区二区三区| 久久久久久人人人人人| 黑人猛操日本美女一级片| 色网站视频免费| 国产无遮挡羞羞视频在线观看| xxx大片免费视频| av有码第一页| 国产日韩欧美视频二区| 日韩中文字幕视频在线看片| www.av在线官网国产| 国产精品一区www在线观看| 国产一区二区在线观看av| 中国美白少妇内射xxxbb| 日本欧美国产在线视频| 最新中文字幕久久久久| 久久久欧美国产精品| 中文字幕精品免费在线观看视频 | 天天影视国产精品| av在线播放精品| 亚洲精品自拍成人| 国产高清三级在线| 啦啦啦视频在线资源免费观看| 视频在线观看一区二区三区| 丝袜喷水一区| 久久97久久精品| 日韩av不卡免费在线播放| 丁香六月天网| 亚洲欧美日韩卡通动漫| 最新的欧美精品一区二区| 一级爰片在线观看| 久久 成人 亚洲| 免费高清在线观看视频在线观看| 天天影视国产精品| 国产成人a∨麻豆精品| 欧美亚洲 丝袜 人妻 在线| 夜夜爽夜夜爽视频| 精品卡一卡二卡四卡免费| 国产精品无大码| 人妻 亚洲 视频| 中文字幕精品免费在线观看视频 | 日韩电影二区| 丰满少妇做爰视频| 99香蕉大伊视频| 蜜桃在线观看..| 中文乱码字字幕精品一区二区三区| 精品一区二区三区四区五区乱码 |