剛上線的阿里達摩院官網,從前端角度看圈點之處

codercao發表於2018-09-30

寫在前面:

從去年十月份,馬雲成立阿里巴巴達摩院,到今年9月28號一年整,阿里達摩院官網正式上線。作為從事網際網路行業的人,大抵都是會去達摩院官網看看的,本文即我個人從前端角度對達摩院官網,進行的一次簡單粗暴的測評,細數圈點之處,並提取一些作為前端可以值得借鑑和思考的程式碼技巧。第一次寫體驗報告類文章,想到什麼寫什麼,個人角度或片面,不足之處,或者您有更好的見解,在留言處歡迎交流。當然希望有阿里達摩院的同學看到我這篇簡單的測評文章,可以把文中描述的達摩院官網中我個人覺得是bug的地方和優化的地方修復一哈

一、初體驗

1.1域名

pc端:https://damo.alibaba.com/

移動端:https://m.damo.alibaba.com/

1.2 頁面佈局(直接上圖了)

pc端

剛上線的阿里達摩院官網,從前端角度看圈點之處

移動端

剛上線的阿里達摩院官網,從前端角度看圈點之處

總體設計風格中國風和簡約科技感,中國風主要通過水墨(山)背景圖清澈,科技感是用了大量純色(帶有輕微漸變的深藍色)


二、小測牛刀

2.1頁面載入時間

清除瀏覽器快取,開啟控制檯,重新整理頁面,得到如下資訊(環境:個人家庭網路Google Chrome瀏覽器),可以看出該網站是服務端渲染的

1、請求數(requests):0/42
2、轉移資源大小(transferred):15.8M
3、所有請求(finish):3.09S
4、DOM樹構建完成(DOMContentLoaded):558ms
5、頁面載入完畢(Load):3.09s複製程式碼

再往下一看,竟然控制檯有個console.log()沒有去掉,尷尬了哈,具體列印的資料,就不做研究咯,有興趣的老鐵可以自己去看~

剛上線的阿里達摩院官網,從前端角度看圈點之處

2.2 頁面程式碼結構

看了console,肯定也就看看Elements,總得來說比較中規中矩,沒有太依賴第三方的庫,整體當然看了一下大概在新聞動態那邊用了swiper元件,當然最後面還加了一個【友盟+】cnzz的站長統計

剛上線的阿里達摩院官網,從前端角度看圈點之處

2.2頁面快取

1、CNZZDATA、UM_distinctid、sca:cnzz這個統計返回的

2、cna:每個阿里系的網站中都會有 cna 這個 cookie,而且是跨頂級域名的,個人猜測這玩意是用來識別裝置的

3、client_lang,當然只有你點了語言切換的時候,會出現

......

剛上線的阿里達摩院官網,從前端角度看圈點之處



三、前端圈點之處

這裡就到了本文的高潮了,先抑後揚的套路來一波,先說說個人作為前端的角度說說達摩院官網的“Bug”和個人覺得設計可以優化一點的地方吧,下面先睹為快

注:測試時間為2018/09/29

3.1 發現Bug和設計優化

3.1.1(bug)導航滑鼠經過事件,滑鼠經過“實驗室”欄目下出現一畫素白邊框(需要自行在官網體驗就知道了)

剛上線的阿里達摩院官網,從前端角度看圈點之處

找到程式碼,其實是下圖這個兄弟導致的,滑鼠經過的時候,這邊的display狀態改變

剛上線的阿里達摩院官網,從前端角度看圈點之處

3.1.2(優化)導航中間的Logo,個人覺得應該加一個點選事件,移動端亦如此,可以跳轉到首頁,目前無論是pc端還是移動端都是沒有點選事件的,目前程式碼是這樣的

<div class="middle"><img class="top-logo" src="/_pc/css/img/top-logo-en.png"></div>
複製程式碼

3.1.3(優化)導航最後的CN,首頁希望是可以點選切換各國語言的,當然子頁都是ok的,可以切換語言(已修復)

剛上線的阿里達摩院官網,從前端角度看圈點之處

3.1.4(優化)輪播圖,這塊滑鼠放上去是可以點選的,強迫症但本身又是很小的範圍可以放

剛上線的阿里達摩院官網,從前端角度看圈點之處

3.1.5(優化)關於相容性的問題,開啟IE(預設11),咳咳,好像字型丟了,哦哦,還有輪播圖,咋回事咯

剛上線的阿里達摩院官網,從前端角度看圈點之處

當然繼續往下測試,IE9就涼了(如下圖),大概就相容到IE10及以上吧

剛上線的阿里達摩院官網,從前端角度看圈點之處

3.1.6(優化)首頁和子頁輪播圖,2M大圖,載入時間(3s+)等到你有點窒息

剛上線的阿里達摩院官網,從前端角度看圈點之處



3.2 挖掘前端值得探究的地方


3.2.1導航

亮點:logo居中,導航欄目兩邊,滑鼠滾動收縮導航,適配移動端

在官網導航是把導航切了兩半,左中右三個div,中間div放logo,個人覺得如果導航數量可以確定的話,可以用 nth-child 空開位置留給logo,下面是我大概寫的佈局和樣式相關的部分(沒有調具體的樣式,完整程式碼

<template>
  <div class="header_bg">
      <div class="header">
        <div class="logo">
          <a href="/"><img src="../assets/top-logo-en.png" alt=" " /></a>
        </div>
        <nav class="navbar-default">
          <div class="navbar-header">
            <button type="button" class="navbar-toggle">
            </button>
          </div>
          <div class="navbar-collapse">
            <ul class="navbar-nav">
              <li class="act" v-for="item in navdata"><a><p class="c-title">{{item.cTitle}}</p><p class="e-title">{{item.eTitle}}</p></a></li>
              <li><a>CN</a></li>
            </ul>
          </div>
        </nav>
      </div>
  </div>
</template>

<script>
  export default {
    name: '',
    components: {},
    data() {
      return {
        navdata:[
          {"cTitle":"首頁","eTitle":"HOME"},
          {"cTitle":"實驗室","eTitle":"Laboratories"},
          {"cTitle":"合作生態","eTitle":"Collaboration"},
          {"cTitle":"新聞動態","eTitle":"Events"},
          {"cTitle":"加入我們","eTitle":"Careers"},
          {"cTitle":"關於我們","eTitle":"About Us"}
        ]
      }
    },
    methods: {}
  }
</script>複製程式碼

&:nth-child(1) {
   margin-left: 1/18 * 100%;
 }

&:nth-child(4) {
   margin-left: 3/18 * 100%;
 }複製程式碼

大概效果(“拼多多版”)

剛上線的阿里達摩院官網,從前端角度看圈點之處

3.2.2 輪播圖背景濾鏡效果

用的是filter(濾鏡) 屬性

剛上線的阿里達摩院官網,從前端角度看圈點之處

.background {
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: none;
    background-size: 100% 100%;
    -webkit-filter: blur(70px);
    -moz-filter: blur(70px);
    -o-filter: blur(70px);
    -ms-filter: blur(70px);
    filter: blur(70px);
    filter: progid:DXImageTransform.Microsoft.Blur(PixelRadius='70');
}
複製程式碼

3.2.3 新聞列表

swiper外掛可以瞭解一下

剛上線的阿里達摩院官網,從前端角度看圈點之處


3.2.4 手風琴皮膚展開收縮特效

主要用到了transition屬性

剛上線的阿里達摩院官網,從前端角度看圈點之處

.item-active {
    background-image: none!important;
    width: 278px;
    padding: 0 22px;
    transition: width .8s,padding-left .2s,padding-right .2s;
    -ms-transition: width .8s,padding-left .2s,padding-right .2s;
    -moz-transition: width .8s,padding-left .2s,padding-right .2s;
    -webkit-transition: width .8s,padding-left .2s,padding-right .2s;
    -o-transition: width .8s,padding-left .2s,padding-right .2s;
}
複製程式碼

題外話:阿里正因為是很多程式猿們嚮往的大廠,所以我們對你們技術上出現的小問題會更加的關注和在乎,當然我寫著文章是以一種交流和分享的姿態,不是砸場子而是文章前面寫的,當然希望有阿里達摩院的同學看到我這篇簡單的測評文章,可以把文中描述的達摩院官網中我個人覺得是bug的地方和優化的地方修復一哈,也希望對其他前端同學有所幫助~


相關文章