Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2015, 18:16
Профессор
Отправить личное сообщение для Siend Посмотреть профиль Найти все сообщения от Siend
 
Регистрация: 04.02.2012
Сообщений: 196

фильтры цвета с прозрачностью.
Ребят, подскажите плиз:

"Кнопки при наведении подсвечиваются фильтром rgba 255 255 255 0.2, в момент нажатия затемняться 0 0 0 0.2."

Как это реализовать? Сама кнопка - простой див с заданным цветом фона. Понимаю что меня нужно не цвет фона, но мне кроме как добавления элемента поверх ничего в голову не лезет(
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2015, 18:47
Профессор
Отправить личное сообщение для Decode Посмотреть профиль Найти все сообщения от Decode
 
Регистрация: 31.01.2015
Сообщений: 576

Сообщение от Siend
"Кнопки при наведении подсвечиваются фильтром rgba 255 255 255 0.2, в момент нажатия затемняться 0 0 0 0.2."
:hover - наведение
:active - нажатие
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2015, 19:29
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Decode, не сможет он этого без "препроцессора". Ибо в данном случае :hover, :active будут заменять цвет, а не накладывать.

Последний раз редактировалось Lemme, 12.09.2015 в 20:26.
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2015, 19:31
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Но, как вариант - можно извратиться с псевдоэлементами
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		div{
			width: 100px;
			height: 50px;
			background-color: #321;
		}
		div:after{
			display: block;
			width: 100%;
			height: 100%;
			content: ' ';
		}
		div:hover::after{
			background-color: rgba(255,255,255,0.5);
		}
		div:active::after{
			background-color: rgba(000,000,000,0.5);
		}
	</style>
</head>
<body>
	<div></div>
</body>
</html>

Последний раз редактировалось Lemme, 12.09.2015 в 20:27.
Ответить с цитированием
  #5 (permalink)  
Старый 13.09.2015, 11:43
Профессор
Отправить личное сообщение для Siend Посмотреть профиль Найти все сообщения от Siend
 
Регистрация: 04.02.2012
Сообщений: 196

Ааа, клаааас! спасибо) я столько раз уже встречал эти псевдоклассы before и after, но никак не могу в них до конца разобраться) Ваш вариант я тоже пробовал, только он у меня выглядел так:
div{
            width: 100px;
            height: 50px;
            background-color: #321;
        }
        div:hover::after{
            background-color: rgba(255,255,255,0.5);
        }
        div:active::after{
            background-color: rgba(000,000,000,0.5);
        }

Само собой ничего не сработало, а я и не понял что after нужно было перед этим тоже определить) спасибо огромное)
Ответить с цитированием
  #6 (permalink)  
Старый 13.09.2015, 11:58
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Siend, ничего не нужно определять, почитайте документацию по "псевдоэлементам".
Ответить с цитированием
  #7 (permalink)  
Старый 13.09.2015, 12:07
Профессор
Отправить личное сообщение для Siend Посмотреть профиль Найти все сообщения от Siend
 
Регистрация: 04.02.2012
Сообщений: 196

ну эт я не правильно выразился. Ваш код отличается от моего тем что прежде чем писать ховер:афтер, вы и для самого дива сделали афтер с указанием размером и типа display:block, под эти я и подразумевал "определять"
Ответить с цитированием
  #8 (permalink)  
Старый 13.09.2015, 12:14
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

Siend, я вынес это отдельно, чтоб не дублировать, т.е так тоже будет работать:

div:hover::after{
	display: block;
	width: 100%;
	height: 100%;
	content: ' ';
	background-color: rgba(255,255,255,0.5);
}
div:active::after{
	display: block;
	width: 100%;
	height: 100%;
	content: ' ';
	background-color: rgba(000,000,000,0.5);
}
Ответить с цитированием
  #9 (permalink)  
Старый 13.09.2015, 12:59
Профессор
Отправить личное сообщение для Siend Посмотреть профиль Найти все сообщения от Siend
 
Регистрация: 04.02.2012
Сообщений: 196

А, теперь понял что вы имели ввиду) Большое спасибо)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Виджет выбора цвета на html5 canvas NC22 Ваши сайты и скрипты 1 16.05.2015 19:40
Как получить значение цвета из color picker razorg1991 jQuery 1 06.10.2014 09:06
Изменение цвета кнопки для каждого пользователя kade Общие вопросы Javascript 2 23.09.2014 19:46
Изменения цвета картинки stieve Общие вопросы Javascript 40 23.11.2010 19:47
Поиск нужного скрипта (выбор цвета) Djumpen Общие вопросы Javascript 1 02.04.2010 08:23