Является ли background-color:none допустимым CSS? — Переполнение стека
спросил
Изменено 3 года назад
Просмотрено 777 тысяч раз
Может ли кто-нибудь сказать мне, допустим ли следующий CSS?
.класс {
цвет фона: нет;
}
- CSS
- цвет фона
2
Вероятно, вам нужно прозрачное как нет не является допустимым значением background-color .
В спецификации CSS 2.1 для свойства background-color указано следующее:
Значение: <цвет> | прозрачный | наследовать
<цвет> может быть либо ключевым словом, либо числовым представлением цвета.
цвет ключевые слова:цвет морской волны, черный, синий, фуксия, серый, зеленый, салатовый, темно-бордовый, темно-синий, оливковый, оранжевый, фиолетовый, красный, серебристый, бирюзовый, белый и желтый
Transparent и inherit являются действительными ключевыми словами сами по себе, но none не являются.
6
Нет, используйте прозрачный вместо нет . См. рабочий пример здесь, в этом примере, если вы измените прозрачный до нет это не будет работать
использовать как
Где .class — это то, что вы назовете своим прозрачным классом.
2
Нет.![]()
Неверно
.класс {
цвет фона: нет; /* не делай это */
}
Правильно
.класс {
цвет фона: прозрачный;
}
background-color: Transparent выполняет то же самое, что вы хотели сделать с background-color: none .
Уровень CSS 3 определяет значение свойства unset . Из MDN:
Неустановленное ключевое слово CSS представляет собой комбинацию начального и наследуемого ключевые слова. Как и эти два других ключевых слова CSS, его можно применять к любое свойство CSS, включая сокращение CSS all. Это ключевое слово сбрасывается свойство к его унаследованному значению, если оно наследуется от своего родителя или к своему первоначальному значению, если нет. Другими словами, он ведет себя как наследовать ключевое слово в первом случае и подобно исходному ключевому слову в второй случай.
Я предлагаю пока использовать прозрачный .1
.класс {
цвет фона: нет;
}
Недопустимое свойство. Валидатор W3C отобразит следующую ошибку:
Ошибка значения: background-color none не является значением background-color: none
прозрачный мог быть выбран как лучший термин вместо 0 или нет значений во время разработки спецификации CSS.
1
Итак, я хотел бы объяснить сценарий, в котором мне пришлось использовать это решение. По сути, я хотел отменить атрибут background-color, установленный другим CSS. Ожидаемый конечный результат должен был выглядеть так, как будто исходный CSS никогда не применял атрибут background-color. Настройка цвет фона: прозрачный; сделал это эффективным.
1
напишите это:
.класс { цвет фона: прозрачный; }
3
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Опубликовать как гость
Требуется, но не отображается
css — Почему background-color:none не переопределяет указанный цвет фона?
спросил
Изменено 3 года, 8 месяцев назад
Просмотрено 68 тысяч раз
Моя цель состоит в том, чтобы все ячейки в таблице имели цвет фона, кроме ячеек с классом «прозрачный».![]()
<стиль>
td {цвет фона: красный}
td.transparent {цвет фона: нет}
стиль>
<таблица>
фу
бар
таблица>
Почему ячейка td.transparent не следует правилу CSS td.transparent? Когда я проверяю элемент, правило существует, но оно переопределяется правилом td, которое, похоже, нарушает обычные правила специфичности CSS.
Я могу получить то, что хочу, используя rgba(0,0,0,0) вместо none , но rgba не поддерживается в IE8, и я хотел бы избежать использования уродливого хака, если бы мог.
Я также хотел бы просто понять, почему это не работает так, как я ожидал.
Мысли?
- css
- цвет фона
1
Значение должно быть допустимым цветом, а нет не является допустимым цветом. Вместо этого вы можете использовать прозрачный (похож на rgba(0,0,0,0) , но поддерживается более широко).
Если это не поможет, вы всегда можете использовать белый или использовать более конкретное правило для фона .
0
Для чего: вы можете заменить background-color:none на background: none , и все заработает.
None недопустимый цвет, вместо этого используйте прозрачный .
демонстрация jsFiddle
td.transparent {
цвет фона: прозрачный;
}
В качестве альтернативы вы также можете использовать следующее:
Причина, по которой это работает, заключается в том, что в нем указано, что вообще не должно быть фона. Это не относится к конкретному цвету, как в первом примере.
тд.прозрачный {
фон: нет;
}
jsFiddle с использованием этого метода
В качестве примечания: использование цветов CSS3 (rgba) поддерживается не на 100%. Ссылка здесь: http://caniuse.

класс {
цвет фона: прозрачный;
}