У меня сейчас есть следующий JS Fiddle, показывающий div с фоновым изображением в редактируемом вводе контента.Я хотел бы иметь возможность выделить div, как если бы это был текст.
.input {
border: 1px solid black;
width: 200px;
}
.emoji {
width: 16px;
height: 16px;
background-size: contain;
display: inline-block;
background-image: url(https://twemoji.maxcdn.com/2/72x72/1f609.png);
}
<div contenteditable="true" class="input">
<div class='emoji'/>
</div>
Обратите внимание, что в приведенной выше скрипке при попытке выделить эмодзи с помощью мыши, как если бы это был текст, неправильно выделяется эмодзи.
Я попробовал следующие 2 решения, но они не сработали.
1) Установка tab-index="-1"
для div emoji и добавление следующего css для установки цвета фона, чтобы эмодзи выглядели выделенными
.emoji {
&:focus {
background-color: #338fff;
}
}
2) Использование ::selected
css и установка цвета фона, чтобы он выглядел выделенным
.emoji {
&:selected {
background-color: #338fff;
}
}
Любая помощь приветствуется!