ime-mode у CSS — застаріле керування редактором IME


автор: Svitlana

Загальний опис

автор: NagarD

Порада

Взагалі, для публічного веб-сайту неприйнятно змінювати режим IME. Цю властивість слід використовувати лише для приватних, внутрішніх веб-програм тощо.

автор: Svitlana
Порада

Не покладайтеся на вимкнення IME, щоб запобігти проникненню небажаних символів через вашу форму. Навіть якщо IME вимкнено, користувачі можуть вставляти розширені символи у поля форми.

автор: Svitlana
Порада

Ця функція була видалена з веб-стандартів. Хоча деякі браузери все ще можуть її підтримувати, він знаходиться в процесі видалення. Уникайте його використання і, якщо можливо, поновіть існуючий код. Майте на увазі, що ця функція може перестати працювати в будь-який час.

автор: Svitlana
Нотатка

Атрибут -ms-ime-mode для Internet Explorer 8 - це розширення CSS і може використовуватися також як ime-mode в режимі IE8.

автор: Svitlana

Синтаксис

ime-mode: auto | normal | active | inactive | disabled;

Властивість ime-mode може отримувати 4 значень:

auto

Стан текстового поля не змінюється. Без задання.

автор: Svitlana

active

Всі знаки розміщені через IME. Користувачі можуть деактивувати IME.

автор: Svitlana

inactive

Всі знаки розміщені без використання IME. Користувачі можуть активувати IME.

автор: Svitlana

disabled

IME повністю відключений. Його користувачі не можуть активувати IME, якщо елемент керування має фокус введення.

автор: Svitlana

Значення без задання: auto
Наслідує: Так
Анімується: Ні
JavaScript синтаксис: object.style.imeMode = '';

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
3 12–79 5
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
4

Приклади

+ запропонувати свій приклад у пісочниці

ime-mode вимикав редактор методу введення (IME) для східноазійських мов. Властивість нестандартна і вилучена з сучасних браузерів — поле нижче поводиться як звичайне; у новому коді її не використовуй.

HTML

<p>Поле, якому старі браузери вимикали IME:</p>
<input type="text">

CSS

input {
    ime-mode: disabled;
}
автор: Svitlana

Синтаксис властивості

HTML

<input type="text" name="name" placeholder="Your text">

CSS

input {
  ime-mode: disabled;
}
автор: Svitlana

П'ять полів із наперед вписаними значеннями. Перше — мертвий рядок ime-mode: disabled: поле лишається нейтральним, бо жодної перевірки він не задає. Решта чотири використовують сучасну розмітку: pattern на п'ять цифр (правильне значення підсвічене зеленим, неправильне — червоним) і type="email" (те саме). Підсвітку робить CSS через :valid і :invalid, і вона з'являється одразу, без надсилання форми.

HTML

<p class="cap">Мертвий рядок — перевірки не задає, підсвітки немає:</p>
<label class="f">
    <span>ime-mode: disabled</span>
    <input class="dead" type="text" value="будь-що, і це приймається">
</label>

<p class="cap">Сучасна розмітка — перевірка одразу, без скриптів:</p>
<label class="f">
    <span>pattern="[0-9]{5}" — індекс правильний</span>
    <input class="live" type="text" pattern="[0-9]{5}" value="01001">
</label>
<label class="f">
    <span>pattern="[0-9]{5}" — індекс із літерами</span>
    <input class="live" type="text" pattern="[0-9]{5}" value="01a01">
</label>
<label class="f">
    <span>type="email" — адреса правильна</span>
    <input class="live" type="email" value="[email protected]">
</label>
<label class="f">
    <span>type="email" — адреса неправильна</span>
    <input class="live" type="email" value="hi-css-in-ua">
</label>

CSS

.cap {
    margin: 18px 0 10px;
    max-width: 620px;
    font: 600 .9em/1.45 system-ui, sans-serif;
    color: #5a6472;
}

.f {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 8px;
}

.f span {
    width: 280px;
    font: .85em/1.4 system-ui, sans-serif;
    color: #5a6472;
}

input {
    width: 240px;
    padding: 7px 9px;
    border: 3px solid #b9c6d8;
    background: #fff;
    font: 14px/1.3 system-ui, sans-serif;
}

.dead {
    ime-mode: disabled;
}

.live:valid {
    border-color: #2e8b57;
    background: #eefaf1;
}

.live:invalid {
    border-color: #c0392b;
    background: #fdeeee;
}
автор: NagarD

Приклад використання

HTML

<p>Вибери потрібне значення для <code>ime-mode</code>.</p>

<p>Редактор методів вводу (IME) дозволяє вставляти на сторінки символу китайського, корейського і японського алфавітів (ієрогліфи) і потім редагувати їх. IME - це основний і необхідний компонент для написання текстів на цих мовах. В алфавітах цих мов занадто багато символів, щоб їх можна було закодувати і розмістити на звичайній клавіатурі. </p>

<p>Зверніть увагу, на підтримку цієї <a href="https://css.in.ua/css/property/ime-mode">властивості браузерами!</a></p>

<div class="inputs">
  <input id="auto" checked name="outline-style" type="radio"/>
  <label for="auto">auto</label>
  <message for="auto">Стан текстового поля не змінюється. За замовчуванням.</message>
  <input id="active" name="outline-style" type="radio"/>
  <label for="active">active</label>
  <message for="active">Всі знаки розміщені через IME. Користувачі можуть деактивувати IME.</message>
  <input id="inactive" name="outline-style" type="radio"/>
  <label for="inactive">inactive</label>
  <message for="inactive">Всі знаки розміщені без використання IME. Користувачі можуть активувати IME.</message>
  <input id="disabled" name="outline-style" type="radio"/>
  <label for="disabled">disabled</label>
  <message for="disabled">IME повністю відключений. Його користувачі не можуть активувати IME, якщо елемент керування має фокус введення.</message>
</div>

<p id="message">Стан текстового поля не змінюється. За замовчуванням.</p>

<hr>

<input id="block" placeholder="text"></input>

CSS

* {
  box-sizing: border-box;
  padding: 0;
}

body {
  text-align: center;
  font-family: monospace;
  font-size: 17px;
  line-height: 1.5;
  color: #222;
}

#form {
  padding: 8px 16px;
  font-size: 19px;
}

#block {
  padding: 6px;
  width: 275px;
  margin: 75px auto 0 auto;
  border: 1px solid #666;
}

#text {
  height: 60px;
  background-color: #eee;
  padding: 16px 0;
}

message {
  display: none;
}

JS

const message = document.querySelector('#message');

document.querySelectorAll('.inputs input').forEach((el) => el.addEventListener('change', function () {

  var messageText = document.querySelector("message[for='" + this.id + "']");
  message.textContent = messageText?.textContent ?? '';

  document.querySelectorAll('#block').forEach((n) => n.style.setProperty('ime-mode', this.id));

}));
автор: Svitlana

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Як форматувати текст?
Пишемо Виходить
**важливо**
*акцент*
~~застаріле~~
Виділення в тексті. Те саме роблять кнопки панелі, що спливає над виділеним.
## Як працює каскад
### Порядок оголошень
Заголовки всередині тексту. Найбільший не потрібен — він у сторінки вже є.
[[css/property/color]] Посилання на сторінку довідника. Наберіть [[ — поле веде сходинками (розділ → тип → сторінка), а хибний ключ підкреслить хвилею.
[[!sandbox/S0oh1hBm]] Живий приклад окремим рядком — саме вікно результату. Той самий ключ зі знаком !: наберіть [[! і дійдіть сходинками до потрібної сторінки, список покаже її приклади.
[MDN](https://developer.mozilla.org) Посилання на чужий сайт.
![Схема каскаду](https://site.com/схема.png) Картинка. Опис обов'язковий: його читають пошуковик і незрячі.
Задайте `display: grid` контейнеру Код усередині речення.
```css
.card { display: grid }
```
Код блоком. Мова після трьох лапок вмикає підсвітку.
- Походження
1. Походження
Перелік: маркований і нумерований.
- [ ] дописати приклади
- [x] перевірити в Firefox
Перелік завдань із галочками. Пробіл у порожніх дужках обов'язковий.
> Порядок важить лише за рівної ваги. Цитата на всю ширину абзацу.
Специфічність
: вага селектора; більша перемагає
Список означень: термін, а під ним пояснення з відступом. Пробіл після двокрапки обов'язковий.
Каскад має три критерії[^1]
[^1]: Походження, специфічність, порядок.
Виноска: номер у тексті, примітка внизу сторінки. Без згадки [^1] у тексті примітка не з'явиться.
Відповідь: ||сорок два|| Ховає те, що між рисками: читач бачить на цьому місці розмиту пляму, а решта речення лишається звичайною. Клац — і текст відкрито.
|| Показати рішення
Задайте контейнеру `display: grid`.
||
Ховає цілі абзаци. На сторінці видно лише підпис із першого рядка («Показати рішення»), решта розгортається клацанням по ньому. Закривні риски — окремим рядком.
Порожній рядок Новий абзац. Щоб перенести рядок усередині абзацу, поставте \ в його кінці.

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Правка
Зворотний зв'язок
Вхід