解决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 Sort 表格排序
Oct 31 Javascript
javascript 处理事件绑定的一些兼容写法
Dec 24 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
Dec 11 Javascript
Javascript对象属性方法汇总
Nov 21 Javascript
文本框倒叙输入让输入框的焦点始终在最开始的位置
Sep 01 Javascript
JavaScript学习笔记之检测客户端类型是(引擎、浏览器、平台、操作系统、移动设备)
Dec 03 Javascript
JavaScript中三种常见的排序方法
Feb 24 Javascript
vue中添加mp3音频文件的方法
Mar 02 Javascript
JS中DOM元素的attribute与property属性示例详解
Sep 04 Javascript
详解webpack2异步加载套路
Sep 14 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
Sep 27 jQuery
Element-ui Layout布局(Row和Col组件)的实现
Dec 06 Vue.js
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和ASP.NET的10大对比!
2015/12/24 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
详解PHP中foreach的用法和实例
2016/10/25 PHP
在Yii2特定页面如何禁用调试工具栏Debug Toolbar详解
2017/08/07 PHP
PHP7.1实现的AES与RSA加密操作示例
2018/06/15 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
jquery 插件开发备注
2010/08/27 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
angularjs学习笔记之简单介绍
2015/09/26 Javascript
JavaScript事件处理的方式(三种)
2016/04/26 Javascript
javascript实现的上下无缝滚动效果
2016/09/19 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
bootstrap模态框消失问题的解决方法
2016/12/02 Javascript
jQuery使用正则表达式替换dom元素标签用法示例
2017/01/16 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
Python Tkinter基础控件用法
2014/09/03 Python
python迭代dict的key和value的方法
2018/07/06 Python
Python实现微信中找回好友、群聊用户撤回的消息功能示例
2019/08/23 Python
Django之路由层的实现
2019/09/09 Python
Python3实现zip分卷压缩过程解析
2019/10/09 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
解决jupyter notebook打不开无反应 浏览器未启动的问题
2020/04/10 Python
解决Jupyter notebook中.py与.ipynb文件的import问题
2020/04/21 Python
校园十大歌手策划书
2014/02/01 职场文书
工艺员岗位职责
2014/02/11 职场文书
小学生元旦广播稿
2014/02/21 职场文书
2014年英语教学工作总结
2014/12/17 职场文书
七一建党节慰问信
2015/02/14 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
就业推荐表院系意见
2015/06/05 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
python基础之文件操作
2021/10/24 Python
奥特曼十大神器:奥特手镯在榜,第一是贝利亚的神器
2022/03/18 日漫
关于MySQL中explain工具的使用
2023/05/08 MySQL