Можно ли установить фоновое изображение и непрозрачность в одном и том же свойстве?


264

Я могу видеть в ссылках CSS, как установить прозрачность изображения и как установить фоновое изображение . Но как я могу объединить эти два, чтобы установить прозрачное фоновое изображение?

У меня есть изображение, которое я хотел бы использовать в качестве фона, но оно слишком яркое - я бы хотел уменьшить непрозрачность до 0,2. Как я могу это сделать?

#main {
    background-image: url(/wp-content/uploads/2010/11/tandem.jpg); 
}

Ответы:


133

Два метода:

  1. Преобразовать в PNG и сделать оригинальное изображение непрозрачностью 0,2
  2. (Метод лучше) есть <div>что position: absolute;перед тем, #mainи на ту же высоту #main, а затем применить фоновое изображение и opacity: 0.2; filter: alpha(opacity=20);.

Да, большая проблема с PNG - размер. Это, вероятно, будет действительно большим. Теперь, когда мы можем указать opacity: ...во всех браузерах, это лучше!
Алексис Вилке

1
Вы будете удивлены, что вы можете выжать из PNG. Например, при непрозрачности 0,2 вы, вероятно, не будете выбирать много деталей, поэтому вы можете конвертировать в Indexed-PNG. Я фактически использую это на своем собственном веб-сайте, и он сжимает фоновое изображение 1920x1080 до размера чуть менее 250 КБ.
Niet the Dark Absol

Лучше добавить z-index: -1 к этой позиции: absolute, чтобы позволить использовать основания над оверлеем. Хороший ответ.
Раз

1
Вы также можете использовать WebP - он поддерживает прозрачность и размер файла намного меньше, чем PNG. Все основные браузеры, кроме Safari, теперь поддерживают WebP. Вы можете использовать WebP для поддержки браузеров и PNG для Safari.
Дэн Робертс

365
#main {
    position: relative;
}
#main:after {
    content : "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url(/wp-content/uploads/2010/11/tandem.jpg); 
    width: 100%;
    height: 100%;
    opacity : 0.2;
    z-index: -1;
}

4
Сгенерированный контент из IE8 и выше. caniuse.com/#feat=css-gencontent , используйте свойство фильтра для IE8. caniuse.com/#search=opacity
Дэн Иствелл

3
Я добавил "z-index: -1" в CSS. Таким образом, фоновое изображение зависит от непрозрачности, а не от остального содержимого #main
patrick

17
Я использую :beforeвместо, :afterи тогда я не должен вмешиваться, z-indexпотому :beforeчто автоматически оказывается ниже основного содержания. (В настоящее время тестируется в Chrome и FF.)
KajMagnus

1
@KajMagnus Если вы сделаете это, то все после этого не будет показано. Попробуйте сделать непрозрачность 1,0, и вы поймете, что я имею в виду.
Джессика

1
Если вы получаете повторяющееся фоновое изображение, вам может потребоваться / нужно добавить его background-repeat: no-repeat; background-attachment: fixed; background-position: center;в #main: after {...} .
запрет геоинженерии

106

Решение с 1 делением и без прозрачного изображения:

Вы можете использовать многоэкземплярную функцию CSS3 и наложить два фона: один с изображением, другой с прозрачной панелью над ним (потому что я думаю, что нет способа напрямую установить непрозрачность фонового изображения):

background: -moz-linear-gradient(top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.7) 100%), url(bg.png) repeat 0 0, url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;

background: -moz-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;

background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0.7)), color-stop(100%,rgba(255,255,255,0.7))), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;

background: -webkit-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;

background: -o-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;

background: -ms-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;

background: linear-gradient(to bottom, rgba(255,255,255,0.7) 0%,rgba(255,255,255,0.7) 100%), url(https://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png) repeat 0 0;

Вы не можете использовать, rgba(255,255,255,0.5)потому что только это принимается только сзади, поэтому вы использовали сгенерированные градиенты для каждого браузера для этого примера (вот почему он такой длинный). Но концепция заключается в следующем:

background: tranparentColor, url("myImage"); 

http://jsfiddle.net/pBVsD/1/


Это будет работать, только если фон имеет сплошной цвет, если у вас есть PNG24, который является фоном, и вы хотите, чтобы он имел непрозрачность (например, при наведении), это не будет работать, и вам придется использовать метод псевдоэлемента , что на самом деле лучше, так как он может быть использован в IE 8 и выше.
vsync

66

Простое решение

если вам нужно установить градиент только на background-image :

background-image: url(IMAGE_URL); /* fallback for older browsers */

background-image: linear-gradient(to bottom, rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.6) 100%), url(IMAGE_URL);

Изображение движется немного вверх. У него есть исправление?
HFR1994

6
Вы также можете использовать RGBA 255,255,255 background-image: линейный градиент (снизу, rgba (255,255,255,0,6) 0%, rgba (255,255,255,0,6) 100%), url (IMAGE_URL);
Роман

@Roman Вы можете установить для компонента цвета rgba значение, используемое в качестве цвета фона в элементе или его родительском элементе для внедрения (протестировано в Chrome 58.0.3029.81, Edge 38.14393.0.0).
Коллапсар

46

Я видел это, и в CSS3 вы можете разместить код вот так. Допустим, я хочу, чтобы он охватил весь фон, я бы сделал что-то вроде этого. Затем с помощью hsla(0,0%,100%,0.70)или rgba вы используете белый фон с любой процентной насыщенностью или непрозрачностью, чтобы получить желаемый вид.

.body{
    background-attachment: fixed;
    background-image: url(../images/Store1.jpeg);
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: hsla(0,0%,100%,0.70);
    background-blend-mode: overlay;
    background-repeat: no-repeat;
}

2
Добавление background-color и background-blend-mode помогло мне. Теперь у меня есть div с непрозрачностью, которая не влияет на его детей!
Диего Виктор де Хесус

1
это круто! Я создал функцию jquery для изменения прозрачности при прокрутке, создавая цвет поверх фонового изображения при прокрутке вниз. $ (function () {$ (window) .scroll (function () {var scroll = $ (window) .scrollTop (); var current = 0; var now = (current-scroll) / 7; $ ('. slide ') .css (' background-position ', '50%' + now + 'px'); var color = Math.round (scroll / 7) / 100; $ ('. slide'). css ('background- color ',' rgba (128, 45, 87, '+ color +') ');});});
drooh

10

Вы можете использовать CSS psuedo selector :: after для достижения этой цели. Вот рабочая демка.

введите описание изображения здесь

.bg-container{
  width: 100%;
  height: 300px;
  border: 1px solid #000;
  position: relative;
}
.bg-container .content{
  position: absolute;
  z-index:999;
  text-align: center;
  width: 100%;
}
.bg-container::after{
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index:-99;
  background-image: url(https://i.stack.imgur.com/Hp53k.jpg);
  background-size: cover;
  opacity: 0.4;
}
<div class="bg-container">
   <div class="content">
     <h1>Background Opacity 0.4</h1>
   </div>
</div>


4

У меня была похожая проблема. У меня было изображение, и я хотел уменьшить прозрачность и иметь черный фон за изображением. Вместо того, чтобы уменьшить непрозрачность или создать черный фон или любой вторичный div, я устанавливаю линейный градиент для изображения на одной строке:

background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.8) 100%), url("/img/picture.png");


3

Я использовал ответ @Dan Eastwell, и он работает очень хорошо. Код похож на его код, но с некоторыми дополнениями.

.granddata {
    position: relative;
    margin-left :0.5%;
    margin-right :0.5%;
}
.granddata:after {
    content : "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background-image: url("/Images/blabla.jpg");
    width: 100%;
    height: 100%;
    opacity: 0.2;
    z-index: -1;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment:fixed;
}

2

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

HTML {
    background: url('http://www.earthtimes.org/newsimage/eat-lead-by-example-obesity-expert-tells-parents_139.jpg');
    width: 100%;
    height: 100%;
}

Если вы хотите получить фантазию и установить ее непрозрачность, то в IE9 + * вы можете установить прозрачный цвет фона тела. Это работает путем наложения полупрозрачного белого, чтобы сделать изображение более белым и казаться более ярким. Например, белый цвет с непрозрачностью 75% ( rgba(255,255,255,.75)) даст следующий эффект.

HTML {
  background: url('http://www.earthtimes.org/newsimage/eat-lead-by-example-obesity-expert-tells-parents_139.jpg');
  width: 100%;
  height: 100%;
  position: relative;
}

body {
  width: 100%;
  min-height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  background: rgba(255, 255, 255, .75);
}
<p>Lorem ipsum dolor sit amet, et id, maecenas a convallis, elit facilisi congue augue id ac. Suscipit luctus egestas rutrum, amet tincidunt porttitor ante convallis magna, vivamus amet at turpis, ante lacinia blandit vel metus mauris rutrum. Ipsum nam adipiscing.
  Est sapien quis sem vestibulum, quis cubilia turpis, suspendisse mattis vehicula enim risus pede, placerat suspendisse dui. Convallis nostrud pede, mollit lobortis, ornare ipsum tempor faucibus tortor, vel pede, porttitor nulla nonummy vestibulum purus.
  Eros placerat tenetur augue ipsum aliquam, pellentesque congue condimentum sed vitae lectus.</p>
<p>Aliquam venenatis curabitur pellentesque sociosqu quam. Tincidunt id erat vestibulum in, est fermentum ipsum et augue, nascetur etiam. Lorem elit, sed donec, leo vivamus ac id enim faucibus vel. Nullam sit feugiat sed massa consectetuer auctor, nulla
  et erat lacinia nec, eget ut ante nullam est non in, elit porttitor in in donec eget porttitor. Interdum ultricies sem morbi facilisis nibh erat. Id suspendisse, sed tincidunt fringilla sit, sapien odio vel, at culpa augue sed taciti neque inceptos,
  massa class non. Vel tristique condimentum at pellentesque, commodo nulla sagittis rhoncus lorem. Viverra maecenas tellus pretium urna mauris proin, vel libero morbi, ante volutpat vestibulum augue. Itaque leo mauris turpis, vivamus nisl congue nisl
  nulla in turpis, eget vitae accumsan dolor ipsum leo venenatis, feugiat vehicula in risus, donec eu pede vivamus itaque nam. Justo amet vitae pellentesque sed, posuere fusce sapien, sed nam placerat libero sed etiam curabitur, suspendisse justo, amet
  porttitor.</p>
<p>Condimentum eget. Sem elementum a et mauris sem a, velit justo consectetuer in turpis mauris, sit sed elit cum, fusce suspendisse pretium dictum, mattis dui tortor tellus. Volutpat ut ante lorem nec laoreet aliquam, lorem est magna amet, integer mauris
  purus tellus. Porta enim repellendus aliquam eros. Turpis posuere elementum suscipit wisi lobortis, nec nunc consequat dictum ut unde at, mi lorem amet nunc. Cubilia pede, integer dolor, eget platea felis elit enim rhoncus, integer proin quam in ipsum
  lorem, diam curabitur netus pretium pellentesque. Donec rutrum ultrices placerat, curabitur maecenas, feugiat pede varius accumsan quam lorem, dui et dictumst asperiores nulla, vivamus urna nam leo libero. Posuere non convallis amet justo parturient,
  imperdiet consectetuer arcu praesent cursus risus, quis pretium dolor.</p>

  • Совет: обратите внимание, как HTML position: relative, а тело position: absolute. Это сделано для того, чтобы фоновый цвет тела не вел себя как подсветка текста в теле.

Это может быть даже расширено до чего-то, сопоставимого, но все же очень отличного от CSS-фильтров, путем изменения цветового фона RGBA тела. Например, rgba(0,255,0,.75)создаст очень зеленый оттенок, как вы можете видеть во фрагменте кода.

HTML {
    background: url('http://www.earthtimes.org/newsimage/eat-lead-by-example-obesity-expert-tells-parents_139.jpg');
    width: 100%;
    height: 100%;
    position: relative;
}
body {
    width: 100%;
    min-height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    background: rgba(0,255,0,.75);
}
<p>Aliquam venenatis curabitur pellentesque sociosqu quam. Tincidunt id erat vestibulum in, est fermentum ipsum et augue, nascetur etiam. Lorem elit, sed donec, leo vivamus ac id enim faucibus vel. Nullam sit feugiat sed massa consectetuer auctor, nulla et erat lacinia nec, eget ut ante nullam est non in, elit porttitor in in donec eget porttitor. Interdum ultricies sem morbi facilisis nibh erat. Id suspendisse, sed tincidunt fringilla sit, sapien odio vel, at culpa augue sed taciti neque inceptos, massa class non. Vel tristique condimentum at pellentesque, commodo nulla sagittis rhoncus lorem. Viverra maecenas tellus pretium urna mauris proin, vel libero morbi, ante volutpat vestibulum augue. Itaque leo mauris turpis, vivamus nisl congue nisl nulla in turpis, eget vitae accumsan dolor ipsum leo venenatis, feugiat vehicula in risus, donec eu pede vivamus itaque nam. Justo amet vitae pellentesque sed, posuere fusce sapien, sed nam placerat libero sed etiam curabitur, suspendisse justo, amet porttitor.</p>
<p>Condimentum eget. Sem elementum a et mauris sem a, velit justo consectetuer in turpis mauris, sit sed elit cum, fusce suspendisse pretium dictum, mattis dui tortor tellus. Volutpat ut ante lorem nec laoreet aliquam, lorem est magna amet, integer mauris purus tellus. Porta enim repellendus aliquam eros. Turpis posuere elementum suscipit wisi lobortis, nec nunc consequat dictum ut unde at, mi lorem amet nunc. Cubilia pede, integer dolor, eget platea felis elit enim rhoncus, integer proin quam in ipsum lorem, diam curabitur netus pretium pellentesque. Donec rutrum ultrices placerat, curabitur maecenas, feugiat pede varius accumsan quam lorem, dui et dictumst asperiores nulla, vivamus urna nam leo libero. Posuere non convallis amet justo parturient, imperdiet consectetuer arcu praesent cursus risus, quis pretium dolor.</p>
<p>Lorem ipsum dolor sit amet, et id, maecenas a convallis, elit facilisi congue augue id ac. Suscipit luctus egestas rutrum, amet tincidunt porttitor ante convallis magna, vivamus amet at turpis, ante lacinia blandit vel metus mauris rutrum. Ipsum nam adipiscing. Est sapien quis sem vestibulum, quis cubilia turpis, suspendisse mattis vehicula enim risus pede, placerat suspendisse dui. Convallis nostrud pede, mollit lobortis, ornare ipsum tempor faucibus tortor, vel pede, porttitor nulla nonummy vestibulum purus. Eros placerat tenetur augue ipsum aliquam, pellentesque congue condimentum sed vitae lectus.</p>

  • Совет: RGBA соответствует R ed G reen B lue A lpha. Таким образом, браузер интерпретируется rgba(0,255,0,.75)как что-то наглядное {red:0, green:255, blue:0, alpha:'75%'}.


* С полной таблицей совместимости можно ознакомиться в разделе «Могу ли я использовать». Однако обратите внимание, что вам нужно нажать «Показать все», чтобы убедиться, что IE9 поддерживает его.


добавление

Поскольку я уже ответил на вопрос, но я хочу добавить еще кое-что, я озаглавил это дополнение к разделу и добавив в него некоторую потенциально полезную информацию. Таким образом, чтобы еще больше экстраполировать вышеприведенное содержание, вы можете использовать SVG в качестве фонового изображения для создания злых, удивительных вещей. Например, вы можете создать фон загрузочного экрана с изображением классного веб-сайта, как вы можете видеть на примере SVG в кодировке base64 ниже.

HTML {
    background: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCIgdmVyc2lvbj0iMS4xIiB2aWV3Qm94PSIwIDAgMSAxIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiIgYXJpYS1oaWRkZW49InRydWUiPjxnIGlkPSJrIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImMiIGdyYWRpZW50VHJhbnNmb3JtPSJyb3RhdGUoLTEyMCkiIHRyYW5zZm9ybS1vcmlnaW49Ii41LjUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9InJnYmEoMCwwLDAsLjYpIi8+PHN0b3Agb2Zmc2V0PSI0NyUiIHN0b3AtY29sb3I9InJnYmEoMCwwLDAsLjYpIi8+PHN0b3Agb2Zmc2V0PSI1MyUiIHN0b3AtY29sb3I9InJnYmEoMCwwLDAsLjMpIi8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSJyZ2JhKDAsMCwwLC45KSIvPjxhbmltYXRlVHJhbnNmb3JtIGF0dHJpYnV0ZU5hbWU9ImdyYWRpZW50VHJhbnNmb3JtIiBhdHRyaWJ1dGVUeXBlPSJYTUwiIHR5cGU9InJvdGF0ZSIgZHVyPSI3MDAwbXMiIGZyb209IjAiIHRvPSIzNjAiIHJlcGVhdENvdW50PSJpbmRlZmluaXRlIi8+PC9saW5lYXJHcmFkaWVudD48cmFkaWFsR3JhZGllbnQgaWQ9ImQiIHI9Ii41IiBjeT0iLjUiIGN4PSIuNSI+PHN0b3Agb2Zmc2V0PSIzNSUiIHN0b3AtY29sb3I9ImJsYWNrIi8+PHN0b3Agb2Zmc2V0PSI1MCUiIHN0b3AtY29sb3I9ImdyZXkiLz48c3RvcCBvZmZzZXQ9IjY1JSIgc3RvcC1jb2xvcj0iYmxhY2siLz48L3JhZGlhbEdyYWRpZW50PjxyYWRpYWxHcmFkaWVudCBpZD0iZSIgcj0iLjUiIGN5PSIuNSIgY3g9Ii41Ij48c3RvcCBvZmZzZXQ9IjAlIiBzdG9wLWNvbG9yPSJ3aGl0ZSIvPjxzdG9wIG9mZnNldD0iMjUlIiBzdG9wLWNvbG9yPSJ5ZWxsb3ciLz48c3RvcCBvZmZzZXQ9Ijc1JSIgc3RvcC1jb2xvcj0ieWVsbG93Ii8+PHN0b3Agb2Zmc2V0PSIxMDAlIiBzdG9wLWNvbG9yPSJ3aGl0ZSIvPjwvcmFkaWFsR3JhZGllbnQ+PGNsaXBQYXRoIGlkPSJmIj48cGF0aCBzdHJva2U9ImdyZXkiIHN0cm9rZS13aWR0aD0iLjAxIiBpZD0iYiIgZD0iTS43NS43MUEuMzEuMzEgMCAxIDEgLjc1LjMxTC42OS4zOEEuMjIuMjIgMCAxIDAgLjY4LjY2TC41Ni41N0wuNi41MUwuODIuNjh6TS42LjYzQS4xNC4xNCAwIDEgMSAuNjIuNDJMLjY2LjM5QS4xOS4xOSAwIDEgMCAuNjQuNjZ6TS41NS41OEEuMDcuMDcgMCAxIDEgLjU2LjQ2TC42LjQzQS4xMi4xMiAwIDEgMCAuNTkuNjF6Ii8+PC9jbGlwUGF0aD48Y2xpcFBhdGggaWQ9ImciPjxwYXRoIHN0cm9rZT0iZ3JleSIgZmlsbD0icmVkIiBzdHJva2Utd2lkdGg9Ii4wMSIgZD0iTS42LjYzQS4xNC4xNCAwIDEgMSAuNjIuNDJMLjY2LjM5QS4xOS4xOSAwIDEgMCAuNjQuNjZ6Ii8+PC9jbGlwUGF0aD48L2RlZnM+PGcgY2xpcC1wYXRoPSJ1cmwoI2YpIiBmaWxsPSJ1cmwoI2MpIj48cmVjdCB4PSIwIiB5PSIwIiB3aWR0aD0iMSIgaGVpZ2h0PSIxIi8+PHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0icmVkIiBjbGlwLXBhdGg9InVybCgjZykiLz48L2c+PGcgdHJhbnNmb3JtPSJzY2FsZSgxLjEpIiB0cmFuc2Zvcm0tb3JpZ2luPSIuNS41Ij48dGV4dD48dGV4dFBhdGggaHJlZj0iI2IiIGZvbnQtc2l6ZT0iLjY1JSIgZm9udC1mYW1pbHk9Im1vbm9zcGFjZSIgbGV0dGVyLXNwYWNpbmc9Ii0uNSUiIHN0eWxlPSJ3aGl0ZS1zcGFjZTpwcmUiPiBZT1VSIDx0c3BhbiBmaWxsPSJyZWQiPkVYQU1QTEUgV0VCU0lURTwvdHNwYW4+IExPR088L3RleHRQYXRoPjwvdGV4dD48L2c+PC9nPjwvc3ZnPg==');
    width: 100%;
    height: 100%;
    position: relative;
    background-size: cover;
}
body {
    width: 100%;
    min-height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    background: rgba(255,255,255,.5);
}
<p>Condimentum eget. Sem elementum a et mauris sem a, velit justo consectetuer in turpis mauris, sit sed elit cum, fusce suspendisse pretium dictum, mattis dui tortor tellus. Volutpat ut ante lorem nec laoreet aliquam, lorem est magna amet, integer mauris purus tellus. Porta enim repellendus aliquam eros. Turpis posuere elementum suscipit wisi lobortis, nec nunc consequat dictum ut unde at, mi lorem amet nunc. Cubilia pede, integer dolor, eget platea felis elit enim rhoncus, integer proin quam in ipsum lorem, diam curabitur netus pretium pellentesque. Donec rutrum ultrices placerat, curabitur maecenas, feugiat pede varius accumsan quam lorem, dui et dictumst asperiores nulla, vivamus urna nam leo libero. Posuere non convallis amet justo parturient, imperdiet consectetuer arcu praesent cursus risus, quis pretium dolor.</p>
<p>Lorem ipsum dolor sit amet, et id, maecenas a convallis, elit facilisi congue augue id ac. Suscipit luctus egestas rutrum, amet tincidunt porttitor ante convallis magna, vivamus amet at turpis, ante lacinia blandit vel metus mauris rutrum. Ipsum nam adipiscing. Est sapien quis sem vestibulum, quis cubilia turpis, suspendisse mattis vehicula enim risus pede, placerat suspendisse dui. Convallis nostrud pede, mollit lobortis, ornare ipsum tempor faucibus tortor, vel pede, porttitor nulla nonummy vestibulum purus. Eros placerat tenetur augue ipsum aliquam, pellentesque congue condimentum sed vitae lectus.</p>
<p>Aliquam venenatis curabitur pellentesque sociosqu quam. Tincidunt id erat vestibulum in, est fermentum ipsum et augue, nascetur etiam. Lorem elit, sed donec, leo vivamus ac id enim faucibus vel. Nullam sit feugiat sed massa consectetuer auctor, nulla et erat lacinia nec, eget ut ante nullam est non in, elit porttitor in in donec eget porttitor. Interdum ultricies sem morbi facilisis nibh erat. Id suspendisse, sed tincidunt fringilla sit, sapien odio vel, at culpa augue sed taciti neque inceptos, massa class non. Vel tristique condimentum at pellentesque, commodo nulla sagittis rhoncus lorem. Viverra maecenas tellus pretium urna mauris proin, vel libero morbi, ante volutpat vestibulum augue. Itaque leo mauris turpis, vivamus nisl congue nisl nulla in turpis, eget vitae accumsan dolor ipsum leo venenatis, feugiat vehicula in risus, donec eu pede vivamus itaque nam. Justo amet vitae pellentesque sed, posuere fusce sapien, sed nam placerat libero sed etiam curabitur, suspendisse justo, amet porttitor.</p>

  • Совет:background-size: cover CSS заставляет SVG логотип в фоновом режиме , чтобы быть изменен до размера HTML - элемента.

1

В вашем CSS добавить ...

 filter: opacity(50%);

В JavaScript используйте ...

 element.style.filter='opacity(50%)';

NB: Добавьте префиксы поставщиков по мере необходимости, но без Chromium все будет в порядке.


0

Что ж, единственный CSS-способ сделать только прозрачность фона - это использовать, RGBaно так как вы хотите использовать изображение, я бы предложил использовать Photoshop или Gimp, чтобы сделать изображение прозрачным, а затем использовать его в качестве фона.


Это не правильно, есть декларация CSS3: opactiy: 1;не только RGBa.
Кайл

4
Он говорит, что устанавливает background-imageстиль для контейнера, а затем устанавливает opacityстиль для того же элемента. Это также сделало бы текст и другое содержимое этого элемента прозрачным. Попробуйте, если не верите мне: w3schools.com/Css/tryit.asp?filename=trycss_transparency

0

Я просто добавил position = absolute, top = 0, width = 100% в #main и установил значение непрозрачности на #background

#main{height:100%;position:absolute; top:0;width:100%}
#background{//same height as main;background-image:url(image URL);opacity:0.2}

Я применил фон к div перед основным.


-1

Я сталкивался с этим постом, поскольку у меня возникла та же проблема, тогда я подумал, зачем возиться с CSS, настраивая значения и нажимая кнопку Обновить, когда вы можете легко настроить прозрачность в Photoshop? Скопируйте изображение, вставьте его как новый слой, затем переместите ползунок непрозрачности.


2
ArtB понял это правильно с последней запиской. Это идеальное решение для другой проблемы. Есть моменты, когда это не правильное решение, и это одно из них.
джон

-1

У меня была похожая проблема, и я просто взял фоновое изображение в Photoshop и создал новый .png с непрозрачностью, которая мне была нужна. Проблема решена, не беспокоясь о том, работает ли мой CSS на всех устройствах и браузерах

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.