Скролинг текста как в «Звездных войнах»

Как сделать титры из звезных войн на HTML и CSS.

Скроллинг текста из «Звездных войн» под углом 30-45 градусов с перспективой к горизонту - эта классика кинематографа, которая стала предметом всевозможных упражнений и уроков.

Первое, что нужно сделать, это написать контент для вашей HTML страницы. Мы использовали текст из нашего веб-сайта. В основном веб-сайт содержит заголовок и раздел для текста. Нам нужны два контейнера – один с ID “titles” и внутренний контейнер с контентом с ID “titlecontent”.

HTML:

<!doctype html>
<meta charset="utf8" />
<header></header>
<body>
<section>
<div id="titles">
<div id="titlecontent">
Тут ВАШ текст
</div>
</section>
</body>
</html>

Далее необходимо стилизовать дизайн. Нам нужно убедиться, что фон черный, шрифт San-Serif или современный "Droid Sans", и что мы будем использовать 100% высоту и ширину, установим “перспективу” добавим “transform-origin: 50% 100%; transform: perspective(300px) rotateX(25deg);”.

CSS

body, html
{
	width: 100%;
	height: 100%;
	font-family: "Droid Sans", arial, verdana, sans-serif;
	font-weight: 700;
	color: #ff6;
	background-color: #000;
	overflow: hidden;
}
#titles
{
	position: absolute;
	width: 18em;
	height: 50em;
	bottom: 0;
	left: 50%;
	margin-left: -9em;
	font-size: 350%;
	font-weight: bold;
	text-align: justify;
	overflow: hidden;
	transform-origin: 50% 100%;
	transform: perspective(300px) rotateX(25deg);
}

Добавим черный градиент сверху через псевдо-элемент.

CSS

#titles:after
{
	position: absolute;
	content: ' ';
	left: 0;
	right: 0;
	top: 0;
	bottom: 60%;
	background-image: linear-gradient(top, rgba(0,0,0,1) 0%, transparent 100%);
	pointer-events: none;
}

Используем правило для прокрутки текста путем добавления анимации keyframes.

Правило @keyframes устанавливает ключевые кадры при анимации элемента. Ключевой кадр это свойства элемента (прозрачность, цвет, положение и др.), которые должны применяться к элементу в заданный момент времени. Таким образом, анимация представляет собой плавный переход стилевых свойств от одного ключевого кадра к другому. Вычисление промежуточных значений между такими кадрами берёт на себя браузер.

Самый простой вариант, когда у нас есть только два ключевых кадра — исходное и конечное состояние. Поддерживается только Chrome, Safari, Firefox, IE10 браузерами.

CSS

#titlecontent
{
	position: absolute;
	top: 100%;
	animation: scroll 100s linear 4s infinite;
}
@keyframes scroll {
	0% { top: 100%; }
	100% { top: -170%; }
}

Весь исходный код

CSS:

body, html
{
	width: 100%;
	height: 100%;
	font-family: "Droid Sans", arial, verdana, sans-serif;
	font-weight: 700;
	color: #ff6;
	background-color: #000;
	overflow: hidden;
}
#titles
{
	position: absolute;
	width: 18em;
	height: 50em;
	bottom: 0;
	left: 50%;
	margin-left: -9em;
	font-size: 350%;
	font-weight: bold;
	text-align: justify;
	overflow: hidden;
	transform-origin: 50% 100%;
	transform: perspective(300px) rotateX(20deg);
}
#titles:after
{
	position: absolute;
	content: ' ';
	left: 0;
	right: 0;
	top: 0;
	bottom: 60%;
	background-image: linear-gradient(top, rgba(0,0,0,1) 0%, transparent 100%);
	pointer-events: none;
}
#titlecontent
{
	position: absolute;
	top: 100%;
	animation: scroll 200s linear 0s infinite;
}
@keyframes scroll {
	0% { top: 100%; }
	100% { top: -170%; }
}
02:15
2376