1. 程式人生 > >使用VUE仿寫【E寵商城】踩坑點

使用VUE仿寫【E寵商城】踩坑點

1、無論是否是否寫了!important 父元素的規則 都是被子元素繼承的 繼承的樣式優先順序小 所以這邊的字型大小還是保留reset那邊的樣式!!!


2、canvas的寬度必須設在標籤中,不能設在樣式中,否則會被預設拉伸(也不能canvas.style.width去設定!!!)


3、transform: translateX(-34px) translateY(-34px) rotateZ(720deg);不能分開寫,分開寫會覆蓋掉上次的 不管是X還是Y 只要是transform都會覆蓋


4、父元素沒有高度但設定了絕對定位 子元素也定位了,但是top無法生效,因為絕對定位是參照父元素的位置的,而父元素卻沒有高度,無法確定位置


5、background: url(../img/music.png) no-repeat;而非background-image: url(../img/music.png) no-repeat;!!!


6、//平移要在縮放之前 !!!!例如:screenLis[now].style.transform = 'translateY(' + distance/3 + 'px) scale(' + scale + ')';


7、動畫沒有設定初始值 如rotate,也沒有在from裡寫rotate就直接在to中寫rotate的目標deg,是無法生效的 因為沒有【動畫初始預設值】


8、樣式沒起效果:如果是transform可能是寫多句後者覆蓋了前者
也可能是class或者類名字母拼錯
也可能是css結構出錯


9、margin-top只在塊元素中生效 span i 都不行 必須加display:inline-block;!!!!


10、文字不見了  可能是字型顏色是白色的!!!


11、當類名或者元件名與關鍵字衝突時,不起效果!!!


12、webstorm中 class沒寫完整也是藍色的!!!比如 clas


13、text-align只能使行內元素居中 如span 但不能設定display:block


14、雪碧圖的y或者x都是負數(最頂部的圖片被頂上去,top變成負數)!!!background: url("../../assets/menu2.png") no-repeat 0 -152px;


15、a標籤使用nth-of-type要特別注意,你div中只有一個a標籤,你怎麼取索引? 那是在多個div中的a標籤!!!!


16、font:12px/30px helvetica;無法使用less!!!必須拆開寫


17、background-size background-position 無法被繼承,應該哪裡用就寫哪裡!!!


18、雪碧圖的rem適配 必須background-size background-position兩者都要‘/@rem’ 前者是雪碧圖的總大小 後者是某個圖示的具體位置!!!


19、移動端禁止系統預設行為的程式碼
應該是:
document.addEventListener('touchstart',function(event){
event.preventDefault();
});
而不是:
(function (ev) {
ev=ev||event;
ev.preventDefault();
})();


20、在vue開發中 在Index.html檔案裡的<div id="app"></div>這個id無法被獲取。想獲取可以在app.vue元件中 最外層增加想要的一層或者多層div並設定id或class


21、Vue中的入口js檔案是main.js index.html是主入口檔案(先有html再有js)!!!


22、vue中的main.js會 new Vue({}) 所以在全域性都會有$vm物件!!!


23、每個庫在不同環境下 語法可能會發生改變,在普通js中獲取元素靠document.getElement 而在vue中 需要給指定的標籤增加ref屬性及屬性值 引入寫在Js中,邏輯程式碼寫在export default{}中


24、看文件時,如果看到Vue.component(Cell.name, Cell); Vue.component(Checklist.name, Checklist);時  第一個形參是字串 【它是你對應標籤的類名或者id名】!!!!


25、better-scroll 要滾動 需要滿足以下條件:
(1)------------------------------  (npm下載忽略)
  mounted(){
    this.$nextTick(() => {
      setTimeout(()=>{
        this.scroll = new BScroll(this.$refs.wrapper, {
          click:true,
          scrollY:true,
          momentum: true,
          HWCompositing: true
        })
      },30)
    })
  }
(2)------------------------------ 
  在<script>中寫 import BScroll from 'better-scroll' 
(3)------------------------------ 
  在vue中必須為外層元素寫一個ref屬性 在例子中,取名為wrapper(可自行修改)
(4)------------------------------  
  外層容器必須與內層容器之間必須沒有其他元素
(5)------------------------------  
  外層容器的起始位置與內層元素的起始位置一致 外層容器overflow:hidden 且高度不能超過螢幕css高度