1. 程式人生 > >微信小程式筆記

微信小程式筆記

微信小程式專案筆記

一.限制元件的寬高比(以寬高比為2:1為例)

1.父元件指定以下屬性:

position: relative;
width: 100%;
padding-top: 50%;

2.子元件指定以下屬性:

position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;

二.當元件顯示文字內容不全時,用省略號替代

overflow: hidden;
word-break: break-all;
display: -webkit-box !important;
-webkit-line-clamp: 1 !important;
-webkit-box-orient: vertical;

三.margin與padding的省略寫法

如果設定了4個值,則依次是 “左” “上” “右” “下” 的值
如果設定了3個值,則認為省略了左邊,省略的”左”值等於”右”
如果設定了2個值,則認為省略了左邊和下邊,省略的”左”值等於”右”,省略的”下”值等於”上”
如果設定了1個值,則 “左” “上” “右” “下” 的值都等於設定的值

四.transition: property duration timing-function delay

property:規定設定過渡效果的 CSS 屬性的名稱
duration:規定完成過渡效果需要多少秒或毫秒
timing-function:規定速度效果的速度曲線
delay:定義過渡效果何時開始

五.設定視窗背景色

page {
    background-color: #f2f2f2;
    height: 100%;
}

六.在view元件的前面或者後面插入內容,並居中顯示

content: 'A';  /* 插入的內容為A */
/* 
 position:relative 元件的位置引數由其父元件和父元件的寬高決定
 position:absolute 元件的位置引數由自己和自身的寬高決定
*/
position: absolute;
top: 50%;  /* top為demo-text-1的高度的一半 */
left: 50%; /* left為demo-text-1的寬度的一半 */
transform: translate(-50%, -50%);   /* 分別向上和向左平移插入的內容高度和寬度的一半 */

七.保證設定的padding值不會影響元件的寬高

box-sizing: border-box;

八.請求圖片的url,並將返回的arraybuffer圖片資訊轉為base64顯示

wx.request({
  url: "圖片url",
  data: {},
  header: {
    'content-type': 'image/jpeg',
  },
  method: "POST",
  responseType: "arraybuffer",
  success: function (result) {
    var base64 = "data:image/png;base64," + wx.arrayBufferToBase64(result.data)
  },

  fail: function ({ errMsg }) {
    console.log('request fail', errMsg)
  }
})

九.獲取網路請求中的sessionId

success: function (result) {
    var sessionId = result.header["Set-Cookie"].split(';')[0];  
}

十.在http請求頭中新增sessionId

wx.request({
  url: config.loginUrl,
  header: { 
    "Cookie": sessionId
  }
})

十一.”==”和”===”的區別

“==”:代表相同
“===”:代表嚴格相同
當進行雙等號比較時候: 先檢查兩個運算元資料型別,如果相同, 則進行===比較, 如果不同, 則願意為你進行一次型別轉換, 轉換成相同型別後再進行比較, 而===比較時, 如果型別不同,直接就是false

十二.重寫checkbox的樣式

/*  重寫 checkbox 樣式  */
/* 未選中的 背景樣式 */
checkbox .wx-checkbox-input{
   border-radius: 50%;/* 圓角 */
   width: 34rpx; /* 背景的寬 */
   height: 34rpx; /* 背景的高 */
}
/* 選中後的 背景樣式 (紅色背景 無邊框 可根據UI需求自己修改) */
checkbox .wx-checkbox-input.wx-checkbox-input-checked{
   border-radius: 50%;/* 圓角 */
   border-color: #bd0000;
   background: #bd0000;
}
/* 選中後的 對勾樣式 (白色對勾 可根據UI需求自己修改) */
checkbox .wx-checkbox-input.wx-checkbox-input-checked::before{
   border-radius: 50%;/* 圓角 */
   width: 34rpx;/* 選中後對勾大小,不要超過背景的尺寸 */
   height: 34rpx;/* 選中後對勾大小,不要超過背景的尺寸 */
   line-height: 34rpx;
   text-align: center;
   font-size:24rpx; /* 對勾大小 24rpx */
   color:#fff; /* 對勾顏色 白色 */
   background: transparent;
   transform:translate(-50%, -50%) scale(1);
   -webkit-transform:translate(-50%, -50%) scale(1);
}

十三.設定元件不隨頁面的滾動而滾動

position: fixed;
z-index: 5;
width: 100%;
height: 88rpx;

十四.微信小程式中使用字型圖示庫

在阿里巴巴向量圖示庫下載需要的圖示,點選下載程式碼,將下載後的download.zip解壓
進入https://transfonter.org/平臺,將ttf格式轉化為base64格式,注意選中 Base64 encode 然後點選convert轉換並下載壓縮檔案
開啟剛剛我們經過轉換的解壓出來的檔案,找到stylesheet.css,將其中的內容全部複製到wxss檔案中(在哪使用在哪加入)
開啟沒有轉化過的download檔案中的iconfont.css檔案,將中除了@font-face部分的其他所有程式碼複製到wxss中
在wxml中使用字型圖示直接使用class即可(在wxss中每個字型圖示對應一個class)