เพียงเพื่อบันทึกในประวัติศาสตร์!
ฉันคิดวิธีแก้ปัญหาสำหรับงานของตัวเองตั้งแต่ 5-6 ปีที่แล้วซึ่งก็คือGradext (จาวาสคริปต์แท้ๆและ CSS บริสุทธิ์ไม่มีการพึ่งพา)
คำอธิบายทางเทคนิคคือคุณสามารถสร้างองค์ประกอบดังนี้:
<span>A</span>
ตอนนี้ถ้าคุณต้องการสร้างการไล่ระดับสีบนข้อความคุณต้องสร้างหลาย ๆ เลเยอร์แต่ละสีที่มีเอกลักษณ์เฉพาะและสเปกตรัมที่สร้างขึ้นจะแสดงผลการไล่ระดับสี
เช่นดูที่นี่เป็นคำloremภายในของ<span>
และจะทำให้เกิดการไล่ระดับสีในแนวนอน ( ตรวจสอบตัวอย่าง ):
<span data-i="0" style="color: rgb(153, 51, 34);">L</span>
<span data-i="1" style="color: rgb(154, 52, 35);">o</span>
<span data-i="2" style="color: rgb(155, 53, 36);">r</span>
<span data-i="3" style="color: rgb(156, 55, 38);">e</span>
<span data-i="4" style="color: rgb(157, 56, 39);">m</span>
และคุณสามารถทำรูปแบบนี้ต่อไปเป็นเวลานานและย่อหน้ายาวได้เช่นกัน
แต่!
ถ้าคุณต้องการสร้างเอฟเฟกต์การไล่ระดับสีในแนวตั้งสำหรับข้อความ
จากนั้นก็มีวิธีแก้ไขปัญหาอื่นซึ่งอาจเป็นประโยชน์ ฉันจะอธิบายในรายละเอียด
สมมติว่าเราเป็นคนแรก<span>
อีกครั้ง แต่เนื้อหาไม่ควรเป็นตัวอักษรทีละตัว เนื้อหาที่ควรจะข้อความทั้งหมดและตอนนี้เรากำลังจะไปคัดลอกเดียวกัน <span>
อีกครั้งและอีกครั้ง(นับจากช่วงจะกำหนดคุณภาพของการไล่ระดับสีของคุณช่วงมากขึ้นผลที่ดีขึ้น แต่ประสิทธิภาพที่ดี) ดูที่นี้:
<span data-i="6" style="color: rgb(81, 165, 39); overflow: hidden; height: 11.2px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="7" style="color: rgb(89, 174, 48); overflow: hidden; height: 12.8px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="8" style="color: rgb(97, 183, 58); overflow: hidden; height: 14.4px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="9" style="color: rgb(105, 192, 68); overflow: hidden; height: 16px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="10" style="color: rgb(113, 201, 78); overflow: hidden; height: 17.6px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
<span data-i="11" style="color: rgb(121, 210, 88); overflow: hidden; height: 19.2px;">Lorem ipsum dolor sit amet, tincidunt ut laoreet dolore magna aliquam erat volutpat.</span>
อีกครั้ง แต่!
จะเป็นอย่างไรถ้าคุณต้องการให้เอฟเฟกต์การไล่ระดับสีเหล่านี้เคลื่อนไหวและสร้างภาพเคลื่อนไหวออกมา
มีวิธีแก้ไขปัญหาให้ด้วยเช่นกัน คุณควรตรวจสอบanimation: true
หรือ.hoverable()
วิธีการที่แน่นอนซึ่งจะนำไปสู่การไล่ระดับสีเพื่อเริ่มต้นตามตำแหน่งเคอร์เซอร์! (ฟังดูดี xD)
นี่เป็นเพียงวิธีที่เราสร้างการไล่ระดับสี (เชิงเส้นหรือแนวรัศมี) บนข้อความ หากคุณชอบความคิดหรือต้องการทราบข้อมูลเพิ่มเติมคุณควรตรวจสอบลิงก์ที่ให้ไว้
บางทีนี่อาจไม่ใช่ตัวเลือกที่ดีที่สุดหรืออาจไม่ใช่วิธีที่ดีที่สุดในการทำสิ่งนี้ แต่มันจะเปิดพื้นที่เพื่อสร้างภาพเคลื่อนไหวที่น่าตื่นเต้นและน่ายินดีเพื่อสร้างแรงบันดาลใจให้คนอื่นเพื่อหาทางออกที่ดีกว่า
มันจะช่วยให้คุณใช้สไตล์การไล่ระดับสีบนข้อความซึ่งรองรับโดยแม้แต่ IE8!
ที่นี่คุณสามารถค้นหาการสาธิตสดที่ใช้งานได้และพื้นที่เก็บข้อมูลดั้งเดิมอยู่ที่นี่บน GitHub เช่นกันเปิดแหล่งที่มาและพร้อมรับการอัปเดต (: D)
นี่เป็นครั้งแรกของฉัน (ใช่หลังจาก 5 ปีคุณเคยได้ยินถูกต้อง) เพื่อพูดถึงที่เก็บนี้ทุกที่บนอินเทอร์เน็ตและฉันตื่นเต้นกับมัน!
[อัพเดท - 2019 สิงหาคม:] Github ลบการสาธิตgithub-pagesของที่เก็บนั้นเพราะฉันมาจากอิหร่าน! มีซอร์สโค้ดเฉพาะที่นี่เท่านั้น ...