И снова – здравствуйте!

 

В этой статье я хочу поделиться с Вами кодом, с помощью которого можно организовать простые, но достаточно приятные на вид, всплывающие подсказки для различных элементов на страничках ваших сайтов. В качестве примера я выбрал – ссылки, так как именно для них обычно требуются развёрнутые подсказки. Но ничто не мешает создать свои  tooltips для других веб-элементов.

 

Несомненным плюсом рассматриваемых закладок является то обстоятельство, что для их создания не требуются никакие дополнительные скрипты и библиотеки – всё сделано с помощью стандартных средств CSS3.

 

Итак, как всегда, сначала создаём html-документ со следующей разметкой:

 

Подсказка CSS3
	При наведении курсора на 
	<a class="tooltip" href="http://bulatlab.ru/">ЭТУ	<span>
	<img style="margin-right: 15px;" src="5.png" alt="lorem" width="100" height="80" align="left">
	Это всплывающая подсказка в серых тонах</span></a> 
	ссылку появится всплывающая подсказка в серых тонах.<br>

	
	При наведении курсора на <a class="tooltip yellow-tooltip" href="http://bulatlab.ru/">ЭТУ<span>Это всплывающая подсказка в желтых тонах</span>	</a> 
	ссылку появится всплывающая подсказка в желтых тонах. <br>

	
	При наведении курсора на 
	<a class="tooltip navy-tooltip" href="http://bulatlab.ru/">ЭТУ<span>
	Это всплывающая подсказка в тёмно-серых тонах</span></a> 
	ссылку появится всплывающая подсказка в тёмно-серых тонах.<br>

	
	При наведении курсора на 
	<a class="tooltip blue-tooltip" href="http://bulatlab.ru/">ЭТУ<span>Это всплывающая подсказка в голубых тонах</span></a>
	ссылку появится всплывающая подсказка в голубых тонах.<br>


	При наведении курсора на 
	<a class="tooltip pink-tooltip" href="http://bulatlab.ru/">ЭТУ<span>Это всплывающая подсказка в розовых тонах</span></a>
	ссылку появится всплывающая подсказка в розовых тонах. <br>


 

В html-коде ничего сложного нет – это по сути обычные ссылки, с включенными в них элементами span, которые по существу и являются непосредственно самими подсказками. Кроме того, для примера, что помимо текста в подсказке может содержаться и графическая информация, в первую подсказку включен элемент img.

 

Далее определяем стили всех элементов в коде ниже, который помещаем либо в раздел head, либо присоединяем отдельным файлом.  В данном коде также ничего супер-сложного и особенного нет.  Только бы хотелось обратить внимание на стрелочки к подсказкам. Эти стрелочки реализованы с помощью пвсевдоклассов  - .tooltip span:before  и .tooltip span:after.

 


body{
  color: #222;
  font-family: 'Lucida sans', Arial, Helvetica;
  width: 600px;
  margin: 150px auto;
  font-size: small;
  line-height: 1.4;
}

.tooltip{
  position: relative;
  cursor: help;
  display: inline-block;
  text-decoration: none;
  color: #dd4444;
  outline: none;
  font-weight:bold;
  margin-top:30px;
}

.tooltip span{
  visibility: hidden;
  position: absolute; 
  bottom: 30px;
  left: 50%;
  z-index: 999;
  width: 230px;
  margin-left: -127px;
  padding: 10px;
  border: 2px solid #ccc;
  opacity: .9;
  background-color: #ddd;                     
  background-image: -webkit-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
  background-image: -moz-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
  background-image: -ms-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
  background-image: -o-linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));
  background-image: linear-gradient(rgba(255,255,255,.5), rgba(255,255,255,0));  
  -moz-border-radius: 4px;
  border-radius: 4px;  
  -moz-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
  -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;
  box-shadow: 0 1px 2px rgba(0,0,0,.4), 0 1px 0 rgba(255,255,255,.5) inset;  
  text-shadow: 0 1px 0 rgba(255,255,255,.4); 
  color: #222;
  font-weight:normal;
}

.tooltip:hover span{  visibility: visible;}
.tooltip span:before,.tooltip span:after{
  content: "";
  position: absolute;
  z-index: 1000;
  bottom: -7px;
  left: 50%;
  margin-left: -8px;  
  border-top: 8px solid #ddd;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;        
  border-bottom: 0;  
}


/* Yellow */
.yellow-tooltip span{border-color: #e1ca82; background-color: #ffeaa6;}
.yellow-tooltip span:after{   border-top-color: #ffeaa6;}
.yellow-tooltip span:before{  border-top-color: #e1ca82;}

/* Navy */
.navy-tooltip span{
  color: #fff;
  text-shadow: 0 1px 0 #000;  
  border-color: #161a1f;
  background-color: #1e2227;
}
.navy-tooltip span:after{ border-top-color: #1e2227;}
.navy-tooltip span:before{  border-top-color: #161a1f;}

/* Blue */
.blue-tooltip span {border-color: #59add4; background-color: #61bde7;}
.blue-tooltip span:after{  border-top-color: #61bde7;}
.blue-tooltip span:before{border-top-color: #59add4;}

/* Pink */
.pink-tooltip span {border-color: #ce4378; background-color: #ea4c88;}
.pink-tooltip span:after{border-top-color: #ea4c88;}
.pink-tooltip span:before{border-top-color: #ce4378;}
</style>

 

Вот и всё! :) До встречи в следующих статьях. Благодарю, что их читаете…