Html менять цвет изображения

How to change the color of an image on hover

I need to change the background color of an image. The image is a circle image with white background, I need when you hover over it change the background of the circle image to blue. I need only the circle to be change. My HTML code is

The above code gives me blue color but as a frame around the circle icon. what I need is to change the background of the circle itself. Imagine it’s like a signal it’s white when you hover by mouse it goes to blue. Please I need a solution if it can be done by CSS or whatever. Sorry if I make it too long. The problem: link

is your png image a white circle with transparent background? If you can post a link for us to check it out it would be really helpful because your issue is not very clear.

possible duplicate of Can I change the appearance of an html image during hover without a second image? Couldn’t find a better post that has the answer you want, but see the 2 answer about using sprites (not the accepted one).

8 Answers 8

Ideally you should use a transparent PNG with the circle in white and the background of the image transparent. Then you can set the background-color of the .fb-icon to blue on hover. So you’re CSS would be:

Additionally, if you don’t want to use PNG’s you can also use a sprite and alter the background position. A sprite is one large image with a collection of smaller images which can be used as a background image by changing the background position. So for eg, if your original circle image with the white background is 100px X 100px, you can increase the height of the image to 100px X 200px, so that the top half is the original image with the white background, while the lower half is the new image with the blue background. Then you set setup your CSS as:

Источник

Как изменить цвет PNG изображения с помощью CSS

Самый легкий способ для изменения цвета PNG изображения — это использование свойства filter.

Свойство filter применяет визуальные эффекты к элементу (изображению).

Оно имеет следующие значения:

filter: none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate() | invert() | opacity() | saturate() | sepia() | url() | initial | inherit;

С помощью этих значений мы можем изменить цвет изображения.

Читайте также:  Прыжок с колесика css

Фильтры являются новыми для браузеров и поддерживаются только очень современными браузерами. Можно использовать фильтры вместе с -Webkit-filter для Safari, Google Chrome и Opera.

Давайте попробуем пошагово изменить цвет изображения:

1. Создайте HTML.

  • Скопируйте и вставьте ссылку изображения в основную часть (body section). Здесь мы создаем две изображения с классами «image1» и «image2».
body> img src="https://www.sccpre.cat/mypng/detail/122-1229311_bird-feathers-flying-macaw-wings-birds-with-white.png" width="500px" height="250px" alt="filter applied" /> " src="https://ru.w3docs.com/snippets/css/%3C/span%3Ehttps://www.sccpre.cat/mypng/detail/%3Cspan%20%3E122%3C/span%3E-%3Cspan%20%3E1229311%3C/span%3E_bird-feathers-flying-macaw-wings-birds-with-white.png%3Cspan%20%3E" width="500px" height="250px" alt="filter applied" /> 

2. Добавьте CSS.

Теперь добавляем стили к классам «Image1» и «Image2».

  • Задайте ширину этих изображений с помощью свойства width.
  • Добавьте свойство filter , чтобы изменить цвет изображения.
  • Используйте значение «invert», которое инвертирует первое изображение. Здесь устанавливаем 100% для полного инвертирования изображения.
  • Используйте значение «sepia» (100%), которое превращает второе изображение полностью в сепию.
  

Посмотрим, каким получился результат:

Пример

html> html> head> title>Измените цвет изображения title> style> img < width:40%; float:left; > .image1 < filter: invert(100%); -webkit-filter: invert(100%); > .image2 < filter: sepia(100%); -webkit-filter: sepia(100%); > style> head> body> h2>Измените цвет PNG изображения h2> img class="image1" src="https://www.sccpre.cat/mypng/detail/122-1229311_bird-feathers-flying-macaw-wings-birds-with-white.png" width="500px" height="250px" alt="filter applied" /> img class="image2" src="https://www.sccpre.cat/mypng/detail/122-1229311_bird-feathers-flying-macaw-wings-birds-with-white.png" width="500px" height="250px" alt="filter applied" /> body> html>

Рассмотрим другой пример, где использованы восемь значений свойства filter:

Пример

html> html> head> title>Заголовок документа title> style> body < background-color:#03030a; min-width: 800px; min-height: 400px > img < width:20%; float:left; margin:0; > /*Filter styles*/ .saturate < filter: saturate(3); -webkit-filter: saturate(3); > .grayscale < filter: grayscale(100%); -webkit-filter: grayscale(100%); > .contrast < filter: contrast(160%); -webkit-filter: contrast(160%); > .brightness < filter: brightness(0.25); -webkit-filter:brightness(0.25); > .blur < filter: blur(3px); -webkit-filter: blur(3px); > .invert < filter: invert(100%); -webkit-filter: invert(100%); > .sepia < filter: sepia(100%); -webkit-filter: sepia(100%); > .huerotate < filter: hue-rotate(180deg); -webkit-filter: hue-rotate(180deg); > .opacity < filter: opacity(50%); -webkit-filter: opacity(50%); > style> head> body> h2>Измените цвет PNG изображения h2> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="original"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="saturate" class="saturate"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="grayscale" class="grayscale"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="contrast" class="contrast"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="brightness" class="brightness"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="blur" class="blur"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="invert" class="invert"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="sepia" class="sepia"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="huerotate" class="huerotate"> img alt="Mona Lisa" src="http://i.stack.imgur.com/OyP0g.jpg" title="opacity" class="opacity"> body> html>

Можете также применить следующую технику:

body> div >div> div >div> body> Начните применить стили для IDs. Установите filter: hue-rotate; к ID "changed
#changed < -webkit-filter : hue-rotate(180deg); filter : hue-rotate(180deg); >

Результат будет выглядеть следующим образом:

html> html> head> title>Измените цвет изображения title> style> #original, #changed < background: url('https://image.freepik.com/free-photo/orange-red-siamese-fighting-fish-betta-splendens-isolated-white-background_51519-539.jpg'); background-size: cover; width: 30%; margin: 0 10% 0 10%; padding-bottom: 28%; float: left; > #changed < -webkit-filter : hue-rotate(180deg); filter : hue-rotate(180deg); > style> head> body> h2>Измените цвет PNG изображения h2> div id="original"> div> div id="changed"> div> body> html>

Источник

Читайте также:  Unique page title - My Site

Функции фильтров

CSS позволяет накладывать поверх картинок или фонов различные фильтры. Почти как в Инстаграме. Можно, например, размыть или обесцветить изображение, сделать его более контрастным.

Функции используются в качестве значений для свойств filter и backdrop — filter .

Пример

Скопировать ссылку «Пример» Скопировано

 div  filter: saturate(2.2);> div  filter: saturate(2.2); >      

Как пишется

Скопировать ссылку «Как пишется» Скопировано

blur ( )

Скопировать ссылку «blur()» Скопировано

Примеряет размытие Гаусса к изображению. Значение в скобках указывает сколько пикселей сливаются друг с другом. Чем больше значение, тем больше размытие. Можно указать положительное значение в любых единицах измерения, кроме процентов.

 img  filter: blur(3px);> img  filter: blur(3px); >      

brightness ( )

Скопировать ссылку «brightness()» Скопировано

Меняет яркость изображения. В скобках можно указать любое значение от 0% и выше. Значение 0% сделает изображение полностью чёрным. Значение 100% вернёт изображению исходную яркость. Значение больше 100% выкрутит яркость картинки. Значением может быть целое или дробное число без единиц измерения.

 img  filter: brightness(30%);> img  filter: brightness(30%); >      

contrast ( )

Скопировать ссылку «contrast()» Скопировано

Меняет контраст изображения. В скобках можно указать любое значение от 0% и выше. Значение 0% сделает изображение полностью чёрным. Значение 100% вернёт изображению исходный контраст. Значение больше 100% усилит исходный контраст. Значением может быть целое или дробное число без единиц измерения.

 img  filter: contrast(250%);> img  filter: contrast(250%); >      

drop — shadow ( )

Скопировать ссылку «drop-shadow()» Скопировано

Задаёт тень для картинки. Тень располагается снаружи элемента. Эта функция очень похожа на box — shadow по допустимым значениям и результату. Разница лишь в том, что нельзя указывать ключевое слово inset .

 img  filter: drop-shadow(4px 4px red);> img  filter: drop-shadow(4px 4px red); >      

grayscale ( )

Скопировать ссылку «grayscale()» Скопировано

Делает изображение чёрно-белым. В скобках можно указать значение от 0% до 100%. Значение 100% сделает изображение полностью чёрно-белым. Значение 0% вернёт изображению исходные цвета. Значением может быть целое или дробное число без единиц измерения.

 img  filter: grayscale(80%);> img  filter: grayscale(80%); >      

hue — rotate ( )

Скопировать ссылку «hue-rotate()» Скопировано

Меняет цвета изображения за счёт поворота цветового круга. Угол поворота указывается в скобках функции. Можно указывать угол в градусах deg или в поворотах turn .

 img  filter: hue-rotate(0.5turn);> img  filter: hue-rotate(0.5turn); >      

invert ( )

Скопировать ссылку «invert()» Скопировано

Инвертирует цвета изображения, как бы выворачивает их, превращая в противоположные. В результате получается что-то вроде негатива. Можно указать процент инверсии от 0% до 100%. При 100% цвета на картинке полностью инвертированы. Отрицательные значения или значения больше 100% не допускаются.

 img  filter: invert(100%);> img  filter: invert(100%); >      

opacity ( )

Скопировать ссылку «opacity()» Скопировано

Меняет прозрачность изображения. Можно указать процент прозрачности от 0% до 100%. 0% делает картинку полностью прозрачной. 100% не меняет прозрачность изображения. Отрицательные значения или значения больше 100% не допускаются.

Очень похоже на работу свойства opacity с той разницей, что для фильтра браузер, как правило, применяет аппаратное ускорение для улучшения производительности.

 img  filter: opacity(40%);> img  filter: opacity(40%); >      

saturate ( )

Скопировать ссылку «saturate()» Скопировано

Меняет насыщенность цветов изображения. Значение 0% полностью убирает насыщенность цветов. Значение 100% не изменяет исходное изображение. Допускаются значения больше 100% что приводит к перенасыщенности. Нельзя указать отрицательное значение.

 img  filter: saturate(390%);> img  filter: saturate(390%); >      

sepia ( )

Скопировать ссылку «sepia()» Скопировано

Меняет цвета изображения на сепию — коричневые оттенки. Значение 100% полностью преобразует изображение в сепию. Значение 0% не изменяет исходное изображение. Отрицательные значения или значения больше 100% не допускаются. Можно использовать целое или дробное число без единиц измерения в качестве значения.

 img  filter: sepia(0.6);> img  filter: sepia(0.6); >      

Все фильтры сразу

Скопировать ссылку «Все фильтры сразу» Скопировано

Подсказки

Скопировать ссылку «Подсказки» Скопировано

💡 Можно указать сразу несколько фильтров для одного элемента, перечислив их через пробел.

На практике

Скопировать ссылку «На практике» Скопировано

Елена Соколовская советует

Скопировать ссылку «Елена Соколовская советует» Скопировано

🛠 С помощью drop — shadow ( ) мы можем создать тень по форме самого изображения. Функция учитывает альфа-канал картинки и способна отбрасывать не только прямоугольную тень, как в случае с box — shadow .

 .box-shadow  box-shadow: 4px 4px 10px red;>.drop-shadow  filter: drop-shadow(4px 4px 10px red);> .box-shadow  box-shadow: 4px 4px 10px red; > .drop-shadow  filter: drop-shadow(4px 4px 10px red); >      

Источник

Оцените статью