QQ瀏覽器官網(wǎng)

  1. 項目可以用<section>標(biāo)簽對不同部分進行劃分;

  2. 對css進行初始化:cssreset.css

  3. 頁面占滿整個屏幕且不出現(xiàn)滾動條

       html,body{ 
             width: 100%;
             height: 100%;
             overflow: hidden;
                       }
    
  4. 依賴滾滾屏插件實現(xiàn)鼠標(biāo)滾動做出相應(yīng):jquery.mousewheel.min.js

    github: https://github.com/jquery/jquery-mousewheel

    使用滾滾屏?xí)r,使用timeout進行節(jié)流 ,  讓最后一次滾動有效  ; 
    
    在pc端節(jié)流一般控制在500毫秒。
    
  • 用法:

    在監(jiān)聽屏幕滾動的時候,先清除定時器,再設(shè)置500毫秒的定時器;
    滾動事件寫在回調(diào)函數(shù)中
    
  1. 通過監(jiān)聽其上下滾動實現(xiàn)界面的界面

  2. 對不同界面的公共樣式進行搭建,然后使用js對特別的樣式進行劃分

  3. 在界面樣式搭建時,建議使用彈性布局。

  4. css3動畫
    animation: myAnimate 1s infinite alternate linear

      myAnimate 自定義動畫
      1s   動畫所花費的時間
      infinite  規(guī)定動畫應(yīng)該無限次播放
      alternate  動畫應(yīng)該輪流反向播放
      linear  動畫的曲線(勻速)
    
    
    /*滾動的指示器*/
         .scroll{
         ....
     /*ccs3動畫*/
       animation: unAndDowm 0.65s infinite alternate;
     }
    
       /*實現(xiàn)自定義動畫*/
     @keyframes unAndDowm {
       0%{transform:translateY(0px)}
      100%{transform:translateY(10px)}
     }
    
  5. css3漸變色介紹
    linear-gradient
    線性漸變的方向 默認(rèn)從上到下

  • 語法:
    background: linear-gradient(direction, color-stop1, color-stop2, ...);

    direction :漸變開始的角度, 默認(rèn)是180deg
    color-stop1 : 漸變的過渡的顏色 ( 可以寫多個,還可以在其后添加百分比  )
    
  1. background 簡寫屬性在一個聲明中設(shè)置所有的背景屬性。
    可以設(shè)置如下屬性:(用逗號隔開)

    - background-color
    - background-position : center  -60px
    - background-size
    - background-repeat
    -  background-origin
    - background-clip
    - background-attachment
    - background-image
    
  2. 絕對定位時,使其居中顯示的做法:

     width:200px;
     height:200px;
     left:50%;
     top:50%;
     margin-left:-100px;
     margin-top:-100px;
    
  3. 微調(diào)技巧

  • 聲明當(dāng)前文件的編碼格式

      /*聲明當(dāng)前文件的編碼格式*/
        @charset "UTF-8";
    
  • 設(shè)計聯(lián)調(diào)

    在瀏覽器的F12后,在source界面,右擊鼠標(biāo),彈出創(chuàng)建文件夾到工作空間;
    
    選中項目中的css文件夾,  點擊確認(rèn)后會彈出一個是否允許的權(quán)限提示,點擊允許;
    
    選中要關(guān)聯(lián)的文件,查看你編碼是否正確。
    
    右鍵選擇map將其映射到網(wǎng)絡(luò)中。按回車鍵即可。
    
    映射成功后,只要在瀏覽器上調(diào)試的都會相應(yīng)的修改在編輯器中。
    
  1. 透視介紹
  1. 使用css3動畫時的初始化模板

    transform:  translateX(0px) translateY(0px) translateZ(0px) 
                rotateX(0deg) rotateY(0deg) rotateZ(0deg) 
                scaleX(1) scaleY(1) scaleZ(1);
    
  • 注意:平移的單位是px,旋轉(zhuǎn)的單位是deg,放大的默認(rèn)值是1
  1. 面向和背向效果
  • 效果:圖片面向前,可見; 背向,不可見

  • backface-visibility : visible | hidden;

    - 設(shè)計標(biāo)簽背向時是否可見 ;
    - 如果在旋轉(zhuǎn)元素不希望看到其背面時,該屬性很有用。
    - **父標(biāo)簽在3D效果下能顯現(xiàn)**
    
  • 父標(biāo)簽添加3D效果: transform-style

       - 屬性規(guī)定如何在 3D 空間中呈現(xiàn)被嵌套的元素
       - 該屬性必須與 transform 屬性一同使用
    
    • 語法:transform-style: flat|preserve-3d;
  1. 給界面添加落空效果:通過添加落空類current
  • 界面一進來就默認(rèn)放大

    section.p2.current .p2_main,
    section.p2.current .p2_title{
    transform: translateX(0px) translateY(0px) translateZ(0px)   
               rotateX(0deg) rotateY(0deg) rotateZ(0deg) 
               scaleX(4) scaleY(4) scaleZ(4);
      }
    
  • 記得加上動畫過渡效果:

    .p2 .p2_main,
    .p2 .p2_title{
            transition: all 1s linear;
      }
    
  • 使用一次性定時器50ms,使落空的效果更加明顯。
    通過js刪除選中的界面的落空類,添加其他沒有選中的界面的落空類,
    使得再次切換的時候該落空類依然存在。

      function toggleCurrent() {
             setTimeout(function () {
                $('section').eq(index).removeClass('current').siblings('section').addClass('current');
      },50);
    }
    
  • 點擊和滾動屏幕的時候都應(yīng)該有落空類

  1. 公轉(zhuǎn)和自轉(zhuǎn)

     - 公轉(zhuǎn)的速度比自轉(zhuǎn)慢,且公轉(zhuǎn)是父親li在轉(zhuǎn),自轉(zhuǎn)是兒子img本身在轉(zhuǎn),都是圍繞z軸轉(zhuǎn)過360度。
     - 添加動畫animation即可實現(xiàn)
    
  2. 要在Z層分層,就要在其父元素上設(shè)置3d效果;

  3. background-size

background-size: length | percentage | cover | contain;

    *length*
    設(shè)置背景圖像的高度和寬度。
    第一個值設(shè)置寬度,第二個值設(shè)置高度。
    如果只設(shè)置一個值,則第二個值會被設(shè)置為 "auto"。

測試

  *percentage*
   以父元素的百分比來設(shè)置背景圖像的寬度和高度。
   第一個值設(shè)置寬度,第二個值設(shè)置高度。
   如果只設(shè)置一個值,則第二個值會被設(shè)置為 "auto"。

測試

cover
把背景圖像擴展至足夠大,以使背景圖像完全覆蓋背景區(qū)域。
背景圖像的某些部分也許無法顯示在背景定位區(qū)域中。

測試

  contain
  把圖像圖像擴展至最大尺寸,以使其寬度和高度完全適應(yīng)內(nèi)容區(qū)域
  1. transform-origin 屬性(樣式的坐標(biāo)點)

    transform-origin 屬性允許您改變被轉(zhuǎn)換元素的位置。
    2D 轉(zhuǎn)換元素能夠改變元素 x 和 y 軸。3D 轉(zhuǎn)換元素還能改變其 Z 軸。
    

    默認(rèn)值: 50% 50% 0
    繼承性: no
    版本: CSS3
    JavaScript 語法: object.style.transformOrigin="20% 40%"

transform-origin: x-axis y-axis z-axis;

  • x-axis

      定義視圖被置于 X 軸的何處??赡艿闹担?  left
      center
      right
      length
      %
    
  • y-axis

      定義視圖被置于 Y 軸的何處??赡艿闹担?  top
      center
      bottom
      length
      %
    
  • z-axis

      定義視圖被置于 Z 軸的何處??赡艿闹担?  length
    
  1. 從四面八方過來
    給不同的元素添加translateX、Y屬性。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容