今天遇到了一个需求,这个需求是vue-code-diff这个组件内容过长时,需要拉到底才能看到横向滚动条。这个问题让我很纠结。原因很简单这个组件已经2年多没更新了。同时强行改CSS,也导致各种奇葩问题出现。今天终于解决了,特此发一篇解决的方案,希望下次在遇到这个问题就不用在发愁了。
问题如下图所示:

1. 首先修改这个组件的CSS样式

.d2h-file-side-diff {margin-bottom: -5px;max-height: 280px;overflow: scroll;
}
.d2h-code-side-linenumber {padding: 0 0.5rem;position: relative;line-height: 20px;height: 20px;
}

2. 给这个组件外的div加一个高度

<div class="vueCodeDiff" :class="sameDataClass?'same-data':' '" style="max-height: calc(100% - 485px);"><vue-code-diff :old-string="old_value" :new-string="new_value" :context="context"                 :outputFormat="'side-by-side'" ></vue-code-diff>
</div>

3. 最重要的就是同步方法(这个方法就是同步横向滚动和竖向滚动的)


mounted () {this.tongbu();
},methods: {tongbu() {if (document.getElementsByClassName("d2h-file-side-diff").length > 0) {let a = document.getElementsByClassName("d2h-file-side-diff");a[0].addEventListener("scroll",(e) => {a[1].scrollLeft = e.target.scrollLeft;a[1].scrollTop = e.target.scrollTop;},true);a[1].addEventListener("scroll",(e) => {a[0].scrollLeft = e.target.scrollLeft;a[0].scrollTop = e.target.scrollTop;},true);}},
}

4. 本来以为大功告成了,结果出现了内容溢出的问题


解决代码如下:

/deep/ .d2h-code-side-linenumber {position: relative;
}

6. 最后问题解决如图所示:

以上就是问题的解决方案。最近在想解决方法的时候也发现了有一位大佬仿写了一个vue-code-diff组件。他也发现了这个问题,那位大佬最近准备再升级他写的这个组件类似问题。建议用下面这个网址的组件比较好(遇到问题会回复,同时会及时发布新代码解决问题)
gitHub 地址:https://github.com/Shimada666/v-code-diff

vue-code-diff内容过长时需要拉到底才能显示横向滚动条(滚动条不管内容长短都要让它显示,还要同步滚动)相关推荐

  1. 正文内容过长时,offsetHeight的获取和监听变化

    正文内容过长时,超过4行隐藏,点击全部展开,可视高度(可见高度)offsetHeight的获取和监听变化_无围之解的博客-CSDN博客 核心逻辑代码 mounted() {this.$nextTick ...

  2. elementui 表格表头换行_解决element-ui表格表头内容太长时的换行问题

    在用vue+element-ui做一个后台管理系统时,遇到这样的问题, 如图: 使用el-table做一个表格,当表头内容过长时会换行,在不设置的宽度的时候每一列的宽度是等比例分配的,虽然elemen ...

  3. 【开发笔记】td标签内容过长时解决办法

    开发模块功能中遇到了td内容长度过长导致布局窜位,把其他td的内容挤在一起的问题, 于是尝试了几种方式: 设置固定的td宽度,发现当内容超出td宽度范围内时还是会窜位,失败. 例:<td wid ...

  4. 表格中的内容过长时不换行,以tips方式展示

    http://element-cn.eleme.io/2.0/#/zh-CN/component/table 有两点需要注意: ①el-table标签中需要添加tooltip-effect=" ...

  5. css文本内容过长时就自动换行

    没有对比就没有伤害,先看一下效果图: 1.没有添加css自动换行代码前: wc,后面的按钮都看不到! 2.添加自动换行CSS代码后: 好了,废话不多说,直接上代码: .auto-line-feed{w ...

  6. css阻止换行_CSS中,如何处理短内容和长内容?

    本文已经过原作者 shadeed 授权翻译. 当我们使用 CSS 构建布局时,考虑长短文本内容很重要,如果能清楚地知道当文本长度变化时需要怎么处理,可以避免很多不必要的问题. 在许多情况下,添加或删除 ...

  7. echart移上去显示内容_Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部名称方法...

    最近公司做项目,使用echarts做开发,碰到一些数据的名称很长导致图例展示的效果不是很好,自己写了一个方法,当X轴内容过长时自动隐藏,鼠标移动上去显示全部名称 样例: 图二是鼠标移动到名称显示的,怎 ...

  8. Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部

    使用echarts图表做页面展示的时候,当X轴内容过长时,之前一直用的 '\n'  换行(将字符串根据需要分成两行来展示),这样有很大的局限性(如内容过长的话 分成两行也放不下,而且也会影响美观),后 ...

  9. echart横轴文字显示省略号_Echarts X轴内容过长自动隐藏,鼠标移动上去显示全部名称方法...

    最近公司做项目,使用echarts做开发,碰到一些数据的名称很长导致图例展示的效果不是很好,自己写了一个方法,当X轴内容过长时自动隐藏,鼠标移动上去显示全部名称 样例: 图二是鼠标移动到名称显示的,怎 ...

最新文章

  1. DCMTK:表示来自细分ID的细分的类
  2. html上传预览图片原理,关于html中图片上传预览的实现
  3. 编写高质量代码的50条黄金守则-Day 01(首选隐式类型转换)
  4. react大数据量渲染_UseEffect在React中运行无限渲染(超过最大更新深度)
  5. 2021云上智能白皮书 附下载
  6. wifi服务器无响应如何修复,wifi打不开怎么修复?wifi打不开原因是什么
  7. java交接文档_如何写好交接文档
  8. dnslog盲打学习
  9. 如何正确下载安全无毒的局域网、内网即时通讯软件
  10. 实现京东商城地址选择效果(效果还挺一致的)
  11. 2018c与语言程序设计形成性考核册,最新版中央广播电视大学C语言程序设计形成性考核册及答案.docx...
  12. Guns二次开发(十二):自定义图片上传插件
  13. 人生,有时需要不知足!
  14. 手机居然可以变成电脑的无线麦克风?快来瞧瞧
  15. swift学习笔记一
  16. 安装及配置JDK/JRE
  17. 蓝桥杯单片机学习3——数码管静态显示
  18. 把一个用阿拉伯数字表示的正整数转换成汉字大写表示
  19. 《微信读书》自定义样式
  20. 云南艺术学院艺考开考 万人追逐艺术梦

热门文章

  1. java包路径_包java路径
  2. android静默卸载,android实现静默卸载
  3. Linux 环境变量
  4. 一级造价工程师(安装)- 计量笔记 - 第二章第四节辅助项目
  5. SGame 多种语言接入
  6. python库在哪个文件夹里_python库在哪个文件夹下
  7. 谈谈你对 vue 的理解
  8. Win7 PE下安装Windows7系统非GHOST版本【图文教程】
  9. input禁止浏览器记住密码
  10. 木材材积表快速计算器_木材材积计算器