• css鼠标横向滚动并且不展示滚动条几种方法


    需求:实现内容超出之后使用属性滚轮进行左右查看超出内容,并且隐藏滚动条

    1.不使用框架实现

    每次滚动就滚动40px的距离

    1. html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8" />
    5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    6. <style>
    7. .container {
    8. width: 300px;
    9. overflow-x: hidden;
    10. white-space: nowrap;
    11. border: 1px solid #ccc;
    12. }
    13. .content {
    14. display: inline-block;
    15. }
    16. style>
    17. head>
    18. <body>
    19. <div class="container" onwheel="scrollHorizontally(event)">
    20. <div class="content">Content 1div>
    21. <div class="content">Content 2div>
    22. <div class="content">Content 3div>
    23. <div class="content">Content 4div>
    24. <div class="content">Content 5div>
    25. <div class="content">Content 6div>
    26. div>
    27. <script>
    28. function scrollHorizontally(e) {
    29. e = window.event || e;
    30. var delta = Math.max(-1, Math.min(1, e.wheelDelta || -e.detail));
    31. document.querySelector(".container").scrollLeft -= delta * 40; // 每次滚动移动的距离
    32. e.preventDefault();
    33. }
    34. script>
    35. body>
    36. html>

    效果:

    2.vue2使用自定义指令实现

    1. <template>
    2. <div style="height: 400px">
    3. <div class="container" v-horizontal-scroll>
    4. <div class="box">Content 1div>
    5. <div class="box">Content 2div>
    6. <div class="box">Content 3div>
    7. <div class="box">Content 4div>
    8. <div class="box">Content 5div>
    9. <div class="box">Content 6div>
    10. <div class="box">Content 1div>
    11. <div class="box">Content 2div>
    12. <div class="box">Content 3div>
    13. <div class="box">Content 4div>
    14. <div class="box">Content 5div>
    15. <div class="box">Content 6div>
    16. div>
    17. div>
    18. template>
    19. <script>
    20. export default {
    21. data() {
    22. return {};
    23. },
    24. directives: {
    25. 'horizontal-scroll': {
    26. bind: function (el) {
    27. el.addEventListener('wheel', function (event) {
    28. event.preventDefault();
    29. el.scrollLeft += event.deltaY;
    30. });
    31. }
    32. }
    33. },
    34. mounted() {},
    35. methods: {}
    36. };
    37. script>
    38. <style lang="scss" scoped>
    39. .container {
    40. width: 300px;
    41. overflow-x: hidden;
    42. white-space: nowrap;
    43. border: 1px solid #ccc;
    44. display: flex;
    45. overflow-x: scroll;
    46. overflow-y: hidden;
    47. white-space: nowrap;
    48. margin: 50px;
    49. }
    50. .container::-webkit-scrollbar {
    51. display: none;
    52. }
    53. .box {
    54. // display: inline-block;
    55. }
    56. style>

    效果

    文章到此结束,希望对你有所帮助~~ 

  • 相关阅读:
    如何保证数据库与缓存数据一致性?
    使用pytorch处理自己的数据集
    PDF转图片怎么转?建议收藏这三种方法
    SpringBoot笔记:SpringBoot集成MyBatisPlus、Sqlite实战
    大数据与智慧物流
    easyexcel导出excel 简单实现
    Nebula Studio:部署与连接
    MySQL--视图&导入导出&索引&执行计划
    LabVIEW如何使用热键去触发自定义的事件
    Spring源码解析——@Transactional注解的声明式事物介绍
  • 原文地址:https://blog.csdn.net/qq_44278289/article/details/134536447