Почему «поле» является допустимым именем цвета в CSS?

Я создал функцию isColor, которая использует CSS.supports для определения того, является ли некоторый текст цветом HTML или нет. Это идеально подходит для названий цветов, таких как red, и шестнадцатеричных цветов, таких как #3883fa. Однако для текста field функция CSS.supports('color', 'field') также возвращает true. Имя field не упоминается в списке названий цветов CSS, и я ожидаю, что CSS.supports вернет false в этом случае.

Почему это так? Есть ли еще подобные случаи?

Отвечает ли это на ваш вопрос? Почему HTML считает, что «чакноррис» — это цвет?

Cybertine 21.02.2024 17:18

@Cybertine — Речь идет о цветах CSS, а не цветах HTML — CSS.supports('color', 'chucknorris') возвращает false.

Alohci 21.02.2024 17:19

Я имею в виду, это одна и та же концепция?

Cybertine 22.02.2024 00:06

Спасибо Cybertine, похоже, что случай chucknorris представляет собой другую категорию ложных срабатываний, но, как объясняет @Alohci в ответе, причина того, что «поле» определяется как число, другая. Обе категории являются «ложными срабатываниями», и мне нужно позаботиться об обеих, чтобы определить, является ли какой-либо цвет допустимым.

Jos de Jong 22.02.2024 10:57
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
1
4
60
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Это системный цвет, означающий цвет фона поля ввода, как определено в Поле в последнем проекте CSS Color Module Level 4.


As noted in the question comments, CSS.supports tests for CSS colors, which doesn't apply the "error correction" algorithm used by colors in HTML attributes. For that, practically every string of characters gets interpreted as a color when used in an HTML attribute that expects a color value.

Спасибо, это объясняет это, а также отвечает на вопрос, есть ли еще такие имена. Похожая проблема с другой причиной обсуждается здесь, в общем, теперь я вижу, как придумать более надежную isColor функцию.

Jos de Jong 22.02.2024 10:55

Другие вопросы по теме