Подтвердить что ты не робот

Как сделать цвет фона div полупрозрачным?

Я хочу, чтобы цвет фона белого в моем div был полупрозрачным примерно на 50%. Содержимое должно быть полностью непрозрачным. Каков правильный способ сделать это? Я представил себе, когда я посмотрел на свойство фона CSS, я бы нашел параметр непрозрачности, но не сделал этого. Не волнует IE6.

ОБНОВЛЕНИЕ: решение с помощью решения rgba, приведенное ниже, в сочетании с решение CSS3PIE для работы rgba в браузерах IE.

4b9b3361

Ответ 1

Вы можете использовать обозначение background-color: rgba():

#theIdofYourElement,
.classOfElements {
    background-color: #fff;
    background-color: rgba(255,255,255,0.5);
}


Отредактировано, чтобы добавить значение по умолчанию background-color (для браузеров, которые не понимают нотацию rgba() ). Хотя у меня создалось впечатление, что все, кроме IE, это понимают (но я могу ошибаться и не проверял, чтобы быть уверенным...).

Отредактируйте с помощью @akamike.


Отредактировано для ответа на вопрос от OP (в комментариях):

какие браузеры не понимают rgba? будут ли они все в будущем, является ли эта часть css3?

Лучшая информация, которую я мог найти, это таблица поддержки браузера CSS rgba() , ссылка на демонстрационную и более полную таблицу совместимости.

Ответ 2

Если вы хотите непрозрачность кросс-браузера, вы можете обрабатывать каждый в своем определении css

div
{
    opacity: .50; /* Standard: FF gt 1.5, Opera, Safari, CSS3 */
    filter: alpha(opacity=50); /* IE lt 8 */
    -ms-filter: "alpha(opacity=50)"; /* IE 8 */
    -khtml-opacity: .50; /* Safari 1.x */
    -moz-opacity: .50; /* FF lt 1.5, Netscape */
}

Ответ 3

Самый простой способ - создать полупрозрачный PNG и просто использовать его в качестве фонового изображения для div.

Если вы используете Photoshop (или аналогичные инструменты), просто создайте изображение размером 10 пикселей на 10 пикселей, которое является белым, а затем перетащите ползунок прозрачности до 50%. Сохраните его как PNG, и вы должны быть rockin '!

Использование RGBA также возможно, но вы не просто теряете IE6, тогда - все еще довольно много людей используют браузеры, которые не поддерживают альфа-схему.

Ответ 4

Существует свойство CSS, называемое backdrop-filter, обеспечивающее реальную прозрачность (в отличие от прозрачности, которая уже доступна в CSS).

В настоящее время поддерживается только Safari, но может быть добавлено в другие браузеры.

.my-selector {
   backdrop-filter: blur(5px);
}