Является ли 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.