在tinyMCE工具栏上右侧的浮动按钮

时间:2014-03-12 23:29:18

标签: javascript css tinymce

我要做的是创建一个工具栏,其左边有一些默认按钮,但是在同一个工具栏的右边有一个自定义按钮/下拉列表。

这是我的html / javascript / init:

<h3>
  Behold: Magic
</h3>
<div>
  <%= text_area_tag :content, "", id: "magic", rows: 20 %>
</div>
<script type="text/javascript">
tinymce.init({
  selector: "#magic",
  plugins: "link image",
  menubar: false,
  toolbar: "bold italic underline strikethrough | styleselect | bullist numlist | undo redo | link image | insertField",
  setup: function(editor) {
    editor.addButton("insertField", {
      type: "menubutton",
      text: "Insert Field",
      style: "float: right",
      menu: [
        { text: "First Name", onclick: function() { editor.insertContent("tom"); } },
        { text: "Last Name", onclick: function() { editor.insertContent("prats"); } }
      ]
    });
  }
});
</script>

到目前为止,这段代码的工作原理是一个包含所有元素的tinyMCE工具栏,但仍然与左边对齐。这是它看起来/应该看起来的样子:

错:

These | Count | As | Buttons | Floated | Left | Floated Right

右:

These | Count | As | Buttons | Floated | Left                       Floated Right

正如你所看到的,我尝试通过样式(但也是类)选项添加css,尽管它出现在元素上,但元素没有出现在右侧。任何帮助将不胜感激。

6 个答案:

答案 0 :(得分:2)

你没有指定你的TinyMCE版本所以我假设你在谈论TinyMCE 4。

首先,您需要确保要与右侧对齐的按钮属于某个组。在下面的示例工具栏中,我们将右对齐fullscreen按钮。我们将该按钮放在它自己的组中,方法是在它前面加上一个管道:|

toolbar: 'h2 bold italic | bullist numlist | link unlink | fullscreen'

现在,使用CSS伪元素,我们将目标指向工具栏中的最后一个组,如下所示:

.mce-btn-group:last-child {
    float:right;
    border-left: none;
}

我们使用float:right将其与右侧对齐,并使用border-left: none;

删除分隔符

答案 1 :(得分:0)

使用css:

.mce-toolbar .mce-last { float: right; }

在某些浏览器中,最后一个项目可能会下拉,您可以将最后一个工具栏项目移到第一个并使用:

.mce-toolbar .mce-first { float: right; }

答案 2 :(得分:0)

只有这一个在tinymce 4.7.13

中为我工作
.mce-toolbar .mce-btn-group { width: 100%; }
.mce-toolbar .mce-btn-group .mce-btn.mce-last { float: right; }

答案 3 :(得分:0)

大多数最新版本都使用flexbox,因此float无法使用。

.tox-toolbar__group:last-child' {
    marginLeft: 'auto',
    borderLeft: 'none',
}

答案 4 :(得分:0)

我们可以轻松自定义 CSS 样式,以便在 TinyMCE 编辑器上将工具栏按钮浮动到右侧。 它的工具栏有一个名为“tox-toolbar__primary”的样式。

所以你可以像这样插入你的 CSS 代码:

.tox-toolbar__primary {
    display: flex;
    justify-content: flex-end;
}

答案 5 :(得分:-1)

只需转到Common.js文件中的init Function并编辑功能

function InitTinyMCE() {
    tinymce.init({
        mode: "specific_textareas",
        editor_selector: "ub-textarea",
        theme: "modern",
        encoding: "xml",
        plugins: [
            "advlist autolink lists link image charmap print preview hr anchor pagebreak",
            "searchreplace wordcount visualblocks visualchars code fullscreen",
            "insertdatetime media nonbreaking save table contextmenu directionality",
            "emoticons template paste"
        ],
        toolbar1: "undo redo | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | emoticons",
        image_advtab: true,
        menubar: false,

        statusbar: false
    });
}