Как сделать текст по кругу на Javascript

Как сделать текст по кругу на Javascript

Как сделать текст по кругу на Javascript

Для создания текста по кругу, необходимо разбить текст на символы и применить к каждому символу свойство transform.

Создание и стилизация текста

Создадим секцию и поместим в нее заголовок с классом text. Сделаем элементарное CSS оформление для текста: позиционирование, цвет, размер.


<section>
    <h2 class="text">Circle-Text-Effects-</h2>
</section>

@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900&display=swap');
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Roboto', sans-serif;
}
section{
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: #FFEB3B;
    overflow: hidden;
}
section .text{
    position: absolute;/*абсолютное позиционирование*/
    font-size: 2em;
    color: #37474F;
    text-align: center;
    pointer-events: none;/*не применять событие мыши*/
    user-select: none;/*запрет на выбор текста*/
}
section .text span{
    position: absolute;
    top: -100px;
    text-transform: uppercase;
    display: inline-block;/*отображать как блочно-строчный*/
    transform-origin: 0 100px;/*откуда начинать трансформацию*/
}

Как сделать текст по кругу на Javascript

JavaScript код

Найдем в документе наш текст по селектору и поместим его в переменную text. Сначала разобьем строку на отдельные символы, поместив каждый символ в тег span. Результат попадет в переменную и с помощью свойства innerHTML, выведем переменную на странице.


//присвоение переменной элемента текст
const text = document.querySelector('.text');
//разбивка текста на буквы
text.innerHTML = text.textContent.replace(/S/g, "<span>$&</span>");

В инструментах разработчика можно увидеть, как каждая буква оказалась внутри тега span. Теперь разделенные независимо друг от друга буквы можно как угодно трансформировать.

Как сделать текст по кругу на Javascript

Найдем на странице элемент span, занесем его в переменную element. Создадим цикл for, который будет добавлять свойство rotate для каждой буквы с новым значением градуса поворота, рассчитанного по формуле. Если в кругу 360 градусов и у нас строка состоит из 20-ти символов, то на каждый символ приходится по 18 градусов.


let element = document.querySelectorAll('span');
for(let i=0; i<element.length;i++){
    element[i].style.transform = "rotate("+i*18+"deg)";
}

Цикл добавил всем тегам span свойство transform со своим значением rotate.

Как сделать текст по кругу на Javascript

В итоге буквы равномерно распределились по кругу.

Как сделать текст по кругу на Javascript

Хотите узнать больше о языке программирования JavaScript? Переходите на видеокурс по JavaScript и приобретайте необходимые навыки для получения востребованной профессии frontend-разработчика.

Источник

Читайте также

НЕТ КОММЕНТАРИЕВ

Оставить комментарий