Я хочу уменьшить яркость изображения в CSS... Я искал alot, но все, что я получаю, это изменить непрозрачность... и сделать изображение более ярким... может кто-нибудь мне помочь?
Как уменьшить яркость изображения в CSS
Ответ 1
Функция, которую вы ищете, это filter
. Он способен выполнять ряд эффектов изображения, включая яркость:
#myimage {
filter: brightness(50%);
}
Здесь вы можете найти полезную статью: http://www.html5rocks.com/en/tutorials/filters/understanding-css/
Другой: http://davidwalsh.name/css-filters
И самое главное, спецификации W3C: https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
Обратите внимание, что это совсем недавно появилось в CSS как функция. Он доступен, но большое количество браузеров там еще не поддерживаются, а те, которые его поддерживают, потребуют префикс поставщика (т.е. -webkit-filter:
, -moz-filter
и т.д.).
Также возможно использовать такие эффекты фильтра, как SVG. Поддержка SVG для этих эффектов хорошо установлена и широко поддерживается (спецификации фильтра CSS взяты из существующих спецификаций SVG)
Также обратите внимание, что это не следует путать с проприетарным стилем filter
, доступным в старых версиях IE (хотя я могу предсказать проблему с конфликтом пространства имен, когда новый стиль сбрасывает префикс поставщика).
Если это не работает для вас, вы все равно можете использовать существующую функцию opacity
, но не так, как вы думаете: просто создайте новый элемент с темным темным цветом, поместите его поверх своего изображения, и уменьшите его, используя opacity
. Эффект будет за счет затемнения.
Надеюсь, что это поможет.
Ответ 2
OP хочет уменьшить яркость, а не увеличивать ее. Непрозрачность делает изображение более ярким, а не темнее.
Вы можете сделать это, наложив черное div на изображение и установив непрозрачность этого div.
<style>
#container {
position: relative;
}
div.overlay {
opacity: .9;
background-color: black;
position: absolute;
left: 0; top: 0; height: 256px; width: 256px;
}
</style>
Normal:<br />
<img src="http://i.imgur.com/G8eyr.png">
<br />
Decreased brightness:<br />
<div id="container">
<div class="overlay"></div>
<img src="http://i.imgur.com/G8eyr.png">
</div>
Ответ 3
Короче говоря, поместите черный за изображение и опустите opactiy. Вы можете сделать это, обернув изображение в div, а затем опустив непрозрачность изображения.
Например:
<!DOCTYPE html>
<style>
.img-wrap {
background: black;
display: inline-block;
line-height: 0;
}
.img-wrap > img {
opacity: 0.8;
}
</style>
<div class="img-wrap">
<img src="http://mikecane.files.wordpress.com/2007/03/kitten.jpg" />
</div>
Здесь является JSFiddle.
Ответ 4
Вы можете использовать:
filter: brightness(50%);
-webkit-filter: brightness(50%);
-moz-filter: brightness(50%);
-o-filter: brightness(50%);
-ms-filter: brightness(50%);
Ответ 5
С CSS3 мы можем легко настроить изображение. Но помните, что это не меняет образ. Он отображает только отрегулированное изображение.
Подробнее см. следующий код.
Чтобы сделать изображение серым:
img {
-webkit-filter: grayscale(100%);
-moz-filter: grayscale(100%);
}
Чтобы посмотреть вид сепии:
img {
-webkit-filter: sepia(100%);
-moz-filter: sepia(100%);
}
Чтобы настроить яркость:
img {
-webkit-filter: brightness(50%);
-moz-filter: brightness(50%);
}
Чтобы настроить контрастность:
img {
-webkit-filter: contrast(200%);
-moz-filter: contrast(200%);
}
Чтобы размыть изображение:
img {
-webkit-filter: blur(10px);
-moz-filter: blur(10px);
}
Ответ 6
Я нашел это сегодня. Это действительно помогло мне. http://www.propra.nl/playground/css_filters/
Все, что вам нужно, это добавить это в свой стиль css.:
div {-webkit-filter: brightness(57%)}
Ответ 7
Вы можете использовать фильтры css, ниже и пример для веб-набора. посмотрите на этот пример: http://jsfiddle.net/m9sjdbx6/4/
img { -webkit-filter: brightness(0.2);}
Ответ 8
-webkit-filter: brightness(0.50);
У меня есть это классное решение: https://jsfiddle.net/yLcd5z0h/
Ответ 9
Как
.classname
{
opacity: 0.5;
}
Ответ 10
Вы не можете сделать это с помощью CSS. Но это можно сделать с помощью Javascript и HTML5