解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题


Posted in Javascript onAugust 03, 2020

解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题

假设你已经知道如何引入vue-quill-editor,并且遇到了跟我一样的问题(如上图),显示出来的图标排列不整齐,字体,文字大小选择时超出边框。你可以试试下面这种解决办法 。

在使用文本编辑器的vue页面中引入vue-quill-editor中的样式。

@import "../../node_modules/quill/dist/quill.snow.css";

然后在组件中添加class名 —— class=“ql-editor”。

<quill-editor class="ql-editor"></quill-editor>

解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题

你就会看到错乱的图标样式已经改变,如下图:

样式排列已经整齐

如果在包裹组件的标签上添加class名 —— class=“ql-container ql-snow”。

<el-form-item class="ql-container ql-snow">
  <quill-editor class="ql-editor"></quill-editor>
</el-form-item>

你将会看到下图的效果,文本编辑器外面多了一层容器。

文本编辑器多了一层外框

解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题

补充知识:Vue-Quill-Editor富文本使用笔记

<template>
 <div class="hello">
  <quill-editor
   v-model="content"
   ref="myQuillEditor"
   :options="editorOption"
   @focus="onEditorFocus($event)"
   @blur="onEditorBlur($event)"
   @change="onEditorChange($event)"
  >
  <div id="toolbar" slot="toolbar">
    <!-- Add a bold button -->
     <button class="ql-bold" title="加粗">Bold</button>
     <button class="ql-italic" title="斜体">Italic</button>
     <button class="ql-underline" title="下划线">underline</button>
     <button class="ql-strike" title="删除线">strike</button>
     <button class="ql-blockquote" title="引用"></button>
     <button class="ql-code-block" title="代码"></button>
     <button class="ql-header" value="1" title="标题1"></button>
     <button class="ql-header" value="2" title="标题2"></button>
     <!--Add list -->
     <button class="ql-list" value="ordered" title="有序列表"></button>
     <button class="ql-list" value="bullet" title="无序列表"></button>
     <!-- Add font size dropdown -->
     <select class="ql-header" title="段落格式">
      <option selected>段落</option>
      <option value="1">标题1</option>
      <option value="2">标题2</option>
      <option value="3">标题3</option>
      <option value="4">标题4</option>
      <option value="5">标题5</option>
      <option value="6">标题6</option>
     </select>
     <select class="ql-size" title="字体大小">
      <option value="10px">10px</option>
      <option value="12px">12px</option>
      <option value="14px">14px</option>
      <option value="16px" selected>16px</option>
      <option value="18px">18px</option>
      <option value="20px">20px</option>
     </select>
     <select class="ql-font" title="字体">
      <option value="SimSun">宋体</option>
      <option value="SimHei">黑体</option>
      <option value="Microsoft-YaHei">微软雅黑</option>
      <option value="KaiTi">楷体</option>
      <option value="FangSong">仿宋</option>
      <option value="Arial">Arial</option>
     </select>
     <!-- Add subscript and superscript buttons -->
     <select class="ql-color" value="color" title="字体颜色"></select>
     <select class="ql-background" value="background" title="背景颜色"></select>
     <select class="ql-align" value="align" title="对齐"></select>
     <button class="ql-clean" title="还原"></button>
     <!-- You can also add your own -->
  </div>
  </quill-editor>
 </div>
</template>
 
<script>
import { quillEditor } from "vue-quill-editor"; // 调用富文本编辑器
import "quill/dist/quill.snow.css"; // 富文本编辑器外部引用样式 三种样式三选一引入即可
//import 'quill/dist/quill.core.css'
//import 'quill/dist/quill.bubble.css'
import * as Quill from "quill"; // 富文本基于quill
 
export default {
 name: "HelloWorld",
 components: {
  "quill-editor": quillEditor
 },
 data() {
  return {
   editor: null, // 富文本编辑器对象
   content:'',// 富文本编辑器默认内容
   editorOption: {
    // 富文本编辑器配置,顶部的工具栏
    modules: {
     toolbar:"#toolbar"
     // toolbar: [
     //  ["bold", "italic", "underline", "strike"], //加粗,斜体,下划线,删除线
     //  ["blockquote", "code-block"], //引用,代码块
 
     //  [{ header: 1 }, { header: 2 }], // 标题,键值对的形式;1、2表示字体大小
     //  [{ list: "ordered" }, { list: "bullet" }], //列表
     //  [{ script: "sub" }, { script: "super" }], // 上下标
     //  [{ indent: "-1" }, { indent: "+1" }], // 缩进
     //  [{ direction: "rtl" }] // 文本方向
     // ]
    },
    theme: "snow",//主题
    placeholder: "请输入正文"
   }
  };
 },
 mounted() {
  this.editor = this.$refs.myQuillEditor.quill;
 },
 beforeDestroy() {
  this.editor = null;
  delete this.editor;
 },
 methods: {
  // 准备富文本编辑器
  onEditorReady(editor) {},
  // 富文本编辑器 失去焦点事件
  onEditorBlur(editor) {},
  // 富文本编辑器 获得焦点事件
  onEditorFocus(editor) {},
  // 富文本编辑器 内容改变事件
  onEditorChange(editor) {
   console.log(editor);
  }
 }
};
</script>
 
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
</style>

安装好以后,按照这种方式写,基本接口搭建完成,细节方面自己稍微调整。

注意:工具栏可以使用toolbar数组形式配置,也可以使用html方式配置。感觉数组形式更简洁,html形式样式更好调整。

以上这篇解决Vue的文本编辑器 vue-quill-editor 小图标样式排布错乱问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 密码强弱度检测万能插件
Feb 25 Javascript
js中查找最近的共有祖先元素的实现代码
Dec 30 Javascript
Jquery中对数组的操作代码
Aug 12 Javascript
javascript中有趣的反柯里化深入分析
Dec 05 Javascript
jquery移动节点实例
Jan 14 Javascript
浅谈关于JavaScript API设计的一些建议和准则
Jun 24 Javascript
不依赖Flash和任何JS库实现文本复制与剪切附源码下载
Oct 09 Javascript
jQuery插件编写步骤详解
Jun 03 Javascript
微信小程序 WXML、WXSS 和JS介绍及详解
Oct 08 Javascript
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
详解Require.js与Sea.js的区别
Aug 05 Javascript
JS定时器如何实现提交成功提示功能
Jun 12 Javascript
Vue 根据条件判断van-tab的显示方式
Aug 03 #Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
Aug 03 #Javascript
Vue解决echart在element的tab切换时显示不正确问题
Aug 03 #Javascript
js实现点击上传图片并设为模糊背景
Aug 02 #Javascript
jQuery实现雪花飘落效果
Aug 02 #jQuery
原生js+canvas实现贪吃蛇效果
Aug 02 #Javascript
js+canvas实现五子棋小游戏
Aug 02 #Javascript
You might like
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
php中使用GD库做验证码
2016/03/31 PHP
smarty模板数学运算示例
2016/12/11 PHP
PHP检查网站是否宕机的方法示例
2017/07/24 PHP
PHP基于面向对象封装的分页类示例
2019/03/15 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
JavaScript 关键字屏蔽实现函数
2009/08/02 Javascript
Mootools 1.2教程 函数
2009/09/15 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
jQuery UI插件自定义confirm确认框的方法
2015/03/20 Javascript
浅谈NodeJS中require路径问题
2015/05/07 NodeJs
JavaScript中实现Map的示例代码
2015/09/09 Javascript
AngularJS基础 ng-show 指令简单示例
2016/08/03 Javascript
nginx部署多个vue项目的方法示例
2020/09/06 Javascript
[01:54]TI珍贵瞬间系列(五):压力
2020/08/29 DOTA
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
python文件的md5加密方法
2016/04/06 Python
在Windows中设置Python环境变量的实例讲解
2018/04/28 Python
django manage.py扩展自定义命令方法
2018/05/27 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
Python安装OpenCV的示例代码
2020/03/05 Python
使用python求斐波那契数列中第n个数的值示例代码
2020/07/26 Python
python 基于DDT实现数据驱动测试
2021/02/18 Python
Python中生成ndarray实例讲解
2021/02/22 Python
法国时尚品牌乐都特瑞士站:La Redoute瑞士
2016/09/05 全球购物
阿迪达斯法国官方网站:adidas法国
2018/03/20 全球购物
英国经济型酒店品牌:Travelodge
2019/12/17 全球购物
.net开发工程师面试题
2014/02/25 面试题
财政局长自荐信范文
2013/12/22 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
晚会闭幕词
2015/01/28 职场文书
python自动化测试通过日志3分钟定位bug
2021/11/20 Python
CSS实现渐变色边框(Gradient borders)的5种方法
2022/03/25 HTML / CSS