Прозорий колір тла CSS


89

Я хочу зробити так, щоб фон меню списку зникав, використовуючи непрозорість, не впливаючи на шрифт. Чи можливо це з CSS3?


Так, звичайно! Ви можете зробити це з допомогою цього трюку: stackoverflow.com/a/15351192/366884 Удачі
Сауд Alfadhli

Відповіді:


116

тепер ви можете використовувати rgba у властивостях CSS наступним чином:

.class {
    background: rgba(0,0,0,0.5);
}

0,5 - прозорість , змініть значення відповідно до вашого дизайну.

Демо-версія http://jsfiddle.net/EeAaB/

детальніше http://css-tricks.com/rgba-browser-support/


Дякую. але я хочу відобразити позначку зі стрілкою за замовчуванням у меню списку, не впливаючи на шрифт
Саранья

1
чи є спосіб написати це коротше, наприклад rgba('black', 0.5)?
phil294

44

Майте на увазі ці три варіанти (ви хочете №3):

1) Весь елемент прозорий:

visibility: hidden;

2) Цілий елемент є дещо прозорим:

opacity: 0.0 - 1.0;

3) Тільки фон елемента прозорий:

background-color: transparent;

14

так, це можливо. просто використовуйте синтаксис rgba для вашого кольору фону.

.menue{
  background-color: rgba(255, 0, 0, 0.5); //semi-transparent red
}

2
Привіт! Чи знаєте ви щось про визначення CSS 'background-color' з каналом aplha, але використовуючи значення #HEX для кольору?
Piotr Stępniewski

@ PiotrStępniewski Можливо, пізно, але зараз є такий синтаксис (див. Мою відповідь )
FZs

10

Ось приклад класу з використанням CSS з іменами кольорів:

.semi-transparent {
  background: yellow;
  opacity: 0.25;
}

Це додає фон, який є 25% непрозорим (кольоровим) і 75% прозорим.

CAVEAT На жаль, непрозорість вплине на весь елемент, до якого він прикріплений.
Отже, якщо у вас є текст у цьому елементі, він також встановить для тексту непрозорість 25%. :-(

Шлях подолання цього - використання методів rgbaабо hslaдля позначення прозорості як частини бажаного "кольору" фону. Це дозволяє вказати прозорість фону, незалежно від прозорості інших елементів у вашому елементі.

Ось 3 способи встановити синій фон із 75% прозорістю, не впливаючи на інші елементи:

  • background: rgba(0%, 0%, 100%, 0.75)
  • background: rgba(0, 0, 255, 0.75)
  • background: hsla(240, 100%, 50%, 0.75)

8

У цьому випадку background-color:rgba(0,0,0,0.5);це найкращий спосіб. Наприклад:background-color:rgba(0,0,0,opacity option);


6

Для його досягнення вам потрібно змінити background-colorелемент.

Способи створення (напів-) прозорого кольору:

  • Назва кольору CSS transparentстворює повністю прозорий колір.

    Використання:

      .transparent{
        background-color: transparent;
      }
    
  • Використання rgbaабо hslaкольорові функції, що дозволяють додати альфа-канал (непрозорість) до функцій rgband hsl. Їх значення альфа знаходяться в межах від 0 до 1.

    Використання:

      .semi-transparent-yellow{
        background-color: rgba(255, 255, 0, 0.5);
      }
      .transparent{
        background-color:  hsla(0, 0%, 0%, 0);
      }
    
  • Окрім уже згаданих рішень, ви також можете використовувати формат HEX із альфа-значенням ( #RRGGBBAAабо #RGBAпозначенням ).

    Це досить нове (містить CSS Color Module Level 4), але вже реалізоване у більших браузерах (вибачте, немає IE).

    Це відрізняється від інших рішень, оскільки це трактує альфа-канал (непрозорість) як шістнадцяткове значення, що робить його в діапазоні від 0 до 255 ( FF).

    Використання:

      .semi-transparent-yellow{
        background-color: #FFFF0080;
      }
      .transparent{
        background-color: #0000;
      }
    

Ви можете спробувати їх також:

  • transparent:

  • rgba():

  • #RRGGBBAA:


5

Спробуйте це:

opacity:0;

Для IE8 та раніше

filter:Alpha(opacity=0); 

Демонстрація непрозорості від W3Schools


6
Сайт, на який ви посилаєтесь ... це жахливо.
Джон Дворжак,

1
@TheWandererr Почну з посилання на сторінку. Майте на увазі, що він повинен демонструвати зразковий код. І все ж ... Відступу немає. Зверніть увагу, що вони використовують тип документа HTML5, що означає, що вони або оновили сторінку після того, як вона була тут пов’язана, або вони використовували HTML5 за півроку до того, як вона навіть була в стані рекомендації кандидата. Далі: Вбудований CSS поганий, для кешування та для читабельності. Їм тут якось доводиться користуватися, оскільки вони мають лише одну панель для всього джерела сторінки, але якщо вони використовували кілька панелей, як це робить jsfiddle (2010). І навіть для сторінки, що демонструє непрозорість,
Джон Дворжак,

1
@TheWandererr вони могли б зробити краще. Показуючи ефект на вкладені елементи або дозволяючи дії наведення, щоб вимкнути його, для одного. Потім є ціле "прикидаючись консорціумом w3, і коли вас дізнаються, запустіть ще одну або дві рескіни, також позначені як w3something" - щось нечесне, якщо ви запитаєте мене. Вони також кажуть, що їх приклади можуть бути "спрощеними для читабельності" та "постійно переглядатися", але видалення пробілів не допомагає читати, і підтримка IE7 теж не є новою тенденцією. Крім того, хто не заплатить 100 доларів за аркуш паперу, який зашкодить їхньому авторитету?
Джон Дворжак,

1
@TheWandererr IIRC, вони мали попередній перегляд тесту. Питання полягали у поєднанні дрібниць та матеріалів початкового рівня. Можливо, деякі відповіді у них теж були злегка неправильними. Що стосується частини непрозорості їх підручника з CSS: три заголовки, призначені для того, щоб зробити зображення прозорими - вони лише змінюють селектор CSS. Потім ще два абзаци - один для введення RGBA (нарешті, лише фон прозорий), а другий як "приклад інтеграції" (так! Також, без відступу). Тоді ... все. Більше нічого про непрозорість. І ні, пізніше також немає теми "розширена непрозорість".
Джон Дворжак,

1
@TheWandererr давайте поговоримо про Javascript: Усі їх приклади включають: відсутність відступу (навіть у коді Javascript); innerHTML =(привіт, принаймні це краще, ніж попередження, які document.writeвони робили в 2012 році, але все одно ніяких маніпуляцій DOM, поза підручником jQuery, за винятком того підручника, де вони перелічують відповідні методи по одному на главу, і навіть тоді це просто вибір - і так, вони перелічують document.write). Їх підручник XHR використовує readyStateChange замість onLoad (підтримується з IE7). О, і їх обхідний шлях щодо функцій у JSON? Стригіфікуйте їх, щоб їх можна було оцінити пізніше
Джон Дворжак,

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.