Архив рубрики: HTML5

Заливка текста текстурой в HTML5

Используем Canvas PatternВывод текста с текстурой, используя HTML5 Canvas

Создадим фон текста изображением.

 

Необходимо загрузить изображение-текстуру. после этого с помощью createPattern() создать текстуру. Также при необходимости можно задать, чтобы изображение повторялось либо нет.

 var pattern = ctx.createPattern(img, 'repeat'); ctx.fillStyle = pattern;

Полный листинг примера HTML5 Canvas Pattern

<body>
<canvas id="canvas" width="500" height="300"></canvas>

<script>
var cnvs = document.getElementById('canvas');
var crx = cnvs.getContext("5");
crx.restore();
var img = document.createElement('img');
img.onload = function () {
crx.fillStyle = crx.createPattern(img, 'repeat');
crx.font = 'bold 100px sans-serif';
crx.fillText("Красота", 50, 120);
};
img.src = '1.jpg';
</script>
</body>

Всплывающие подсказки с помощью CSS3

Анимация всплывающих подсказок с помощью CSS3

Создадим анимацию всплывающих подсказок (tooltip) вот такого вида

Всплывающие подсказки с анимацией

Шаг 1

Покажем наши картинки, для которых нужны всплывающие подсказки.

Код html

<div class="tt-wrapper"> 
 <a href=""><img src="img/class-mage.png"><span>Маг</span></a>
 <a href=""><img src="img/class-priest.png"><span>Монах</span></a> 
 <a href=""><img src="img/class-warrior.png"><span>Воин</span></a> 
 <a href=""><img src="img/class-scout.png"><span >Разведчик</span></a>
</div>

Шаг 2

Создаем стили
Для начала создадим стиль для общего div
код css

.tt-wrapper{
	padding: 0;
	width: 800px;
	margin-top:150px;
    margin-left:25%;
	text-align:center;
}

Затем создадим стили для подсказок

.tt-wrapper a span{
    width: 100px;
	height: auto;
	line-height: 20px;
	padding: 10px;
	margin-left:-123px;
    font-family: 'Alegreya SC', Georgia, serif;
    font-weight: 400;
    font-style: Bolder;
    font-size: 14px;
    color: #004A7F;
    text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.3);
	text-decoration:none;
    text-align: center;
    border: 2px solid #fff;
    background: rgba(255,255,255,0.3);
    text-indent: 0px;
    border-radius: 15px;
    position: absolute;
    pointer-events: none;
	bottom: 570px;
	opacity: 0;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.1);
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;

}
.tt-wrapper  a span:before,
.tt-wrapper  a span:after{
    content: '';
    position: absolute;
    bottom: -15px;
    left: 50%;
    margin-left: -9px;
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid rgba(0,0,0,0.1);
}
a {
text-decoration:none;
}
.tt-wrapper  a span:after{
    bottom: -14px;
    margin-left: -10px;
    border-top: 10px solid #fff;
}

В заключении стиль в котором указываем где появиться нашему блоку с подсказкой

.tt-wrapper a:hover span{
    opacity: 0.9;
    bottom: 600px;
	text-decoration:none;
}

Работающий пример подсказок — DEMO

Поиск и показ полей по введенному значению

Реализация поиска и показа значения наподобие автодополнения.

Например необходимо реализовать поиск строчек стихотворения, в котором есть введенное слово или его часть.

Стих Пушкина для поиска строк

Если введем слово в списке должны отобразиться только те строчки в которых присутствуют данное слово. И все это по мере ввода искомого слова.

Результат поиска строчек в реальном времени

Создадим поле для ввода текста и сам список полей в которых необходимо искать информацию или данные в режиме реального времени этакий автопоиск:



Добавим для наглядности css:

input, select {
width: 300px;
margin: 10px auto;
display: block;
}

При вводе данных в поле input всё, что не совпадает со строкой поиска, будем скрывать, оставляя в списке только нужные результаты.

Поиск в списке основывается на использовании регулярных выражений, а так как значение в поле ввода не постоянно, лучше использовать объектную запись регулярных выражений RegExp() вместо литеральной:

var field = $('#list').find('option');

// собственно поиск
$('#searching').bind('keyup', function() {
    var q = new RegExp($(this).val(), 'ig'),
        bol = true;

    for (var i = 0, l = field.length; i < l; i += 1) {
        var option = $(field[i]),
            parent = option.parent();

        if ($(field[i]).text().match(q)) {
            if (parent.is('span')) {
                option.show();
                parent.replaceWith(option);
            }
        } else {
            if (option.is('option') && (!parent.is('span'))) {
                option.wrap('').hide() } } } }); 

Видно, что непосредственно поиск не представляет ничего сложного: весь интерес в отображении найденных результатов. Дело в том, что простое применение свойств, скрывающих элементы списка, невсегда приводит к ожидаемому результату. Например, в некоторых браузерах (Chrome, Internet Explorer) если просто добавить display:none к тегу option, последний всё равно останется видимым.

Однако этот же тег option, обернутый тегом span, понимает display:none, и ведёт себя корректно.

Показ видео на сайте с помощью HTML5

Показ видео осуществляется с помощью HTML5 тега <video> </video>
Общий вид

<video src="video.mp4" controls="controls">

Параметры

  • autoplay=»autoplay» – видео воспроизводится сразу после загрузки страницы.
  • autobuffer=»autobuffer» – видео воспроизводится уже в момент загрузки страницы.
  • controls=»controls» – показать панель управления видеоплеером.
  • loop=»loop» – по окончанию, видео проигрывается снова.
  • src=»url» – путь к источнику видео.
  • type=»video/ogg» – определяет формат видео.
  • height=»» – высота видеоплеера.
  • width=»» – ширина видеоплеера.

Пример для проигрывания видеофайла на сайте с помощью HTML5

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
<video src="video.mp4" controls="controls">
Ваш браузер не поддерживает теги HTML5 для видео.Необходимо обновить браузер!
</video>
</body>
</html>

Для нормального воспроизведения видео во всех браузерах можно добавить несколько источников видео в разных форматах для воспроизведения (Ogg, MPEG4, WebM).Для этого используется тег <source> внутри тэга <video>. Браузер будет использовать первый поддерживаемый им формат.

Пример для проигрывания видео файла с несколькими источниками на сайте с помощью HTML5

<video controls="controls">
  <source src="video.mp4" type="video/ogg" />
  <source src="video.ogv" type="video/mp4" />
  <source src="video.webm" type="video/webm" />
Ваш браузер не поддерживает теги HTML5 для видео.Необходимо обновить браузер!
</video>

Фоновая музыка или звук на сайте с HTML5

Фоновый звук или музыка c помощью HTML 5

Аудиопотоком в HTML5 управляет тег <audio>

Пример

<audio src="music.ogg" controls="controls">

Параметры

  • autoplay=»autoplay» определяет воспроизведение музыкального файла сразу же после загрузки страницы.
  • autobuffer=»autobuffer»используется в паре с autoplay=»autoplay» – определяет воспроизведение музыкального файла уже в момент загрузки страницы.
  • src=»url» – путь к звуковому файлу.
  • controls=»controls» показывает панель управления плеером.

Пример для создания фоновой музыки на сайте

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>
<audio src="music.mp3" autoplay="autoplay">
Ваш браузер не поддерживает теги audio. Необходимо обновить браузер!
</audio>
</body>
</html>