כאשר בניתם אפליקציות אינטרנט למעלה מ-25 שנה, כמו שעשיתי, שימוש ב-HTML, CSS, ו-JavaScript הפך להיות דבר שני טבעי.
במאמר זה, אספק כמה דרכים פשוטות ליצירת טקסט גולל באמצעות כלים אלו, כולל חמישה שיטות שונות לקידוד טקסט גולל עם HTML פשוט, HTML ו-CSS, ולבסוף, HTML + CSS + JS.
1. טקסט גולל עם HTML פשוט
פשוט הוסיפו תגית סביב הטקסט כדי ליצור אפקט גילוי. תגית זו מציעה מספר פרמטרים מעניינים, בהם:
- כיוון — יכול להיות שמאל, ימין, למעלה, או למטה
- מהירותגלילה — מהירות הגלילה של הטקסט
- לולאה — כמה פעמים יש לחזור על הגלילה
הערה: זו תגית HTML שהושלמה, לכן אני ממליץ על הזהירות בשימוש בה לפרויקטי אינטרנט מודרניים.
2. טקסט גולל אנימציה עם CSS
הגדירו אנימציה CSS בשם scroll שמנפיקה את מאפיין translateX
.
@keyframes scroll {
0% { transform: translateX(100%); }
100% { transform: translateX(-100%); }
}
<div class="scrolling-text">Scrolling Text</div>
.scrolling-text {
width: 100%;
overflow: hidden;
white-space: nowrap;
box-sizing: border-box;
animation: scroll 10s linear infinite;
}
translateX
to translateY
will give you a vertical scrolling text. Switching 0% and 100% around will give you the reverse scrolling text direction. And in the .scrolling-text
CSS class, if you change the 10s duration of the animation, you change the speed of the scrolling text.
3. HTML + CSS + JavaScript טקסט גולל
קוד HTML:
<div class="scrolling-text">
Scrolling Text Scrolling Text Scrolling Text
</div>
קוד CSS:
.scrolling-text {
width: 30vw;
white-space: nowrap;
overflow: hidden;
box-sizing: border-box;
font-size:clamp(16px,50dvh,220px);
white-space:nowrap;
margin: 0 auto;
}
const container = document.querySelector('.scrolling-text');
let scrollAmount = 0;
setInterval(() => {
scrollAmount += 10;
container.scrollLeft = scrollAmount;
if (scrollAmount >= container.scrollWidth) {
scrollAmount = 0;
}
}, 20);
4. גלילת טקסט עם jQuery
$(document).ready(
function loop() {
$('.scrolling-text').css({scrollLeft:0});
$('.scrolling-text').animate({ scrollLeft: "+=1000" }, 10000, 'linear', loop);
}
);
animate()
jQuery function to animate the scrollLeft
property, and this will create a scrolling text effect.
לפי דעתי, jQuery היא קצת יתר במצב זה, וזה רק יוצא לעבודה אם כבר השתמשתם ב-jQuery בפרויקט שלכם.
כמובן, animate()
יכול לשמש גם להנפשת מאפייני translateX
או translateY
כפי שנראה לעיל.
5. טקסט גולל באמצעות Canvas HTML5
זו השיטה האהובה עלי. במיוחד מכיוון שהיא כל כך גמישה ומציעה כל כך הרבה אפשרויות, כמו לדוגמה, יצוא של הטקסט הגולל כ-GIF או אפילו כסרטון. ניתן לראות זאת בפעולה על ידי גישה ל-גנרטור טקסט גולל ב-PSDDude, שם ניתן ליצור תמונות וסרטונים של טקסט גולל מותאמים אישית.
הקוד HTML פשוט:
<canvas id="scrollingCanvas" width="300" height="50"></canvas>
const canvas = document.getElementById('scrollingCanvas');
const ctx = canvas.getContext('2d');
const text = "Scrolling Text Example";
let x = canvas.width;
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height); // Clear the canvas
ctx.font = '20px Arial';
ctx.fillStyle = 'black';
ctx.fillText(text, x, 30);
x -= 2; // Adjust speed of scrolling here
if (x < -ctx.measureText(text).width) {
x = canvas.width; // Reset position when text is out of view
}
requestAnimationFrame(draw);
}
draw();
requestAnimationFrame()
calling the function draw()
is actually the way HTML5 games implement their graphics drawing. This is a cool way to create smooth-scrolling text.
ניתן לקבל את גודל הטקסט על המסך באמצעות שיטת ההגדרה measureText()
בקשת. זה מאפשר יצירת טקסט גולל ללא פסק באמצעות איפוס מיקום הטקסט כאשר הוא מגיע למיקום הסופי.
בונוס: רעיונות קצרים לטקסט גולל
גיפ של טקסט גולל בסגנון "LED"
למידע נוסף בנושא ניתן לעיין בקישור הבא: לינק.
גנרטור טקסט גולל כמו בפתיחת "מלחמת הכוכבים"
למידע נוסף בנושא ניתן לעיין בקישור הבא: לינק.
טקסט גולל על שוק ההון
למד עוד כאן.
טקסט מזג אוויר נגלל
למד עוד על זה כאן.
אלו נוצרו עם יוצר ה-GIF והווידאו של טקסט נגלל על ידי PSDDude.
מסקנה
עכשיו אתה יודע איך ליצור טקסט נגלל בעזרת HTML, CSS ו/או JavaScript.
למה תשתמש בזה? השאר לי תגובה כדי שאדע. גם אם אתה חושב שפספסתי שיטה חשובה ליצירת טקסט נגלל, תן לי לדעת את דעתך על כך.
Source:
https://dzone.com/articles/scrolling-text-html-css-javascript