[CSS]讓overflow不用按shift可以滾輪水平滾動(純CSS)

前言

我不爽前端無法直接滾輪橫向滾動很久了
明明瀏覽器可以直接判斷 x滾動且y不滾動的時候滾輪事件可以直接操作橫向滾動
這個是我探究出來的方法,尤其適合這種很多很多小tag的情況
請添加圖片描述

解析

原理是將豎向排列的overflow旋轉成橫向,實際操作的還是豎向overflow.繼而實現鼠標滾輪不用按住shift即可滾動.

<template><div class="tags" :style="{ height }"><div class="tags-ro"><div class="tags-list no-scrollbar "><slot></slot></div></div></div>
</template><script setup lang="ts">
defineProps({height: {type: String,default: '1.5em'}
});</script><style scoped lang="less">
.tags {position: relative;height: 1.5em;overflow: hidden;.tags-ro {/*敲重點:通過aspect-ratio設置比例為1(即正方形)*/aspect-ratio: 1 / 1;transform: rotate(270deg);}.tags-list {display: flex;flex-direction: row;gap: 1em;overflow: auto;text-align: center;text-wrap: nowrap;max-height: 100%;/*敲重點:這個sideways-rl可以實現文本豎著顯示(相當于旋轉90°)但還不會影響布局*/writing-mode: sideways-rl;/*讓元素對齊到右側 方便上級剪裁*/float: right;}}/** * 不顯示滾動條 但是可以觸摸和滾輪滾動*/
.no-scrollbar {overflow: auto;scrollbar-width: none;/* Firefox */-ms-overflow-style: none;/* Internet Explorer 10+ */&::-webkit-scrollbar {display: none;/* Safari and Chrome */}&::-webkit-scrollbar-thumb {background: transparent;/* Safari and Chrome */}
}
</style>

為啥不用JS

用JS也可以將事件轉為橫向滾動 但是模擬出來的操作不夠絲滑 具體原因:

  • 作為一個相當尿性的前端應當少用JS,這可以提升網頁運行效率(尤其是在移動端的時候,響應會有很大延遲)
  • 模擬JS,也就是自己攔截wheel事件并通過.scroll()方法重新設置水平位置這種方式的弊端:
  • -> 滾動距離值得考究 取值比較迷惑
  • -> 如果連續滾動的話 會出現卡頓情況(尤其用了smooth)
  • -> 如果你打算解決上面的問題,你會寫很多很多的代碼,比如動態目標位置計算,加減速控制等(相信我 我寫過)
  • -> 啥都不如瀏覽器原生的好

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/93344.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/93344.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/93344.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

截稿倒計時 TrustCom‘25大會即將召開

會議資訊IEEE TrustCom-2025&#xff08;第24屆IEEE計算與通信領域信任、安全與隱私國際會議&#xff09;是一個展示可信計算、通信、網絡和機器學習領域前沿成果的學術平臺。會議聚焦計算機系統、網絡及人工智能在信任、安全、隱私、可靠性、可依賴性、生存性、可用性和容錯性…

Day4.AndroidAudio初始化

1.AudioServer初始化 AudioServer 是 Android 音頻系統的核心服務&#xff0c;負責管理音頻硬件資源、音頻策略調度、跨進程音頻通信等核心功能。它由 Init 進程啟動&#xff0c;是系統核心服務之一&#xff0c;直接影響音頻播放、錄音、音效處理等功能的正常運行。 1.1AudioSe…

OSPF 協議(多區域)

1. OSPF 單區域存在的問題① LSDB龐大&#xff0c;占用內存大&#xff0c;SPF計算開銷大&#xff1b;② LSA洪泛范圍大&#xff0c;拓撲變化影響范圍大&#xff1b;③ 路由不能被匯總&#xff0c;路由表龐大&#xff0c;查找路由開銷大。2. OSPF 多區域優點① 每個區域獨立存儲…

R 語言繪制六種精美熱圖:轉錄組數據可視化實踐(基于 pheatmap 包)

在轉錄組 Bulk 測序數據分析中&#xff0c;熱圖是展示基因表達模式、樣本聚類關系的核心可視化工具。一張高質量的熱圖不僅能清晰呈現數據特征&#xff0c;更能提升研究成果的展示效果。本文基于 R 語言的pheatmap包&#xff0c;整理了六種適用于不同場景的熱圖繪制方法&#x…

圖片PDF識別工具:掃描PDF文件批量OCR區域圖識別改名,識別大量PDF區域內容一次性改名

以下是使用“咕嘎批量OCR識別圖片PDF多區域內容重命名導出表格系統”進行操作的具體步驟&#xff1a;1. 打開工具并獲取區域坐標打開軟件后&#xff0c;選擇“PDF識別模式”。導入一個PDF文件作為樣本&#xff0c;框選需要提取文字的區域&#xff0c;并保存區域坐標。如果有多個…

中國汽車能源消耗量(2010-2024年)

1419中國汽車能源消耗量&#xff08;2010-2024年&#xff09;發文主題分布數據來源中華人民共和國工業和信息化部-中國汽車能源消耗量查詢中國汽車能源消耗量查詢 (miit.gov.cn)時間跨度2010-2024年數據范圍全國汽車企業數據指標本數據集包含包含傳統汽車能源消耗量數據以及新能…

Python 實現服務器自動故障處理工具:從監控到自愈的完整方案

在服務器運維過程中,80% 的故障都是重復性的簡單問題(如磁盤空間不足、內存泄漏、服務進程掛掉等)。本文將介紹如何使用 Python 開發一款輕量級自動故障處理工具,通過狀態監控、異常診斷、自動修復三個核心模塊,實現服務器常見故障的無人值守處理。 核心依賴庫 psutil:跨…

圖片上傳 el+node后端+數據庫

模版部分&#xff1a;鼠標懸浮到頭像的部分就出現下拉框顯示可以修改頭像&#xff0c;el-upload是隱藏的&#xff0c;可能只是為了實現on-change函數和before-upload函數吧這塊做的確實有點馬虎了。<div class"r-content"><el-dropdown><span class&q…

[java 常用類API] 新手小白的編程字典

目錄 1.API 1.1定義: 2.Object類 2.1 toString() 方法 2.2 equals() 方法 3. Arrays 類 3.1 equals() 方法 3.2 sort() 方法 3.2.1排序 3.2.2 自定義對象排序 3.3 binarySearch() 方法 3.4 copyOf() 方法 3.5 fill() 方法 3.6 toString() 方法 4.基本數據類型包裝類 4.…

去除視頻字幕 2, 使用 PaddleOCR 選取圖片中的字幕區域, 根據像素大小 + 形狀輪廓

有人問我在搞什么&#xff1a;就是做這里的第2步。問題描述這里誤導&#xff0c;誤判&#xff0c;太嚴重了。如果我把這個區域當做是 mask ,那么真正的目標會被去除掉還有什么建議嗎&#xff1f;比如我能否根據這個mask 的大致形狀來判斷它是不是字幕&#xff0c; 如果不是細長…

Ubuntu 連接Visual SVN

Windows服務器上的svn倉庫為&#xff1a; https://ldw_online:8443/svn/OnlineRepository/LVC IP地址為192.168.8.8 4. 從 Ubuntu 測試連通性 在 Ubuntu 上可以用&#xff1a; bash 復制編輯 curl -vk https://192.168.8.8:8443/ 如果返回 HTTP 頭或 SSL 握手成功&#xff…

JAVA:Spring Boot 集成 Protobuf 的技術指南

?? 1、簡述 在分布式服務通信中,數據序列化與反序列化的效率對系統性能影響極大。Protocol Buffers(Protobuf) 是由 Google 提出的一種高效的結構化數據序列化協議,具有: ?? 高性能(遠優于 JSON/XML) ?? 跨語言支持 ?? 較小的體積 本篇將帶你了解如何在 Spring…

SQLServer內存釋放工具介紹:一款實用的數據庫性能優化助手

SQLServer內存釋放工具介紹&#xff1a;一款實用的數據庫性能優化助手 去發現同類優質開源項目:https://gitcode.com/ 在數據庫管理中&#xff0c;內存釋放是優化服務器性能的重要環節。本文將為您詳細介紹一款名為SQLServer內存釋放工具的開源項目&#xff0c;幫助您輕松管理…

《藍耘容器全棧技術指南:企業級云原生與異構計算實戰大全》

&#x1f31f; 嗨&#xff0c;我是Lethehong&#xff01;&#x1f31f; &#x1f30d; 立志在堅不欲說&#xff0c;成功在久不在速&#x1f30d; &#x1f680; 歡迎關注&#xff1a;&#x1f44d;點贊??留言收藏&#x1f680; &#x1f340;歡迎使用&#xff1a;小智初學計…

計算器3.0:實現用戶自定義組件

前言&#xff1a; 馬總給我提出計算器3.0新需求&#xff1a;可以在頁面上輸入一個組件&#xff0c;用戶的組件庫里面就多一個組件&#xff0c;用戶就可以使用 一、解決方法&#xff1a; 1. 新增成員變量和初始化 // 新增的輸入框 private InputBox newInputBox; // 新增的組…

PIG AI 全新升級:全新 MCP 能力加持,讓企業級 AI 開發效率翻倍!

你是否曾為 AI 應用的開發門檻而頭疼?調試代碼耗費數小時、集成外部工具需要復雜配置、想要快速構建智能系統卻不知從何下手…別擔心!PIG AI 最新版本帶來的 MCP(Model Context Protocol)能力,正為這些問題提供一站式解決方案。本文將帶你深入淺出地了解這一重磅升級,手把…

Springboot+vue超市管理系統的設計與實現

文章目錄前言詳細視頻演示具體實現截圖后端框架SpringBoot前端框架Vue持久層框架MyBaits成功系統案例&#xff1a;代碼參考數據庫源碼獲取前言 博主介紹:CSDN特邀作者、985高校計算機專業畢業、現任某互聯網大廠高級全棧開發工程師、Gitee/掘金/華為云/阿里云/GitHub等平臺持續…

一文快速了解Docker和命令詳解

本文讓你快速了解Docker是什么的東西&#xff0c;在我們程序開發的時候到底有什么作用&#xff0c;為什么需要去學習它。本文章只是做一個簡單的概述配套黑馬課程讓你快速了解、使用Docker。 一、什么是Docker&#xff1f; Docker是一個開源的容器化平臺&#xff0c;允許開發者…

【GaussDB】如何從GaussDB發布包中提取出內核二進制文件

【GaussDB】如何從GaussDB發布包中提取出內核二進制文件 背景 GaussDB 從505和506版本起&#xff08;前面的版本不清楚&#xff09;&#xff0c;華為官方不再提供用腳本安裝GaussDB的方式&#xff08;應該是基于運維交付標準化的角度考慮&#xff09;&#xff0c;僅支持使用T…

ETH 交易流程深度技術詳解

概述在前面對 PolkaVM 和 Revive 的文章中&#xff0c;我們介紹了很多技術細節&#xff0c;開發工具。還對比 EVM&#xff0c;知道了 PolkaVM 的優勢。很多同學還是對 Polkadot SDK 為什么可以運行 EVM 兼容的智能合約&#xff0c;以及交易處理的整個流程不太清楚。這篇文章將會…