如何用 Font Awesome 图标替换默认 Quill.js dropdown.svg?
How to replace default Quill.js dropdown.svg with Font Awesome icon?
背景
我们目前正在使用 vue-quill-editor vue-quill-editor 将文本编辑器集成到 Vue.js 应用中。
由于我们在应用程序中使用 Font Awesome,我已将每个默认工具栏图标替换为 Font Awesome 等效图标。
main.js
import VueQuillEditor from 'vue-quill-editor';
import Quill from 'quill';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import '@/assets/scss/main.scss';
const icons = Quill.import('ui/icons');
icons['bold'] = '<i class="fa fa-bold" aria-hidden="true"></i>';
icons['italic'] = '<i class="fa fa-italic" aria-hidden="true"></i>';
唯一无法以这种方式更改的图标是 picker/dropdown 图标,因为它不在 icons.js.
中
问题
将默认 picker/dropdown 图标替换为等效的 Font Awesome 图标(例如 <i class="fa fa-chevron-down" aria-hidden="true"></i>
)的最佳方法是什么?
谢谢!
您不能直接更改 drop-down
,但是您可以添加自定义 select 选项并在其上应用 style
。
感谢帕特尔提供上述解决方案。
碰巧,我想出了一个更简单的解决方案,不需要创建自定义 select 选项。
我刚刚删除了默认的 svg 并使用 :after
添加了新图标:
.ql-picker-label {
svg {
width: 0px !important;
}
}
.ql-header,
.ql-size {
.ql-picker-label:after {
color: $black !important;
content: '\f078';
font-family: 'FontAwesome';
position: absolute;
top: 1px !important;
right: 0;
}
}
它似乎工作得很好并且当然适用于所有这些元素。
背景
我们目前正在使用 vue-quill-editor vue-quill-editor 将文本编辑器集成到 Vue.js 应用中。
由于我们在应用程序中使用 Font Awesome,我已将每个默认工具栏图标替换为 Font Awesome 等效图标。
main.js
import VueQuillEditor from 'vue-quill-editor';
import Quill from 'quill';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import '@/assets/scss/main.scss';
const icons = Quill.import('ui/icons');
icons['bold'] = '<i class="fa fa-bold" aria-hidden="true"></i>';
icons['italic'] = '<i class="fa fa-italic" aria-hidden="true"></i>';
唯一无法以这种方式更改的图标是 picker/dropdown 图标,因为它不在 icons.js.
中问题
将默认 picker/dropdown 图标替换为等效的 Font Awesome 图标(例如 <i class="fa fa-chevron-down" aria-hidden="true"></i>
)的最佳方法是什么?
谢谢!
您不能直接更改 drop-down
,但是您可以添加自定义 select 选项并在其上应用 style
。
感谢帕特尔提供上述解决方案。
碰巧,我想出了一个更简单的解决方案,不需要创建自定义 select 选项。
我刚刚删除了默认的 svg 并使用 :after
添加了新图标:
.ql-picker-label {
svg {
width: 0px !important;
}
}
.ql-header,
.ql-size {
.ql-picker-label:after {
color: $black !important;
content: '\f078';
font-family: 'FontAwesome';
position: absolute;
top: 1px !important;
right: 0;
}
}
它似乎工作得很好并且当然适用于所有这些元素。