. 遮罩層蓋不住
原因:這是因為textarea和input框的z-index為最高,自己寫的蒙層蓋不住。
處理方法:wx:if=’{{!modal}}’,彈框出現(xiàn)時隱藏輸入框
2. 彈框中又textarea,placeholder字體位置錯位
原因:彈框fixed定位,小程序兼容問題
解決方法:
3. 如果textarea在一個顯示隱藏的模態(tài)框中,切記要用 hidden 而非 wx:if 。如果使用了wx:if,再次顯示會重新渲染,安卓手機,textarea中的字和光標會錯位。
測試A:那啥!摳圖仔,線上樣式怎么點著點著就出問題了。
前端:啥?線上css樣式錯亂了?你是不是有緩存啊!清下緩存試試。
測試A(內(nèi)心戲:這摳圖仔一有問題就賴緩存):清緩存后,還有啊!你看看吧!
前端:見鬼了,我本地沒復現(xiàn)啊。
在某次迭代中,在做產(chǎn)品體驗的時候發(fā)現(xiàn)從申請記錄頁面跳轉我的訂單,在切回來,發(fā)現(xiàn)申請記錄頁樣式錯亂了。本地調(diào)試發(fā)現(xiàn)沒有該問題。
為什么會出現(xiàn)這種場景?為什么該問題測試環(huán)境會出現(xiàn),本地環(huán)境未復現(xiàn)?
調(diào)試發(fā)現(xiàn) .ant-card可以從多個chunk文件引入,切換到network面板發(fā)現(xiàn),2966....chunk.css文件是在我們跳轉到我的訂單頁面才引入的。也就是我的訂單頁面按需加載組件打包出來的樣式文件。
到這其實就定位到問題所在了,相同組件在不同頁面按需加載的時候css文件被重復打包了。
開發(fā)環(huán)境不會,是因為我們導入組件是直接導入的node_modules的es模塊的文件,如圖:
dynamicImport: {
loading: '@/Loading',
},
umi開啟dynamicImport時,會啟動按route分包,實現(xiàn)頁面級別的按需加載,這種分包模式明顯在處理antd的樣式模塊復用上出現(xiàn)了一些問題。
所以推薦項目開啟該模式時,antd應該使用下面的方案二進行處理antd的樣式,防止出現(xiàn)偶現(xiàn)的線上問題。
之前代碼中會出現(xiàn)很多莫名其妙的!important去提高樣式的權重,當然也有在頁面級引入antd.css的,可能也是因為遇到了antd樣式覆蓋的問題。
// ...
optimization: {
splitChunks: {
chunks: 'all',
minSize: 30000,
minChunks: 2,
automaticNameDelimiter: '.',
cacheGroups: {
antd: {
name: 'antdesigns',
test: /[\/]node_modules[\/](antd|antd-mobile|@ant-design)[\/]/,
priority: 20,
},
vendors: {
name: 'vendors',
test({ resource }: any) {
return /[\/]node_modules[\/]/.test(resource);
},
priority: 10,
},
},
},
},
// ...
優(yōu)化后如圖所示,申請記錄頁面跳轉到我的訂單頁面再跳回來,.ant-card并沒有多產(chǎn)生一個css文件引入。整個dist文件包體積從116.5M到108.4M,降低了8.1M。
webpack.docschina.org/plugins/spl…
警告
選擇了默認配置為了符合 Web 性能最佳實踐,但是項目的最佳策略可能有所不同。如果要更改配置,則應評估所做更改的影響,以確保有真正的收益,所以我們做上述分包策略時,需要根據(jù)實際項目情況來處理。
// 下面這個配置對象代表 SplitChunksPlugin 的默認行為。
module.exports = {//...
optimization: {
splitChunks: {
// 有效值為 all,async 和 initial
chunks: 'async',
// 生成 chunk 的最小體積(以 bytes 為單位)。
minSize: 20000,
// 通過確保拆分后剩余的最小 chunk 體積超過限制來避免大小為零的模塊。
minRemainingSize: 0,
// 拆分前必須共享模塊的最小 chunks 數(shù)。
minChunks: 1,
// 按需加載時的最大并行請求數(shù)。
maxAsyncRequests: 30,
// 入口點的最大并行請求數(shù)。
maxInitialRequests: 30,
// 強制執(zhí)行拆分的體積閾值和其他限制(minRemainingSize,maxAsyncRequests,maxInitialRequests)將被忽略。
enforceSizeThreshold: 50000,
/**
* 緩存組可以繼承和/或覆蓋來自 splitChunks.* 的任何選項。
* 但是 test、priority 和 reuseExistingChunk 只能在緩存組級別上進行配置。
* 將它們設置為 false以禁用任何默認緩存組。
*/
cacheGroups: {
defaultVendors: {
/**
* 控制此緩存組選擇的模塊。省略它會選擇所有模塊。
* 注:使用/是因為要同時適配unix和windows系統(tǒng)
*/
test: /[\/]node_modules[\/]/,
// 優(yōu)先級,默認值0
priority: -10,
// 如果當前 chunk 包含已從主 bundle 中拆分出的模塊,則它將被重用,而不是生成新的模塊。這可能會影響 chunk 的結果文件名。
reuseExistingChunk: true,
},
default: {
minChunks: 2,
priority: -20,
reuseExistingChunk: true,
},
},
},
},
};
線上和本地運行結果不一致,一直是一件讓前端開發(fā)者頭痛的問題。造成這種情況的原因之一呢?是因為場景不一樣,webpack提供了兩種模式。
我們要杜絕發(fā)生線上和本地運行結果不一致的這種情況,需要我們深入了解項目中會用到的webpack,vite,rollup等前端工程化工具的內(nèi)部打包機制。
作者:城主北寧
鏈接:https://juejin.cn/post/7346884660443988019
<table>標簽:
<table>指的是表格,用表格來搭建界面布局,即用表格的嵌套,來搭建界面布局。
<table>布局優(yōu)勢:
table優(yōu)勢:開發(fā)時間短(使用DW開發(fā)速度快);純table各瀏覽器不會有兼容問題;內(nèi)容可自適應;在搜索引擎排名能靠前;
但是 table如果布局變更,需要重新開發(fā);如果table里有div ul 等,可能會出現(xiàn)瀏覽器兼容問題;加載速度慢;table嵌套的太多,運維是非常困難的。
<div>塊級(block-level)標簽:
DIV是層疊樣式表中的定位技術,全稱DIVision,即為劃分。有時可以稱其為圖層。
<div>布局優(yōu)勢:
一.精簡代碼,減少重構難度。
網(wǎng)站使用DIV+CSS布局使代碼很是精簡,css文件可以在網(wǎng)站的任意一個頁面進行調(diào)用,而若是使用table表格修改部分頁面卻是顯得很麻煩。要是一個門戶網(wǎng)站的話,需手動改很多頁面,而且看著那些表格也會感覺很亂也很浪費時間,但是使用css+div布局只需修改css文件中的一個代碼即可。
二.網(wǎng)頁訪問速度
使用了DIV+CSS布局的網(wǎng)頁與Table布局比較,精簡了許多頁面代碼,那么其瀏覽訪問速度自然得以提升,也從而提升了網(wǎng)站的用戶體驗度。
三.SEO優(yōu)化
采用div-css布局的網(wǎng)站對于搜索引擎很是友好,因此其避免了Table嵌套層次過多而無法被搜索引擎抓取的問題,而且簡潔、結構化的代碼更加有利于突出重點和適合搜索引擎抓取。
四.瀏覽器兼容性
若使用table布局網(wǎng)頁,在使用不同瀏覽器情況下會發(fā)生錯位,而div+css則不會,無論什么瀏覽器,網(wǎng)頁都不會出現(xiàn)變形情況。
1.流動式布局:是HTML網(wǎng)頁默認的布局方式
特點:
1.塊級元素都會在所處的包含元素內(nèi)自上而下按順序處置延伸分布,且默認狀態(tài)下,塊級元素占整個文檔流,默認寬度為100%。
2.內(nèi)聯(lián)元素都會在所處的包含元素內(nèi)從左到右水平分布顯示,不占整個文檔流。
常見的塊級(block)元素有:<h1-h5> 、<table>、 <ul>、<li> 、<p> 、<form>、 ol
常見的內(nèi)內(nèi)聯(lián)(行內(nèi))元素有:<a>、<span>、<img>、<input>、<select>、<textarea>
2.浮動布局(float)
特點:
浮動布局依靠【 浮動屬性 float:left/right/... 】來使標簽脫離文檔流,達到兩個塊級元素并排顯示的效果。
float:left ; 浮動脫離當前文檔流浮動。
同時可以依靠【展示屬性display:inline/block/inline-block】來進行行內(nèi)元素和塊級元素的效果切換。從而達到靈活運用塊級元素和行內(nèi)元素布局的效果。
3.層模型布局又叫定位布局
特點:
當我們應擁div布局是,在第一層塊界面上來做第二層塊界面的開發(fā)時,就要用到我們所說的定位布局。
通過運用【定位屬性position:absolute/relative/fixed】 來進行第二層界面的定位布局。
網(wǎng)頁是靜態(tài)的,網(wǎng)頁上的定位
position:absolute ;絕對定位脫離文檔流,不受浮動影響,就是相對于窗體(body)邊界的margin定位。
position:relative; 相對定位不脫離文檔流,相對于父級標簽元素的位置定位。
position:fixed;固定位置,不會受任何因素影響。
滾動條移動前
滾動條移動后
優(yōu)先層顯示方法:【屬性:z-index:0/1/2...】
特點: 數(shù)值越大,越優(yōu)先顯示。
注意:只有元素使用了position屬性的,才具有z-index屬性。
本文部分內(nèi)容來自網(wǎng)絡,如有侵權,請聯(lián)系修改。
*請認真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。