当前位置: 首页 > web >正文

[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.xdnf.cn/news/16348.html

相关文章:

  • 【数据库】AI驱动未来:电科金仓新一代数据库一体机如何重构性能边界?
  • 半相合 - 脐血联合移植
  • Kingbasepostgis 安装实践
  • Go 官方 Elasticsearch 客户端 v9 快速上手与进阶实践*
  • R 语言绘制六种精美热图:转录组数据可视化实践(基于 pheatmap 包)
  • Redis替代方案:腾讯云TDSQL-C内存优化实战,TPS秒上涨
  • 大语言模型生成式人工智能企业应用
  • 水库大坝安全监测的主要内容
  • 微算法科技(NASDAQ:MLGO)采用分布式哈希表优化区块链索引结构,提高区块链检索效率
  • mac下 vscode 运行 c++无法弹出窗口
  • 《C++初阶之STL》【vector容器:详解 + 实现】
  • 智能问答分类系统:基于SVM的用户意图识别
  • Android Paging 分页加载库详解与实践
  • 航段导航计算机 (Segment_Navigator) 设计与实现
  • 重构 MVC:让经典架构完美适配复杂智能系统的后端业务逻辑层(内附框架示例代码)
  • 【MacOS】发展历程
  • HTTP 请求方法有哪些?
  • 《基于电阻抗断层扫描(EIT)驱动的肌肉骨骼模型表征人体手臂动态意图用于人机交互》论文解读
  • 当人机交互迈向新纪元:脑机接口与AR/VR/MR的狂飙之路
  • Spring Cloud Gateway 服务网关
  • 2025年第四届创新杯(原钉钉杯)赛题浅析-助攻快速选题
  • Android Studio 2024 内嵌 Unity 3D 开发示例
  • 【第四章:大模型(LLM)】01.神经网络中的 NLP-(1)RNN、LSTM 和 GRU 的基本原理和应用
  • 全国产化5G-A低空经济基座
  • 【Unity笔记】OpenXR 之VR串流开发笔记:通过RenderTexture实现仅在PC端展示UI,在VR眼镜端隐藏UI
  • 大模型进阶面试题
  • 车载 CAN-Bus 数据记录仪说明书
  • 【C语言进阶】一篇文章教会你文件的读写
  • 【unitrix】 6.16 非负整数类型( TUnsigned )特质(t_unsingned.rs)
  • 电子电子架构 --- 软件项目的开端:裁剪