     @cursors = {}
     @container = @quill.addContainer('cursor-container', true)
     @quill.addStyles(
-      '.cursor-container': { 'position': 'absolute', 'z-index': '1000' }
+      '.cursor-container': { 'position': 'absolute', 'left': '0', 'top': '0', 'z-index': '1000' }
       '.cursor': { 'margin-left': '-1px', 'position': 'absolute' }
       '.cursor-flag':
         'bottom': '100%'

    @container.appendChild(cursor)
    return cursor

  _moveCursor: (cursor, referenceNode) ->
    cursor.elem.style.top = referenceNode.offsetTop + 'px'
    cursor.elem.style.left = referenceNode.offsetLeft + 'px'
    cursor.elem.style.height = referenceNode.offsetHeight + 'px'
    flag = cursor.elem.querySelector('.cursor-flag')
    DOM.toggleClass(cursor.elem, 'top', parseInt(cursor.elem.style.top) <= flag.offsetHeight)
    DOM.toggleClass(cursor.elem, 'left', parseInt(cursor.elem.style.left) <= flag.offsetWidth)

    this.emit(MultiCursor.events.CURSOR_MOVED, cursor)

  _updateCursor: (cursor) ->
    [leaf, offset] = @quill.editor.doc.findLeafAt(cursor.index, true)
    if leaf?
      if offset == 0
        this._moveCursor(cursor, leaf.node.parentNode)
      else if offset == leaf.length
        this._moveCursor(cursor, leaf.node.parentNode, 'right')
      else
        [leftNode, rightNode] = Utils.splitNode(leaf.node.parentNode, offset)
        this._moveCursor(cursor, leftNode, 'right')
        DOM.normalize(leaf.node.parentNode)
    else
      guide = @container.ownerDocument.createElement('span')
      DOM.setText(guide, DOM.NOBREAK_SPACE)
      @quill.root.appendChild(guide)
      this._moveCursor(cursor, guide)
      DOM.removeNode(guide)
    cursor.dirty = false


