Відповіді:
Різниці між ними немає.
Якщо ви не вказали значення для будь-якого з півдесяти властивостей, що background
є скороченим, для нього встановлено його значення за замовчуванням. none
і transparent
є типовими.
Один явно встановлює background-image
в none
і неявно встановлює background-color
в transparent
. Інше - навпаки.
transparent
і none
.
Оскільки додаткова інформація про відповідь @Quentin , і, як він справедливо говорить, власне
background
властивість CSS - це скорочення для:
background-color
background-image
background-repeat
background-attachment
background-position
Це означає, що ви можете згрупувати всі стилі в одному, наприклад:
background: red url(../img.jpg) 0 0 no-repeat fixed;
Це було б (у цьому прикладі):
background-color: red;
background-image: url(../img.jpg);
background-repeat: no-repeat;
background-attachment: fixed;
background-position: 0 0;
Отже ... коли ви встановлюєте: background:none;
ви говорите, що всі фонові властивості встановлені на жодні ...
Ви говорите про це, background-image: none;
а всі інші - initial
державі (оскільки вони не декларуються).
Отже, background:none;
це:
background-color: initial;
background-image: none;
background-repeat: initial;
background-attachment: initial;
background-position: initial;
Тепер, коли ви визначаєте лише колір (у вашому випадку transparent
), ви в основному говорите:
background-color: transparent;
background-image: initial;
background-repeat: initial;
background-attachment: initial;
background-position: initial;
Повторюю, як @Quentin справедливо каже, що значення default
transparent
і в цьому випадку значення однакові, тому у вашому прикладі та для вашого початкового запитання немає, різниці між ними немає.none
Але! .. якщо ви скажете background:none
Vs, background:red
то так ... є велика різниця, як я кажу, перший встановив би всі властивості, none/default
а другий, лише змінить color
і залишиться рештою у своєму default
стані.
Коротка відповідь : Ні, взагалі немає різниці (у вашому прикладі та первісному питанні)
Довга відповідь : Так, велика різниця, але безпосередньо залежить від властивостей, наданих атрибуту.
default
)Початкове значення конкатенації початкових значень його довгих властивостей:
background-image: none
background-position: 0% 0%
background-size: auto auto
background-repeat: repeat
background-origin: padding-box
background-style: is itself a shorthand, its initial value is the concatenation of its own longhand properties
background-clip: border-box
background-color: transparent
background
описів тутUpd2: Краще уточнити background:none;
специфікацію.
console
цю демонстрацію на jsfiddle.net/dnzy2/6
Щоб доповнити інші відповіді: якщо ви хочете скинути всі фонові властивості до їх початкового значення (що включає background-color: transparent
і background-image: none
), не чітко вказуючи будь-яке значення, наприклад, transparent
або none
, ви можете зробити це, написавши:
background: initial;
background-color: transparent; background-image: none;
. Таблиця стилів користувача може змінити одне або обидва ці значення, але це буде робити так, як якщоbackground-color: transparent; background-image: none;
б явно було написано.