2016-07-27 667 views
2

如何使用QuillJS將自定義字體大小添加到工具欄?我已經試過兩種方法:如何將自定義字體大小添加到QuillJS編輯器

// Initiate the editor 
     let toolbarOptions = [ 
      ['bold', 'italic', 'underline', 'strike'], 
      [{ 'align': [] }], 
      [{ 'size': ['10px', '20px', '80px'] }], 
      [{ 'color': ['#FFF'] }] 
     ]; 
     this.editor = new Quill('#executive-control-editor', { 
      modules: { 
       toolbar: toolbarOptions 
      }, 
      theme: 'snow' 
     }); 

<div id="toolbar"> 
     <span class="ql-formats"> 
      <button class="ql-bold"></button> 
      <button class="ql-italic"></button> 
      <button class="ql-underline"></button> 
      <button class="ql-strike"></button> 
     </span> 
     <span class="ql-formats"> 
      <select class="ql-align"></select> 
     </span> 
     <span class="ql-format-group"> 
      <select title="Size" class="ql-size"> 
      <option value="10px">Small</option> 
      <option value="13px">Normal</option> 
      <option value="18px">Large</option> 
      <option value="32px">Huge</option> 
      </select> 
     </span> 
     <span class="ql-formats"> 
      <button class="ql-image"></button> 
     </span> 
    </div> 

但是他們都沒有工作。有什麼我在這裏失蹤?我嘗試從值中刪除「px」;依然沒有。

+0

請參閱[此問題](http://stackoverflow.com/questions/33018395/quill-js-font-size-issue)。 – Harangue

+0

@Harangue他有一個不能超過18px的問題。我甚至無法獲得任何自定義尺寸。另外,這是Beta1.0之前的版本。他們現在發佈了1.0。 – James

回答

1

現在有點奇怪,所以我可以將它添加到Quill配置中。但是現在,它不工作的原因是Quill默認使用類來調整大小,而你想要的是內聯樣式。你可以改變這個:

var Size = Quill.import('attributors/style/size'); 
Quill.register(Size, true); 

// Rest is the same 
var editor = new Quill('#editor'); 
+0

現在,我正在使用CDN庫。這會繼續嗎? – James

+0

我無法獲得此解決方案的工作。它試圖導入時不斷拋出錯誤。但是我確實找到了解決辦法。我製作了自己的snow css文件副本,並更改​​了文件的字體大小。謝啦! – James

+1

我的錯誤我更新了正確導入的答案 – jhchen

5

上面接受的答案不適合我,但把我放在正確的軌道上。

這是我必須做的有文本編輯器(在基礎值,而不是CSS類的字體大小,還可以設置內嵌樣式)設置自定義字體大小:

var Size = Quill.import('attributors/style/size'); 
Size.whitelist = ['14px', '16px', '18px']; 
Quill.register(Size, true); 

var toolbarOptions = [ 
    [{ 'size': ['14px', '16px', '18px'] }], 
]; 

var quill = new Quill("#quillElementSelector", { 
    theme: 'snow', 
    modules: { 
     toolbar: toolbarOptions 
    } 
}); 

我還必須修改我的CSS來覆蓋工具欄下拉列表中的標籤。請注意,CSS選擇器中的「數據值」值必須與上面指定的值匹配。

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="14px"]::before { 
    content: 'Normal'; 
    font-size: 14px !important; 
} 

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="16px"]::before { 
    content: 'Large'; 
    font-size: 16px !important; 
} 

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="18px"]::before { 
    content: 'Huge'; 
    font-size: 18px !important; 
} 
+0

謝謝!這也適用於我。將'Size'更改爲任何其他變量名稱時失敗。奇怪!!! –

+0

這是絕對荒謬的,你必須訴諸覆蓋樣式通過他們的數據值而不是使用像這樣的配置: '{'size':{'Small':'14px','Normal':false,'Large' :'16px','Huge':'18px'}}' 然後再次,這將菜單項的樣式留在空中...... – pmarreck

+0

請注意,此外,爲了獲得菜單標題以反映無論插入點的位置(如股票/默認菜單),我還必須添加這種類型的CSS:'.ql-picker-label [data-value =「10px」] :: before {內容:'小'!重要; }' – pmarreck