CSS3 фон непрозрачность с фоновым изображением - PullRequest
2 голосов
/ 06 сентября 2011

Я пытаюсь создать эффект непрозрачности для моего элемента div, к которому применено фоновое изображение, и все еще сохраняю текст "непрозрачным".Моя разметка:

<div id="projects" class="feature">
    Projects
</div>

Мой CSS:

.feature {
    display: inline-block;
    margin: 30px;
    cursor: pointer;
    width: 300px;
    height: 300px;
    -webkit-border-radius: 150px;
    -moz-border-radius: 150px;
    border-radius: 150px;
    font-family: 'Droid Sans', Helvetica Neue, sans-serif;
    font-size: 2em;
    color: #fff;
    text-align: center;
    line-height: 1.2em;
}

.feature:after {
    /* Fallback for web browsers that don't support RGBa */
    background-color: rgb(0, 0, 0);
    /* RGBa with 0.6 opacity */
    background-color: rgba(0, 0, 0, 0.8);
    /* For IE 8*/
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";
}

.feature#projects {
    background-image: url('img/hero.png');
}

Я думал об использовании псевдоэлементов, но безрезультатно!

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 06 сентября 2011

Я мог бы использовать полупрозрачный png для фонового изображения, а затем соответствующим образом оформить текст.

Возможно, вы захотите взглянуть на RGBa:

http://robertnyman.com/2010/01/11/css-background-transparency-without-affecting-child-elements-through-rgba-and-filters/

Это относится к цвету фона, хотя может также работать с вашим изображением (хотя и не проверено)

1 голос
/ 06 сентября 2011

Существует своего рода хак для него, когда вы размещаете div с фоном под другим div, содержащим текст.

Проверьте следующую ссылку:

http://www.sumobaby.net/news/2011/03/04/change-background-opacity-without-affecting-text/

Также вот краткий рабочий пример:

http://jsfiddle.net/7pVGM/

Примечание: разметка и CSS не так уж и хороши, я просто написал их примерно за 5 минут:)

...