亞像素渲染:瀏覽器如何處理小數像素的渲染?
前言 最近遇到一個這樣的問題,在一些機型上的loading轉圈動畫看起來有點抖,轉起來像個橢圓,心想會不會是這個icon寬高不同造成的,但看了一眼代碼裏面寬高寫的是一樣,按理來説這個loading應該是一個正圓,旋轉起來不應該抖才是的。 比如這樣: div class="w-20px h-20px border-rd-50% loading"/div 寬高相等的一個正圓,旋轉起來看着怪怪的。事實
Nickname 南玖
Contributes374
Followers0
前言 最近遇到一個這樣的問題,在一些機型上的loading轉圈動畫看起來有點抖,轉起來像個橢圓,心想會不會是這個icon寬高不同造成的,但看了一眼代碼裏面寬高寫的是一樣,按理來説這個loading應該是一個正圓,旋轉起來不應該抖才是的。 比如這樣: div class="w-20px h-20px border-rd-50% loading"/div 寬高相等的一個正圓,旋轉起來看着怪怪的。事實
Nickname 南玖
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
Nickname 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
Nickname 冴羽
1. 前言 大家好,我是若川,歡迎關注我的公眾號:若川視野。從 2021 年 8 月起,我持續組織了好幾年的每週大家一起學習 200 行左右的源碼共讀活動,感興趣的可以點此掃碼加我微信 ruochuan02 參與。另外,想學源碼,極力推薦關注我寫的專欄《學習源碼整體架構系列》,目前是掘金關注人數(6k+人)第一的專欄,寫有幾十篇源碼文章。 截至目前(2024-11-07),目前最新是 4.0.7,
Nickname 若川
1. 前言 大家好,我是若川,歡迎關注我的公眾號:若川視野。從 2021 年 8 月起,我持續組織了好幾年的每週大家一起學習 200 行左右的源碼共讀活動,感興趣的可以點此掃碼加我微信 ruochuan02 參與。另外,想學源碼,極力推薦關注我寫的專欄《學習源碼整體架構系列》,目前是掘金關注人數(6k+人)第一的專欄,寫有幾十篇源碼文章。 截至目前(2024-11-22),目前最新是 4.0.7,
Nickname 若川
1. 前言 大家好,我是若川,歡迎關注我的公眾號:若川視野。從 2021 年 8 月起,我持續組織了好幾年的每週大家一起學習 200 行左右的源碼共讀活動,感興趣的可以點此掃碼加我微信 ruochuan02 參與。另外,想學源碼,極力推薦關注我寫的專欄《學習源碼整體架構系列》,目前是掘金關注人數(6k+人)第一的專欄,寫有幾十篇源碼文章。 截至目前(2024-12-26),目前最新是 4.0.8,
Nickname 若川
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
Nickname 冴羽
前言 Svelte,一個語法簡潔、入門容易,面向未來的前端框架。 從 Svelte 誕生之初,就備受開發者的喜愛,根據統計,從 2019 年到 2024 年,連續 6 年一直是開發者最感興趣的前端框架 No.1: Svelte 以其獨特的編譯時優化機制著稱,具有輕量級、高性能、易上手等特性,非常適合構建輕量級 Web 項目。 為了幫助大家學習 Svelte,我同時搭建了 Svelte 最新的中文
Nickname 冴羽
這裏主要用到button的open-type功能,官網已有説明: 給button設置open-type="chooseAvatar",來使bindchooseavatar方法生效,在bindchooseavatar指定的函數中獲取用户的頭像信息 button open-type="chooseAvatar" bindchooseavatar="chooseavatar"/b
Nickname 兔子先森
navigator.mediaDevices.getUserMedia只有在https或者localhost下使用。 如果需要再http協議下使用navigator.mediaDevices.getUserMedia,需要打開不安全的配置。 火狐瀏覽器打開多媒體不安全的配置: chomre打開不安全配置: 瀏覽器輸入chrome://flags/ 搜索Insecure o
Nickname 任天鏜
背景 常規的後台管理系統登陸頁面可能就只是一個簡單的背景頁面,這不太好看,接下來讓我們來使用three.js來實現一個動態的海洋和天空效果當作背景,這樣的效果總會讓人眼前一亮,如下圖所示。 代碼實現 接下來,讓我們用trae來編寫實現這個功能吧。 1. 組合式 API 初始化 import { onMounted, onBeforeUnmount } from "vue"; import * a
Nickname 夕水
背景 在我做過的一個對接海康威視監控實現直播流的項目中,需要處理 WebSocket 的長連接,以便於和服務器保持實時通信。WebSocket 的一個挑戰是連接的穩定性,特別是在網絡波動或斷開時,如何確保能自動重連並保持通信流暢。為了簡化這一過程,我決定封裝一個 WebSocket 類,使得開發者無需每次都重複編寫連接、心跳、重連等邏輯。 這個 CustomSocket 類支持以下功能: 心跳
Nickname 夢開始的地方
用於做底部懸浮定位,懸浮在tabbar上 在設置tabbar的組件中獲取,利用組件生命週期,獲取tabbar高度,將高度存到本地,用於全局獲取 attached() { let query = wx.createSelectorQuery().in(this); query.select('.custom-tab-bar').bound
Nickname 兔子先森
在中國傳統曆法中,五月初一象徵着初夏的啓程,也寓意着新的成長與蜕變。今天,我們很高興地宣佈 —— Docsify v5.0.0-rc.1 版本發佈! 在延續零構建、即寫即部署理念的同時,Docsify 迎來了全新的樣式設計、更友好的可訪問性以及更穩健的插件機制。 可以通過訪問 http://preview.docsifyjs.org/ 進行體驗。 那麼,這個版本有哪些值得關注的亮點?我們為你準備了
Nickname 沈唁
React Router V7 本身並沒有直接提供內置的路由守衞 API(比如 Vue Router 的 beforeEach),但通過組合其提供的鈎子(如 useNavigate、useLocation)和 React 的組件設計模式,我們可以實現類似的功能,比如權限控制、登錄驗證、數據預加載等場景。 路由守衞 路由守衞是指在路由切換時執行一些邏輯,以決定是否允許導航到目標路由。 常見的場景包括
Nickname Aion
div class="box" div class="box1"/div div class="box2" div style="height: 500px;border: 1px solid gold;" /div /div /div 在css中,div的寬度默認獨佔一行,而高度需要手動設置。 上面的佈局,box 高度 300 box1的高度未
Nickname 兔子先森
京東零售招前端·亦莊 國際部門 要求 熟悉 react 加分項: next.js C端業務 聯繫 emhpc2hhb2ZlaUBqZC5jb20= (base64)
Nickname zhishaofei3
下面是一段scss示例: .btn-text { border: 1px solid #cfd5de; transition: all 0.3s; @media (hover: hover) { :hover { color: #006eff; border-color: #006eff; } } :active { col
Nickname 兔子先森
效果: 在css中,對文字可以使用:flex-wrap: wrap; 來實現文字溢出換行。 但如果文字是英文、網址,該屬性則無效。 我們需要對英文、網址進行斷字,然後使其換行,下面是mdn的解釋: .company_detail_webaddress{ max-width: 55%; margin-right: 10rpx;
Nickname 兔子先森
本文首發於我的博客 YILS's Blog,首發地址:第三方Cookie失效時的新解決方案 (yils.blog) 第三方 Cookie 一直是網絡的重要組成部分,這已持續了 25 年。 然而隨着瀏覽器對隱私保護的加強,為了防止跨站跟蹤,第三方 Cookie 的使用變得越來越受限。即使你已經正確設置了 SameSite=None; Secure;,仍然可能會遇到 Set-Cookie 失效的問題。
Nickname YILS_LIN
痛點: 開發過程中改一行代碼卻要等webpack構建半天實在太捉急。 項目背景 我們的項目是@vue/cli4生成的,基於webpack和vue2開發,未使用ts。用到了很多jquery、lodash、echarts等第三方依賴。 參考: @vue/cli4已經默認配置過一些優化方法了,比如為babel-loader增加cache-loder。請教了deepseek和google之後,根據項目的實
Nickname 雨花石
問題描述 兩年前,筆者寫過一篇文章 《面試官桀桀一笑:你沒做過大文件上傳功能?那你回去等通知吧!》 當時,後端是用java語言寫的 本篇文章,就是講解一下,後端的nodejs如何實現大文件上傳 後端使用node的express框架寫 完整代碼在github上:https://github.com/shuirongshuifu/bigfile 在看本篇文章之前,建議看一下之前的筆者的大
Nickname 水冗水孚
在你的 axios 封裝文件中,你需要兩個外部變量來管理狀態: // 標記是否正在刷新 token 的“鎖” let isRefreshing = false; // 存儲因 token 失效而掛起的請求的“隊列” let requestQueue = []; 請求攔截器 (Request Interceptor) 它的任務很簡單:在每個請求發出去之前,都帶上當前的 token
Nickname 健兒
我們都曾經歷過這樣的下午:一個看似邏輯嚴密的模塊,在實際運行時卻表現得像個失控的野獸。我的故事,就從一個本應“智能”處理登錄和 Token 刷新的 ajax 請求封裝函數開始。 我希望它能在接口返回 400(需要登錄)或 4_01(Token 失效)時,自動完成登錄或刷新 Token,然後再重新發起剛才失敗的請求。然而,它卻在某些情況下陷入了可怕的無限循環,瘋狂轟炸着我的服務器。 起初
Nickname 健兒