🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
- ios 滑动卡顿 ``` *{ -webkit-overflow-scrolling: touch; } ``` - 进行抗锯齿渲染 ``` -webkit-font-smoothing: antialiased; /*chrome、safari*/ -moz-osx-font-smoothing: grayscale;/*firefox*/” ``` - 禁止长按选择复制 ``` * { user-select:none; -webkit-touch-callout:none; -webkit-user-select:none; -khtml-user-select:none; -moz-user-select:none; -ms-user-select:none; } ``` - 1px 线 ``` .weui-cell:before { content: " "; position: absolute; left: 0; top: 0; right: 0; height: 1px; border-top: 1px solid #D9D9D9; color: #D9D9D9; -webkit-transform-origin: 0 0; transform-origin: 0 0; -webkit-transform: scaleY(0.5); // 0.5缩放 transform: scaleY(0.5); left: 15px; } ``` - 联系人列表 滑动切换 ``` ``` - 获取url 参数 ``` function getQuery(pa) { var url = window.location.href.replace(/#+.*$/, ' '); url = decodeURI(url) var params = url.substring(url.indexOf("?") + 1, url.length).split("&"), param = {}; for (var i = 0; i < params.length; i++) { var pos = params[i].indexOf('='), //查找name=value key = params[i].substring(0, pos), val = params[i].substring(pos + 1); //提取value param[key] = val; } return (typeof(param[pa]) == "undefined") ? "" : param[pa]; // return param; } ``` - axios 请求 ``` 1. 利用node qs 转化 import qs from 'qs'; transformRequest:[(data) => { return qs.stringify(data) }] 2. 函数将data对象拼接为字符串 axios.post('https://apiv1', { token: localStorage.getItem('token'), id: orderid, }, { transformRequest: [function (data) { // 对 data 进行任意转换处理 let ret = ''; for (let it in data) { ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[ it]) + '&' } return ret }], headers: { "Content-Type": 'application/x-www-form-urlencoded;charset=UTF-8' } }).then(function (response) { }) .catch(function (error) { }); ``` - mete标签使用 ``` // 禁止缩放 <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/> // 忽略将数字变为电话号码 <meta content="telephone=no" name="format-detection"> // 忽略识别email <meta content="email=no" name="format-detection"> ``` - 移动端 忽略滚动条 ``` element::-webkit-scrollbar{ display: none; } ``` - placeholder元素样式的修改 ``` input::-webkit-input-placeholder{color:red;} input:focus::-webkit-input-placeholder{color:green;} ``` - 使用图片时,触发baseline 会发现图片下的空白 ``` img{display:block}; img{vertical-align:top} ``` - 设置宽度为100% 设置padding margin 超出屏幕 ``` box-sizing:border-box ``` - 解决移动端 click 300ms 延迟 ``` fastclick.js import FastClick from 'FastClick' /** * 点击延迟 */ FastClick.attach(document.body) zepto.js里的 tap事件。 ``` - 浏览器判断 [NPM安装](https://www.npmjs.com/package/device) ``` 可使用 Device.js 库 var ua = navigator.userAgent.toLowerCase(); ``` - 移动端布局 1. 长列表 页面的地址栏会随着 body 的滚动隐藏起来 2. 伪元素使用 ``` .elem{ color: #333; font-size: .26rem; text-align: center; display: flex; align-items: center; justify-content: center; } .elem:after, .elem:before { content: ""; height: 1px; display: block; background: #888; width: .5rem; } .elem:after{ margin-left: .3rem; } .elem:before{ margin-right: .3rem; } ``` #### 文本截取 ``` 单行文本 width:300px; overflow: hidden; text-overflow:ellipsis; white-space: nowrap; 多行文本 display:-webkit-box; overflow:hidden; text-overflow:ellipsis; -webkit-line-clamp:2; -webkit-box-orient:vertical; ``` #### 修改chrome记住密码后自动填充表单的黄色背景 ? ``` input:-webkit-autofill, textarea:-webkit-autofill, select:-webkit-autofill { background-color: rgb(250, 255, 189); /* #FAFFBD; */ background-image: none; color: rgb(0, 0, 0); } ``` #### **响应式布局** 1、通过媒体查询方式 ``` /*默认为20px*/ html { font-size : 20px; } /*判断宽度设置不同的html font-size值去覆盖默认值*/ @media only screen and (min-width: 320px){ html { font-size: 10px; } } @media only screen and (min-width: 375){ html { font-size: 16; } } @media only screen and (min-width: 414px){ html { font-size: 20px; } } ``` #### loadmore ``` <div class="loadmore"> <i class="loading"></i> <span class="loadmore__tips">正在加载</span> </div> .loadmore { width: 65%; margin: 1.5em auto; line-height: 1.6em; font-size: 14px; text-align: center; .loading{ width:20px; height:20px; display:inline-block; vertical-align:middle; -webkit-animation:weuiLoading 1s steps(12, end) infinite; animation:weuiLoading 1s steps(12, end) infinite; background:transparent url("data:image/svg+xml;charset=utf8, %3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 100 100'%3E%3Cpath fill='none' d='M0 0h100v100H0z'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E9E9E9' rx='5' ry='5' transform='translate(0 -30)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23989697' rx='5' ry='5' transform='rotate(30 105.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%239B999A' rx='5' ry='5' transform='rotate(60 75.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23A3A1A2' rx='5' ry='5' transform='rotate(90 65 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23ABA9AA' rx='5' ry='5' transform='rotate(120 58.66 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23B2B2B2' rx='5' ry='5' transform='rotate(150 54.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23BAB8B9' rx='5' ry='5' transform='rotate(180 50 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23C2C0C1' rx='5' ry='5' transform='rotate(-150 45.98 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23CBCBCB' rx='5' ry='5' transform='rotate(-120 41.34 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23D2D2D2' rx='5' ry='5' transform='rotate(-90 35 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23DADADA' rx='5' ry='5' transform='rotate(-60 24.02 65)'/%3E%3Crect width='7' height='20' x='46.5' y='40' fill='%23E2E2E2' rx='5' ry='5' transform='rotate(-30 -5.98 65)'/%3E%3C/svg%3E") no-repeat; background-size:100%; } .loadmore__tips { display: inline-block; vertical-align: middle; color: rgba(0, 0, 0, 0.9); } } ``` #### loadmore-line ``` <div class="loadmore loadmore_line"> <span class="loadmore__tips">暂无数据</span> </div> ```