Jasa SEO Profesional | LOGIQUE Digital Indonesia Jasa Seo Terlengkap

Hallo, selamat sore, pada kali ini kami akan menjelaskan tentang jasa seo terlengkap dan Jasa SEO Profesional | LOGIQUE Digital Indonesia simak selengkapnya 

Jasa Seo Profesional

Kami akan menjelaskan mengenai laporan lengkap ranking keyword-keyword website Anda di alat perkakas pelacak dalam Search Rank Report yang mendetail. Dengan membedah bertambah turunnya peringkat keyword, Anda dapat melancarkan improvisasi atau pembaruan keyword buat menjaga website Anda ajek berada di letak teratas di hasil pencarian.

#ANALYTICS REPOR
Kami hendak melepaskan insight lengkap tentang sarwa aktivitas traffic website Anda, seperti besaran traffic tamu ala keseluruhan website Anda saat ini, halaman website mana yang berisik dikunjungi, informasi demografis pengunjung, device yang membelokkan berlimpah digunakan buat mengunjungi halaman Anda, serta informasi lainnya yang dibutuhkan. Hal ini bertujuan biar Anda dapat mengidentifikasi gaya dengan peluang buat meningkatkan traffic lawatan ala website Anda.

#KONSULTASI SEO
Kami ada pakar SEO yang berpengalaman dengan ahli di bidangnya. Kami melepaskan fasilitas berupa analisa ala menyeluruh serta rekomendasi desain yang terbaik, seperti dalam pemilahan keyword, membongkar bounce rate, engat kontrol struktur desain dengan konten ala website, sehingga dapat meningkatkan conversion, dengan website Anda dapat berada di letak teratas ala hasil alat perkakas pencari.

#LAYANAN SEARCH CONSOLE
Search Console melambangkan tool pertama yang harus dimiliki setiap website. Kami dapat membantu Anda menginstal Search Console ala website Anda, sehingga Anda dapat membedah aktivitas tamu serta arah teknis yang website Anda perlukan bertimbal pedoman alat perkakas pencari. Misalnya catatan search query yang digunakan getah perca tamu buat merujuk ala website Anda, melihat website yang menautkan link mengarah website Anda, engat menemukan HTML error yang sedia ala website Anda. Tool ini juga hendak membantu Anda dalam melancarkan optimasi website serta menemukan keyword baru yang menurut alat perkakas pelacak relevan dengan website Anda saat Googlebot melancarkan crawling dengan indexing.

#WEB MAINTENANCE
LOGIQUE tidak sekadar menyediakan fasilitas SEO saja, namun juga menyediakan fasilitas pemeliharaan web atau Web Maintenance buat membantu mendukung kinerja dari aplikasi SEO itu sendiri, seperti melancarkan pengecekan dengan koreksi ala JavaScript, CSS, HTML, dengan lain-lain. Kami juga telah menggunakan sertifikat SSL yang mendukung aplikasi SEO ala website sehingga alat perkakas pelacak dapat dengan banter meningkatkan ranking website Anda di alat perkakas pelacak yang akhirnya membuat letak Anda mendapatkan traffic lawatan lebih

#PENULISAN & PENYESUAIAN KONTEN
Penulisan atau penyesuaian konten melambangkan fasilitas SEO maintenance kami lainnya. Pada fasilitas penulisan dengan penyesuaian konten ini, kami hendak membuat konten yang telah disesuaikan dengan kaidah-kaidah SEO berupa artikel atau landing page sehingga membantu meningkatkan traffic lawatan website Anda melalui sumber organic yang relevan dengan bisnis Anda. Kami mempunyai getah perca content writer ahli yang telah mempunyai berlimpah kemahiran di bidang penulisan artikel dengan konten bertimbal dengan kaidah-kaidah SEO menggunakan SEO Tools terbaik.

Meningkatkan SEO Dari Perspektif Web Development


SEO bukan sekadar tentang optimasi keyword, maksimalisasi query berantai yang dicari user, atau konten yang menarik. Ada berlimpah arah teknis yang bekerja di belakangnya, yang mendukung biar sebuah website dapat menduduki peringkat satu di halaman pertama hasil pencarian. Sebuah website dapat meraih letak tersebut tidak sekadar dengan konten yang baik, namun juga bagaimana website tersebut bisa seresponsif barangkali jika telah diakses visitor. Hal ini melambangkan cacat satu faktor yang memengaruhi ranking website Anda.

LOGIQUE, Web Developer Profesional di Bidang SEO


Kami akan membentuk website Anda lebih responsif, dinamis, loading cepat, user-friendly, dengan ada pengejawantahan yang fleksibel serta koheren di segala perangkat, terutama ala mobile dengan pabrikasi AMP. Pengaturan desain juga penting buat menarik sama banyaknya barangkali visitor yang cocok dengan bisnis Anda. Web Designer kami hendak memasang fitur desain, widget, style element, gambar, dengan teks yang menarik ala khusus buat target Anda. Fitur-fitur seperti ini acap kali tidak dapat Anda temukan di platform letak pengembang website efektif seperti Wordpress atau Joomla.

First page on search engine results

Apa Itu SEO White Hat? SEO White Hat adalah cacat satu desain atau teknik SEO yang bertimbal dengan regulasi yang ditetapkan akibat alat perkakas pencari.

Apa Perbedaan SEO White Hat dengan SEO Black Hat? SEO Black Hat adalah desain SEO yang bersebrangan dengan SEO White Hat. Strategi SEO ini tidak mengikuti regulasi yang telah ditetapkan akibat alat perkakas pencari.

Apakah Penting buat Memilih Perusahaan yang Mengimplementasikan SEO White Hat?


Sangat penting. Implementasi metode SEO yang dilarang, seperti SEO Black Hat, hendak membuat website Anda diblokir dari alat perkakas pencari, terutama Google.

Sebagai alat perkakas pelacak yang membelokkan populer, Google telah dikunjungi akibat milyaran pemakai setiap harinya. Situs Anda ada potensi besar buat mendapatkan traffic dengan pemakai baru dari kuantitas besaran lawatan tersebut.

Google melambangkan sumber traffic yang cukup berpengaruh ala letak Anda. Diblokir akibat Google dapat mengakibatkan depresiasi traffic justru bisnis Anda ala drastis. Selain itu, Google tidak melepaskan agunan bahwa letak Anda hendak mendapatkan peringkat balik setelah letak Anda diblokir.

Implementasi SEO White Hat melambangkan satu-satunya metode yang ramah alat perkakas pencari. Dengan optimasi yang tepat dengan terstruktur, kami dapat membantu Anda mempraktikkan SEO White Hat ala website Anda buat meraih letak teratas alat perkakas pencarian.

LOGIQUE siap membantu menerapkan SEO White Hat buat bisnis Anda!

LOGIQUE melepaskan Jasa Optimasi SEO Professional dalam 3 Bahasa
Salah satu misi LOGIQUE adalah melepaskan kontribusi akan perkembangan industri web dengan digital marketing di Indonesia. Untuk merealisasikannya, LOGIQUE selalu mempertahankan proses pelaksanaan yang cepat, tepat, dengan menyeluruh biar dapat melepaskan hasil yang maksimal atas praktik optimasi SEO kedalam 3 adab (Bahasa Indonesia, Inggris, dengan Jepang).

Selama bertahun-tahun, kami telah dipercaya akibat kongsi besar baik lokal atau internasional buat melepaskan fasilitas berkualitas tinggi. Kami juga bakir beradaptasi ala setiap alterasi global, dengan koheren dengan target dalam setiap prosesnya. Di era kesejagatan ini, kami menyadari betapa pentingnya adab internasional dalam menjangkau konsumen di luar negeri.

LOGIQUE adalah tim kompeten yang andal di bidangnya, terampil, dengan berpengalaman buat pelaksanaan SEO dalam adab internasional, ialah Inggris dengan Jepang.

Sebagai kongsi web developer dengan digital marketing di kaki (gunung) wirausahawan Jepang, LOGIQUE tumbuh di lingkungan multikultural, di mana setiap pegawai ada ide dengan wawasan berbeda yang membuat kongsi kami lebih kreatif dengan inovatif. Didukung akibat pegawai native Jepang, LOGIQUE ada kemahiran bisnis yang berlimpah dengan konsumen dari Jepang. Kami siap membantu Anda pelaksanaan SEO yang dapat memenuhi kebutuhan bisnis Anda dalam 3 adab besar ini.

LOGIQUE memiliki kemahiran luas dalam meningkatkan ranking website di berbagai bidang bisnis.

LOGIQUE'S WORKS

INDUSTRI PERBANKAN

Kami berjaya membantu mencapai target dengan desain dengan taktik SEO yang kami implementasikan buat cacat satu lembaga keuangan terbanyak di Indonesia yang melayani perkreditan. Kami bakir mendapatkan traffic ala website dari keyword yang telah ditargetkan, meningkatkan peringkat keyword, meluruskan peringkat website dengan melancarkan optimasi SEO On-Page, meningkatkan visibilitas keyword, dengan membedah bakat masalah yang berantai dengan SEO serta melancarkan optimasi beralaskan masalah dengan analisa mendalam. Dengan melancarkan hal tersebut, letak konsumen kami berjaya mendapatkan tamu sebanyak dua kali lipat dari sebelumnya.

INDUSTRI PERBANKAN

INDUSTRI OTOMOTIF

Dengan aplikasi desain digital marketing yang tepat, kami berjaya membantu sebanyak konsumen di bidang otomotif buat mendapatkan besaran tamu yang lebih berlimpah dari sebelumnya. Kami terus menganalisa gaya industri otomotif yang sedang terjadi, mengkonversi gaya tersebut ala satu keyword, dengan mencantumkan keyword terkait ala artikel dengan juga website. Kami juga melancarkan analisa dari desain SEO yang dilakukan akibat kompetitor dengan bersaing ala sehat.

INDUSTRI OTOMOTIF

INDUSTRI PARIWISATA

Berwisata saat ini adalah bisa ke mana saja dengan sekadar kaum langkah online. Itulah yang disadari akibat konsumen kami, dengan kami telah membantu mereka mendapatkan sama banyaknya barangkali klien melalui SEO, yaitu dengan membedah keyword populer yang dapat digunakan di website mereka buat meningkatkan traffic beralaskan ala setiap nilai kompetisi dengan rata-rata pencarian bulanan. Kami juga membedah teknis SEO letak web dengan melepaskan rekomendasi buat memperbaikinya. Dengan analisis, implementasi, dengan evaluasi rutin, desain kami telah pasti meningkatkan besaran booking/reservasi melantas melalui website dengan Biaya Akuisisi Pelanggan (CAC) yang rendah.

INDUSTRI PARIWISATA

INDUSTRI PROPERTI

Beberapa konsumen kami yang ada bisnis di bidang properti juga melihat dunia online digital sebagai potensi pasar terbanyak dari penjualan unit mereka. Dari alat perkakas pencari, mereka ingin biar letak properti mereka melantas kedapatan saat user membutuhkan. Dengan aplikasi desain SEO yang tepat, LOGIQUE berjaya membantu konsumen mencapai target mereka buat menemukan pembeli potensial dengan meningkatkan engagement dengan mereka. Kami terus melancarkan optimasi berangkat dari improvisasi keyword, meta tag, pemasangan schema, engat optimasi pengejawantahan website biar mobile friendly. Kami berjaya mendapatkan traffic organik yang adiluhung dengan konsumen kami cukup puas dengan besaran konversi yang dihasilkan.

Sekian detail mengenai Jasa SEO Profesional | LOGIQUE Digital Indonesia semoga artikel ini bermanfaat terima kasih Di kutip dari https://www.logique.co.id

Selengkapnya

Membuat Background Unik Sarang Lebah Di Web/Blog Dengan Css

Halo sobat blogger semua, untuk tutorial kali ini saya akan mencoba membuat background unik sarang lebah dan ini bisa sobat pasang di web atau blog. Ini pure Css dan penerapannya juga tidak sulit, sobat tinggal kopi paste saja kode sintak nya yang sudah saya berikan pada langkah-langkah dibawah.

Membuat Background Unik Sarang Lebah Di Web/Blog Dengan Css

Apa saja sih yang harus di persiapkan?

Untuk memulai tutorial ini, kita siapkan terlebih dahulu Css nya. Perhatikan contoh berikut ini:

Live Demo


* {
*   box-sizing: border-box;
*     padding: 0;
*       margin: 0;
*       }
*       body {
*         /* center in the viewport */
*           min-height: 100vh;
*             display: flex;
*               justify-content: center;
*                 align-items: center;
*                   /* pattern creating a beehive out of hexagon shapes */
*                     background: url('data:image/svg+xml;utf8,'),
*                         #ffe345;
*                         }
*                         /* size the svg to cover a sizeable portion of the viewport */
*                         body > svg {
*                           width: 80vmin;
*                             height: auto;
*                             }
*                             /* animation to rotate the bees around the center */
*                             .rotate {
*                               animation: rotate 5s infinite reverse cubic-bezier(0.25, 0.45, 0.75, 0.55); /* timing function slightly different than linear to give a bit of a nod to each step */
*                               }
*                               /* rotate the bees around the center in multiple steps, this to have the timing function affect each step */
*                               @keyframes rotate {
*                                 0% {
*                                     transform: rotate(0deg);
*                                       }
*                                         33% {
*                                             transform: rotate(120deg);
*                                               }
*                                                 67% {
*                                                     transform: rotate(240deg);
*                                                       }
*                                                         100% {
*                                                             transform: rotate(360deg);
*                                                               }
*                                                               }

Sobat kopi dan salin Css di atas. Jika menggunakan blog, tinggal taruh di atas tag </head>. Apabila sobat memakai hosting tinggal buat file style.css dan tempel di dalamnya lalu simpan. Untuk langkah selanjutnya yaitu, kita buat kerangka nya atau file Html. Coba perhatikan sintak dibawah:


&lt;svg viewBox=&quot;0 0 600 600&quot;&gt;
    &lt;defs&gt;
        &lt;symbol id=&quot;bee&quot; viewBox=&quot;0 0 170 100&quot;&gt;
            &lt;g transform=&quot;translate(5 5)&quot;&gt;
                &lt;path
                    d=&quot;M 0 45 a 45 45 0 0 1 45 -45 h 80 a 25 25 0 0 1 25 25 q -45 65 -105 65 a 45 45 0 0 1 -45 -45&quot;
                    fill=&quot;#ffcd12&quot;
                    stroke=&quot;#000&quot;
                    stroke-width=&quot;10&quot;
                    stroke-linecap=&quot;round&quot;
                    stroke-linecap=&quot;round&quot;&gt;
                &lt;/path&gt;
                &lt;path
                    d=&quot;M 5 45 a 40 40 0 0 0 45 40 q 60 0 105 -65 q -45 45 -105 60 a 50 50 0 0 1 -45 -40&quot;
                    fill=&quot;#c57a00&quot;
                    opacity=&quot;0.5&quot;&gt;
                &lt;/path&gt;
                &lt;path
                    d=&quot;M 5 45 a 40 40 0 0 1 40 -40 h 20 q -50 0 -60 40&quot;
                    fill=&quot;#fff&quot;&gt;
                &lt;/path&gt;
                &lt;path
                    d=&quot;M 60 2.5 a 82 82 0 0 1 0 82&quot;
                    fill=&quot;none&quot;
                    stroke=&quot;#000&quot;
                    stroke-width=&quot;15&quot;
                    stroke-linecap=&quot;round&quot;
                    stroke-linecap=&quot;round&quot;&gt;
                &lt;/path&gt;
                &lt;path
                    d=&quot;M 90 2.5 a 74 74 0 0 1 0 74&quot;
                    fill=&quot;none&quot;
                    stroke=&quot;#000&quot;
                    stroke-width=&quot;15&quot;
                    stroke-linecap=&quot;round&quot;
                    stroke-linecap=&quot;round&quot;&gt;
                &lt;/path&gt;
                &lt;path
                    d=&quot;M 70 0 h 60 a 30 30 0 0 1 0 60 q -30 0 -60 -60&quot;
                    fill=&quot;#fff&quot;
                    stroke=&quot;#000&quot;
                    stroke-width=&quot;10&quot;
                    stroke-linecap=&quot;round&quot;
                    stroke-linecap=&quot;round&quot;&gt;
                &lt;/path&gt;
                &lt;path
                    d=&quot;M 155 30 a 20 20 0 0 1 -20 20 q -30 0 -60 -45 q 25 45 60 55 a 20 20 0 0 0 20 -20&quot;
                    fill=&quot;#000&quot;
                    opacity=&quot;0.1&quot;&gt;
                &lt;/path&gt;
                &lt;circle
                    cx=&quot;38&quot;
                    cy=&quot;35&quot;
                    r=&quot;12&quot;
                    fill=&quot;#252222&quot;&gt;
                &lt;/circle&gt;
                &lt;circle
                    cx=&quot;40&quot;
                    cy=&quot;32&quot;
                    r=&quot;4&quot;
                    fill=&quot;#fff&quot;&gt;
                &lt;/circle&gt;
            &lt;/g&gt;
        &lt;/symbol&gt;
    &lt;/defs&gt;
    &lt;g transform=&quot;translate(300 300)&quot;&gt;
        &lt;g transform=&quot;rotate(0)&quot; class=&quot;rotate&quot;&gt;
            &lt;g transform=&quot;rotate(0)&quot;&gt;
                &lt;g transform=&quot;translate(0 -70)&quot; class=&quot;translate&quot;&gt;
                    &lt;use href=&quot;#bee&quot; width=&quot;170&quot; height=&quot;100&quot; transform=&quot;translate(-85 -50)&quot;&gt;&lt;/use&gt;
                &lt;/g&gt;
            &lt;/g&gt;
        &lt;/g&gt;
        &lt;g transform=&quot;rotate(0)&quot; class=&quot;rotate&quot;&gt;
            &lt;g transform=&quot;rotate(120)&quot;&gt;
                &lt;g transform=&quot;translate(0 -70)&quot; class=&quot;translate&quot;&gt;
                    &lt;use href=&quot;#bee&quot; width=&quot;170&quot; height=&quot;100&quot; transform=&quot;translate(-85 -50)&quot;&gt;&lt;/use&gt;
                &lt;/g&gt;
            &lt;/g&gt;
        &lt;/g&gt;
        &lt;g transform=&quot;rotate(0)&quot; class=&quot;rotate&quot;&gt;
            &lt;g transform=&quot;rotate(240)&quot;&gt;
                &lt;g transform=&quot;translate(0 -70)&quot; class=&quot;translate&quot;&gt;
                    &lt;use href=&quot;#bee&quot; width=&quot;170&quot; height=&quot;100&quot; transform=&quot;translate(-85 -50)&quot;&gt;&lt;/use&gt;
                &lt;/g&gt;
            &lt;/g&gt;
        &lt;/g&gt;
    &lt;/g&gt;
&lt;/svg&gt;                                                              

Sama seperti langkah pertama, tinggal kopi dan salin saja. Nah, jika sudah sobat tinggal lihat bagaimana hasilnya. Demikian sedikit pembahasan untuk hari ini semoga bermanfaat.

Selengkapnya

Cara Mudah Membuat Tombol Subscribe Di Website/Blog

Tertuju untuk Anda semua yang ingin membuat tombol notifikasi email di website / blog yang sedang Anda kelola, terutama bagi para pemula. Tentunya hal ini sangat diperlukan guna untuk keperluan masing-masing.

Cara Mudah Membuat Tombol Subscribe Di Website/Blog

Email kontak sangat berguna dikalangan blogger-blogger maupun website dan lain sebagainya. Ini bertujuan untuk membagikan atau memberikan sebuah notifikasi mengenai update terbaru melalui pesan email, khususnya untuk para calon pengikut website / blog Anda. Maka dari itu, tujuan utama dari tutorial kali ini adalah untuk sekedar sharing tentunya untuk Anda yang baru terjun kedalam dunia blogger atau website.

Tidak hanya berbentuk tombol saja, email notifikasi seperti ini sudah sangat banyak jenis-jenis tampilannya. Bisa berupa tombol, pop up, dan lainya. Untuk cara pembuatanya disini kita perlu 3 element yaitu: Css, Html, dan Javascript.

Live Demo

Sudah siap untuk membuatnya? Oke kita lanjut ke langkah-langkahnya. Pertama kita buat Css nya, seperti contoh berikut ini:



:root {
    --main-color: white;
    --accent-color: dodgerblue;
}

body,
#singular-form button,
.container>#singular-form>#input-container>input {
    font-size: 2rem;
        font-family: 'Montserrat', sans-serif;
            font-weight: bold;
        display: flex;
            justify-content: center;
                align-items: center;
                    margin: 0;
            }
.container {
    width: 19rem;
        height: 5rem;
            padding: 10px;
                background-color: var(--main-color);
                    text-align: center;
                        border-radius: 3rem;
                            overflow: hidden;
                                transition: width .4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
                                }
.container>#singular-form {
    position: relative;
        width: 100%;
            height: 100%;
                background-color: --main-color;
                }
.container>#singular-form button {
    width: 9rem;
        padding: 0;
            border: none;
                outline: none;
                    border-radius: 3rem;
                        cursor: pointer;
                        }
.container>#singular-form>button#trigger {
    padding: 0;
        width: 100%;
        margin-right: auto;
        margin-left: auto;
            color: var(--accent-color);
                background-color: var(--main-color);
                    z-index: 3;box-shadow:0 1px 3px rgba(0,0,0,.12), 0 1px 2px rgba(0,0,0,.24);
                    }
.container>#singular-form>#input-container {
    z-index: 2;
    }
.container>#singular-form>#input-container>input {
    display: inline-block;
        height: 100%;
            width: 100%;
                background-color: var(--main-color);
                    box-sizing: border-box;
                        border: none;
                            outline: none;
                                padding: 0 26% 0 3%;
                                    opacity: 0;
                                        transform: scale(0);
                                            transition: all .4s ease .4s;
                                            }
.container>#singular-form>#input-container>button {
    position: absolute;
        top: 0;
            right: 0;
                height: 100%;
                    background-color: var(--accent-color);
                        color: var(--main-color);
                            opacity: 0;
                                transform: scale(0);
                                    transition: all .4s ease .4s;
                                    }
.container>#singular-form>#success {
    display: flex;
        justify-content: center;
            align-items: center;
                color: var(--accent-color);
                    font-weight: bold;
                        z-index: 1;
                        }
.container>#singular-form>button#trigger,
.container>#singular-form>#input-container,
.container>#singular-form>#success {
    position: absolute;
        top: 0;
            right: 0;
                bottom: 0;
                    left: 0;
                        transform: scale(0);
                            opacity: 0;
                            }
.container>#singular-form>button#trigger {
    transition: all .4s ease;
    }
.container>#singular-form>#input-container {
    transform: scale(1);
        opacity: 1;
            transition: all .4s ease .4s;
            }
.container>#singular-form>#success {
    transition: all .2s ease .4s;
    }
.container>#singular-form>button#trigger.shown,
.container>#singular-form>#input-container.shown,
.container>#singular-form>#success.shown,
.container>#singular-form>#input-container>button.shown,
.container>#singular-form>#input-container>input.shown {
    transform: scale(1);
        opacity: 1;
        }

Apa langkah selanjutnya? Langsung saja Anda kopi sintak diatas lalu pastekan kedalam file Css website/blog Anda. Langkah kedua yaitu, kita buat sebuah Javascript nya.



const sf = {};

sf.container = document.querySelector('.container');
sf.form = document.querySelector('.container > #singular-form');
sf.trigger = document.querySelector('.container > #singular-form > button#trigger');
sf.input = document.querySelector('.container>#singular-form>#input-container>input');
sf.submitButton = document.querySelector('.container > #singular-form > #input-container > button');
sf.successMessage = document.querySelector('.container > #singular-form > #success');

sf.submitDelay = 1500;

sf.clickHandler = (e) => {
    switch (e.target) {
            case sf.trigger:
                        console.log('case trigger');
                                    sf.container.style.width = '37rem'
                                                e.target.classList.remove('shown');
                                                            sf.input.classList.add('shown');
                                                                        sf.submitButton.classList.add('shown');
                                                                                    sf.input.focus();
                                                                                                break;
                                                                                                        case sf.submitButton:
                                                                                                                    sf.submitForm();
                                                                                                                                break;
                                                                                                                                    }
                                                                                                                                    }
sf.handleInputKeypress = (e) => {
    if (e.keyCode === 13) {
            e.preventDefault();
                    sf.submitForm();
                        }
                        }
sf.submitForm = () => {
    sf.input.style.transition = 'all .4s ease';
        sf.submitButton.style.transition = 'all .4s ease';
            sf.input.classList.remove('shown');
                sf.submitButton.classList.remove('shown');
                    sf.container.style.transition = 'all .4s cubic-bezier(0.47, 0.47, 0.27, 1.20) .4s';
                        sf.container.style.width = '';
                            sf.successMessage.classList.add('shown');
                                let submission = setTimeout(() => sf.form.submit(), sf.submitDelay);
                                }
sf.input.addEventListener('keypress', (e) => sf.handleInputKeypress(e));
document.addEventListener('click', (e) => sf.clickHandler(e));

Kopi lagi lalu pastekan kedalam file Javascript Anda. Jika sudah, kita menuju langkah terakhir yaitu Html.


<div class="container">

        <form id="singular-form" action="https://feedburner.google.com/fb/a/mailverify?uri=google" class="subscribe" method="post" onsubmit="window.open(&apos;https://feedburner.google.com/fb/a/mailverify?uri=google, &apos;popupwindow&apos;, &apos;scrollbars=yes,width=550,height=520&apos;);return true" target="popupwindow">
        <input name="uri" type="hidden" value="google"/>
        <input name="loc" type="hidden" value="en_US"/>
            <button class="shown" type="button" id="trigger">Notify me</button>
            <div id="input-container">
                            <input type="text" placeholder="E-mail">
                                            <button type="button">Send</button>
                                                        </div>
            <div id="success">Thank you!</div>
        </form>
    </div>

Untuk contoh Html diatas berlaku untuk blogger. Sedangkan untuk web bisa Anda ubah dibagian <form> nya. Misalkan: <form action="emailnotif.html"> sampai akhir.

Sampai disini kita sudah selesai membuatnya. Untuk berjalan atau tidak, Anda bisa lihat sendiri seperti apa hasilnya. Dan jangan lupa bagikan tutorial ini jika menurut Anda ini bermanfaat.

Mungkin kurang lebihnya seperti itulah pembahasan hari ini, semoga bisa membantu.

Selengkapnya

Tutorial Cara Membuat Animasi Loading Keren Menggunakan Html Dan Css

Oke, pada kesempatan kali ini kami akan kembali membagikan sebuah tutorial animasi loading keren. Ini cukup bagus jika digunakan pada web atau blog Anda, ringan dan ini tidak akan menghambat waktu laju pemuatan halaman Anda nantinya.

Tutorial cara membuat animasi loading keren menggunakan html dan css

Sebelumnya ini sudah saya coba dan hasilnya pun berjalan (work). Animasi ini hanya menggunakan Html dan Css saja sebagai bahannya. Pada postingan lalu kami juga telah membagikan cara membuat animasi css bergerak dengan animation iteration count.

Bagi Anda yang penasaran dan ingin mencobanya, bisa langsung saja kopi paste kode-kodenya dibawah.

Live Demo

Untuk langkah pertama mari kita buat Html nya seperti ini:


<div class='wrapper'>
  <div></div>
</div>
<div class='wrapper'>
  <div></div>
</div>
<div class='wrapper'>
  <div></div>
</div>
<div class='wrapper'>
  <div></div>
</div>
<div class='wrapper'>
  <div></div>
</div>

Jika sudah, lanjut ketahap selanjutnya yaitu buat Css nya, dan kodenya seperti dibawah ini:


  * {
    box-sizing: border-box;
  }

  html,
  body {
    align-items: center;
    background: linear-gradient(45deg, #d91e18, #9a12b3);
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 100vh;
    padding: 0;
    width: 100vw;
  }

  .wrapper {
    position: absolute;
  }

  .wrapper:nth-of-type(2)>div {
    height: 40px;
    width: 40px;
    opacity: 0.8;
  }

  .wrapper:nth-of-type(3)>div {
    height: 30px;
    width: 30px;
    opacity: 0.6;
  }

  .wrapper:nth-of-type(4)>div {
    height: 20px;
    width: 20px;
    opacity: 0.4;
  }

  .wrapper:nth-of-type(5)>div {
    height: 10px;
    width: 10px;
    opacity: 0.2;
  }

  div>div {
    background: #fff;
    border-radius: 100%;
    height: 50px;
    margin: 40px;
    width: 50px;
  }
.wrapper {
  -webkit-animation: x 1s ease-in-out alternate infinite 0s both;
          animation: x 1s ease-in-out alternate infinite 0s both;
}

.wrapper > div {
  -webkit-animation: y 1s linear infinite 0s both;
          animation: y 1s linear infinite 0s both;
}

.wrapper:nth-of-type(2),
.wrapper:nth-of-type(2) > div {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
.wrapper:nth-of-type(3),
.wrapper:nth-of-type(3) > div {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.wrapper:nth-of-type(4),
.wrapper:nth-of-type(4) > div {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.wrapper:nth-of-type(5),
.wrapper:nth-of-type(5) > div {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}


@-webkit-keyframes x {
  0% {
            -webkit-transform: translate(-100px, 0);
                    transform: translate(-100px, 0);
  }
  100% {
            -webkit-transform: translate(100px, 0);
                    transform: translate(100px, 0)
  }
}

@keyframes x {
  0% {
            -webkit-transform: translate(-100px, 0);
                    transform: translate(-100px, 0);
  }
  100% {
            -webkit-transform: translate(100px, 0);
                    transform: translate(100px, 0)
  }
}


@-webkit-keyframes y {
  25% {
    -webkit-transform: translate(0, -50px);
            transform: translate(0, -50px);
  }
  0%, 50%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  75% {
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }

}


@keyframes y {
  25% {
    -webkit-transform: translate(0, -50px);
            transform: translate(0, -50px);
  }
  0%, 50%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  75% {
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }

}

Simpan kedua file tersebut dan jika digabungkan hasilnya akan seperti ini:


  * {
    box-sizing: border-box;
  }

  html,
  body {
    align-items: center;
    background: linear-gradient(45deg, #d91e18, #9a12b3);
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 100vh;
    padding: 0;
    width: 100vw;
  }

  .wrapper {
    position: absolute;
  }

  .wrapper:nth-of-type(2)>div {
    height: 40px;
    width: 40px;
    opacity: 0.8;
  }

  .wrapper:nth-of-type(3)>div {
    height: 30px;
    width: 30px;
    opacity: 0.6;
  }

  .wrapper:nth-of-type(4)>div {
    height: 20px;
    width: 20px;
    opacity: 0.4;
  }

  .wrapper:nth-of-type(5)>div {
    height: 10px;
    width: 10px;
    opacity: 0.2;
  }

  div>div {
    background: #fff;
    border-radius: 100%;
    height: 50px;
    margin: 40px;
    width: 50px;
  }
.wrapper {
  -webkit-animation: x 1s ease-in-out alternate infinite 0s both;
          animation: x 1s ease-in-out alternate infinite 0s both;
}

.wrapper > div {
  -webkit-animation: y 1s linear infinite 0s both;
          animation: y 1s linear infinite 0s both;
}

.wrapper:nth-of-type(2),
.wrapper:nth-of-type(2) > div {
  -webkit-animation-delay: 0.1s;
          animation-delay: 0.1s;
}
.wrapper:nth-of-type(3),
.wrapper:nth-of-type(3) > div {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.wrapper:nth-of-type(4),
.wrapper:nth-of-type(4) > div {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.wrapper:nth-of-type(5),
.wrapper:nth-of-type(5) > div {
  -webkit-animation-delay: 0.4s;
          animation-delay: 0.4s;
}


@-webkit-keyframes x {
  0% {
            -webkit-transform: translate(-100px, 0);
                    transform: translate(-100px, 0);
  }
  100% {
            -webkit-transform: translate(100px, 0);
                    transform: translate(100px, 0)
  }
}

@keyframes x {
  0% {
            -webkit-transform: translate(-100px, 0);
                    transform: translate(-100px, 0);
  }
  100% {
            -webkit-transform: translate(100px, 0);
                    transform: translate(100px, 0)
  }
}


@-webkit-keyframes y {
  25% {
    -webkit-transform: translate(0, -50px);
            transform: translate(0, -50px);
  }
  0%, 50%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  75% {
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }

}


@keyframes y {
  25% {
    -webkit-transform: translate(0, -50px);
            transform: translate(0, -50px);
  }
  0%, 50%, 100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  75% {
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }

}
<div class='wrapper'>
  <div></div>
</div>
<div class='wrapper'>
  <div></div>
</div>
<div class='wrapper'>
  <div></div>
</div>
<div class='wrapper'>
  <div></div>
</div>
<div class='wrapper'>
  <div></div>
</div>

Langkah terakhir adalah, kunjungi melalui browser masing-masing dan lihat bagaimana hasilnya.

Selengkapnya

Cara Mudah Membuat Garis Tepi / Garis Besar Dengan Css Outline-Style

Apa itu garis tepi? Garis Tepi adalah garis yang terletak di bagian tepi pet dan ujung-ujung tiap garis akan bertemu dengan ujung garis yang berdekatan. Biasanya garis ini dibuat rangkap dua dan tebal.

Cara Mudah Membuat Garis Tepi / Garis Besar Dengan Css Outline-Style

Nah, sedangkan Outline adalah kerangka, regangan atau garis besar. Jadi outline merupakan rencana penulisan yang memuat garis besar dari suatu karangan yang akan digarap dan merupakan rangkaian ide-ide yang disusun secara sistematis.

Ini sama hal nya dengan tutorial yang akan saya bahas pada hari ini yaitu, membuat garis tepi / garis besar di Css dengan menggunakan Outline-Style. Bagaimana cara membuatnya? Sama seperti kita membuat sebuah border pada umumnya, bahkan hampir mirip.

Untuk cara dan langkah-langkah jelasnya, bisa Anda perhatikan dibawah.
Disini saya akan bagi menjadi beberapa bagian, agar bisa dimengerti dan terlihat mudah.

1. Outline Auto

#Css

.outline-auto {
 background-color: aliceblue;
   outline: 50px auto lavender;
     }

#Html

<div class="outline-box outline-auto"></div>
     <code>outline-style: auto</code>
           </div>

outline auto

2. Outline Double

#Css

.outline-double {
 background-color: thistle;
   outline: 14px double white;
      outline-offset: -20px;
         }

#Html

<div class="outline-box outline-double"></div>
           <code>outline-style: double</code>
                       </div>

outline double

3. Outline Dotted-1

#Css

.outline-dotted-1 {
 background-color: mistyrose;
   outline: 24px dotted white;
      outline-offset: -12px;
         }

#Html

<div class="outline-box outline-dotted-1"></div>
                 <code>outline-style: dotted</code>
                                   </div>

outline dotted

4. Outline Dotted-2

#Css

.outline-dotted-2 {
 background-color: lightgoldenrodyellow;
   outline: 40px dotted white;
      outline-offset: -18px;
         }

#Html

<div class="outline-box outline-dotted-2"></div>
                       <code>outline-style: dotted</code>
                                               </div>

outline dotted

5. Outline Groove

#Css

.outline-groove {
 background-color: antiquewhite;
   outline: 14px groove burlywood;
      outline-offset: -15px;
         }

#Html

<div class="outline-box outline-groove"></div>
                             <code>outline-style: groove</code>
                                                           </div>

outline groove

6. Outline Dashed

#Css

.outline-dashed {
 background-color: rosybrown;
   outline: 22px dashed white;
      outline-offset: -12px;
         }

#Html

<div class="outline-box outline-dashed"></div>
                                   <code>outline-style: dashed</code>
                                                                       </div>

outline dashed

7. Outline Ridge

#Css

.outline-ridge {
 background-color: azure;
   outline: 14px ridge lightblue;
      outline-offset: -14px;
         }

#Html

<div class="outline-box outline-ridge"></div>
                                         <code>outline-style: ridge</code>
                                                                                   </div>

outline ridge

8. Outline Outset

#Css

.outline-outset {
 background-color: floralwhite;
   outline: 24px outset pink;
      outline-offset: -24px;
         }

#Html

<div class="outline-box outline-outset"></div>
                                               <code>outline-style: outset</code>
                                                                                               </div>

outline outset

9. Outline inset

#Css

.outline-inset {
 background-color: bisque;
   outline: 24px inset sandybrown;
      outline-offset: -24px;
         }

#Html

<div class="outline-box outline-inset"></div>
                                                     <code>outline-style: inset</code>
                                                                                                           </div>

outline inset

Untuk kode keseluruhannya bisa dilihat berikut ini:
#Css

.outline-auto {
 background-color: aliceblue;
   outline: 50px auto lavender;
     }
     .outline-double {
      background-color: thistle;
        outline: 14px double white;
           outline-offset: -20px;
              }
              .outline-dotted-1 {
               background-color: mistyrose;
                 outline: 24px dotted white;
                    outline-offset: -12px;
                       }
                       .outline-dotted-2 {
                        background-color: lightgoldenrodyellow;
                          outline: 40px dotted white;
                             outline-offset: -18px;
                                }
                                .outline-groove {
                                 background-color: antiquewhite;
                                   outline: 14px groove burlywood;
                                      outline-offset: -15px;
                                         }
                                         .outline-dashed {
                                          background-color: rosybrown;
                                            outline: 22px dashed white;
                                               outline-offset: -12px;
                                                  }
                                                  .outline-ridge {
                                                   background-color: azure;
                                                     outline: 14px ridge lightblue;
                                                        outline-offset: -14px;
                                                           }
                                                           .outline-outset {
                                                            background-color: floralwhite;
                                                              outline: 24px outset pink;
                                                                 outline-offset: -24px;
                                                                    }
                                                                    .outline-inset {
                                                                     background-color: bisque;
                                                                       outline: 24px inset sandybrown;
                                                                          outline-offset: -24px;
                                                                             }
                                                                             /* presentation styles*/
                                                                             main {
                                                                              display: grid;
                                                                                height: 100%;
                                                                                   grid-template-rows: auto 1fr auto;
                                                                                       grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
                                                                                            text-align: center;
                                                                                                 }
                                                                                                      .card {
                                                                                                            margin-bottom: 50px;
                                                                                                                  }
                                                                                                                        .outline-box {
                                                                                                                               margin: 40px auto;
                                                                                                                                       width: 180px;
                                                                                                                                                height: 180px;
                                                                                                                                                         }
                                                                                                                                                                  code {
                                                                                                                                                                            background-color: #dedede;
                                                                                                                                                                                       padding: 4px 6px;
                                                                                                                                                                                                   border-radius: 3px;
                                                                                                                                                                                                               }

#Html

<main>
 <div class="card">
   <div class="outline-box outline-auto"></div>
     <code>outline-style: auto</code>
      </div>
       <div class="card">
         <div class="outline-box outline-double"></div>
           <code>outline-style: double</code>
            </div>
             <div class="card">
               <div class="outline-box outline-dotted-1"></div>
                 <code>outline-style: dotted</code>
                  </div>
                   <div class="card">
                     <div class="outline-box outline-dotted-2"></div>
                       <code>outline-style: dotted</code>
                        </div>
                         <div class="card">
                           <div class="outline-box outline-groove"></div>
                             <code>outline-style: groove</code>
                              </div>
                               <div class="card">
                                 <div class="outline-box outline-dashed"></div>
                                   <code>outline-style: dashed</code>
                                    </div>
                                     <div class="card">
                                       <div class="outline-box outline-ridge"></div>
                                         <code>outline-style: ridge</code>
                                          </div>
                                           <div class="card">
                                             <div class="outline-box outline-outset"></div>
                                               <code>outline-style: outset</code>
                                                </div>
                                                 <div class="card">
                                                   <div class="outline-box outline-inset"></div>
                                                     <code>outline-style: inset</code>
                                                      </div>
                                                       </main>

Selengkapnya

7 Tips Desain Website Keren Untuk Pemasaran Digital Anda

Sekarang ada banyak konten-konten yang menarik di internet. Merek-merek, baik besar maupun kecil, saling berdesak-desakan untuk mendapatkan ruang dan menjangkau audiens mereka, selalu berinovasi dan menciptakan lebih banyak konten dalam upaya untuk tetap menjadi perhatian utama bagi pengguna internet.

7 Tips Desain Website Keren Untuk Pemasaran Digital Anda

Apa yang pemasar harus sadari adalah kenyataan bahwa pemasaran digital adalah tentang kualitas, bukan konten. Untuk membuat konten Anda menjadi berkualitas, menonjol dan menarik untuk calon pelanggan, Anda perlu mengikuti beberapa aturan sederhana. Dan disini saya akan coba memberikannya kepada Anda, tujuh tips desain website yang Anda butuhkan yang akan meningkatkan pemasaran digital Anda tanpa perlu terlalu banyak upaya dari pihak pemasar dan desainer.

1. Palet Warna Minimalis

Menerapkan berbagai warna atau banyak warna ke visual Anda adalah cara terbaik untuk ke depannya. Tapi itu tidak lagi menjadi sebuah alternative untuk desain ini. Untuk pemasar, baik yang berpengalaman maupun yang baru, melihat melalui panduan tentang warna merek akan membuatnya terlihat jelas bahwa warna harus dipilih dengan cermat.

Selain itu, tren terbaru adalah menggunakan blok warna tunggal dalam citra digital. Blok warna tidak hanya terlihat menarik, tetapi membuat konten visual Anda menonjol di umpan sosial. Dengan sebagian besar pemasaran digital masih diliputi oleh foto, menggunakan gambar dengan satu warna solid memiliki peluang besar untuk diperhatikan dalam sebuah feed.

Contoh di bawah ini menunjukkan foto dengan rona warna solid. Kombinasi tersebut membuat perpesanan menonjol dan meningkatkan dampak gambar itu sendiri.

stmseo

Penggunaan warna secara kreatif dapat meningkatkan pemasaran digital Anda dan membuat konten Anda menonjol dalam lanskap pemasaran digital.

2. Kontras Tinggi

Tips desain lain untuk menggunakan warna agar konten Anda segera dikenali adalah menggunakan warna yang kontras. Ini adalah cara yang bagus untuk menarik perhatian audiens, karena sebagian besar platform media sosial memiliki latar belakang putih atau hitam yang solid. Semburan warna akan segera menarik perhatian. Plus, kontras warna juga merupakan cara yang bagus untuk menyoroti informasi yang Anda ingin orang perhatikan terlebih dahulu.

Contoh postingan Facebook ini memanfaatkan latar belakang pink paling kontras dengan warna-warna bersahaja dari foto di samping. Perhatikan bagaimana warna juga membuat teks lebih menonjol.

seo sem

Dengan menggunakan warna yang kontras, visual yang Anda gunakan dalam pemasaran digital Anda akan langsung dikenali dan dengan demikian akan meningkatkan keterlibatan yang sudah Anda buat.

3. Teks Tebal

Dengan munculnya Instagram, orang akan berharap teks menjadi kurang fokus dalam pemasaran digital. Tetapi sebaliknya, cara-cara kreatif menggunakan teks dalam visual inilah yang dapat membuat dampak besar pada keterlibatan konten Anda.

Meskipun begitu, untuk memasukkan sebagian besar pesan Anda ke dalam visual Anda, penggunaan teks yang minimal adalah cara yang harus dilakukan dalam lanskap pemasaran saat ini. Anda tidak perlu memadatkan visual Anda karena hal itu akan menyebabkan audiens Anda kehilangan pesan sepenuhnya. Simpan teks di minimum ketika Anda menggunakannya pada posting media sosial atau ketika Anda membangun header blog.

Contoh visual di bawah ini menunjukkan bagaimana Anda dapat membuat teks Anda menonjol dalam desain. Dengan warna yang minimal, dan teks besar akan memfokuskan pesan dalam postingan.

seo jpg

Anda juga harus memastikan bahwa teks tersebut besar dan dapat dibaca, sehingga dapat dilihat dengan mudah. Pilihan tipografi Anda dapat berdampak signifikan pada pesan Anda, sesuatu yang perlu Anda perhatikan ketika memilih font merek dan membuat konten visual.

Dengan penggunaan teks yang benar pada visual, Anda akan dapat membuat dampak yang lebih besar pada audiens Anda dan meningkatkan keterlibatan pemasaran digital Anda.

4. Membuat Bingkai Belakang

Media sosial dulu memiliki sistem pembingkaian untuk visualnya — subjek gambar Anda biasanya ada di tengah, dengan semua konten yang terkandung dengan rapi di dalam gambar.

Penggunaan ruang yang kacau menjadi jauh lebih menarik, dengan visual off-center dan grid rusak pilihan yang disukai. Untuk pemasar, penggunaan tata letak yang bervariasi juga menjamin lebih banyak pemaparan kepada audiens — sementara sebagian besar masih menggunakan citra berbingkai, dengan begitu visual asimetris Anda akan mendapatkan lebih banyak perhatian.

Contoh di bawah ini diputar cepat dan longgar dengan bingkai persegi Instagram, yang segera membuatnya menonjol dalam umpan media sosial.

seo tips

Penghapusan pembingkaian terstandarisasi memungkinkan kreativitas yang lebih besar di pihak desainer dan memastikan bahwa audiens melihat visual Anda ketika mereka menemukannya di timeline mereka.

5. Branding Fleksibel

Membuat logo yang menarik untuk merek Anda adalah suatu hal yang harus Anda kerjakan untuk menentukan desain Anda. Bukankah itu sepenuhnya meniadakan titik pembuatan logo di tempat pertama? Tidak di pasar digital saat ini. Branding Anda harus fleksibel untuk diselaraskan dengan berbagai kesempatan — seperti logo pelangi untuk Pride — tetapi tetap dikenali sebagai merek Anda.

Selain itu, Anda juga perlu memikirkan ukuran logo Anda, karena akan terlihat berbeda pada platform yang berbeda. Logo Anda harus cukup fleksibel agar pas dengan thumbnail gambar profil sosial, agar tetap terlihat oleh audiens.

Logo Anda mungkin telah menjadi bagian dari citra perusahaan Anda selama bertahun-tahun, tetapi sekarang saatnya untuk melihat bagaimana menyesuaikannya dengan keadaan yang berubah.

6. Konsisten

Menurut statistik merek terbaru, konsumen perlu berinteraksi dengan merek Anda 5-7 kali sebelum mereka menyadarinya. Itu berarti bahwa semua 5-7 kali, branding Anda harus jelas dan terlihat.

Konsisten dan sekreatif mungkin dengan visual Anda adalah kunci untuk membuat konten yang berkesan, jika Anda tidak menggunakan branding dengan cara atau bentuk apa pun pada semua upaya pemasaran digital Anda, seluruh latihan akan menjadi berantakan dan sia-sia.

7. Gunakan Template

Salah satu cara utama untuk membuat konten yang konsisten namun fleksibel adalah dengan menggunakan template media sosial. Sebagian besar alat online memiliki beberapa opsi yang dapat disesuaikan dan memberi Anda akses ke ikon, ilustrasi, dan palet warna yang memperkaya pemasaran visual Anda. Anda juga dapat mendesain kit merek Anda sendiri pada alat-alat ini sehingga branding Anda secara konsisten muncul di semua visual Anda, seperti yang Anda lihat dari posting di bawah ini.

trik seo

Kesimpulannya:
Kreativitas dan konsistensi sekarang menjadi aspek terpenting dari pemasaran visual. Dengan tujuh tips desain sederhana ini akan membantu konten visual Anda menjadi lebih terlihat, dan meningkatkan pemasaran digital Anda.

Demikianlah pembahasan kali ini, 7 Tips Desain Website Keren Untuk Pemasaran Digital Anda. Semoga bermanfaat dan menginspirasi Anda semua.

Selengkapnya

Panduan Cara Membuat Animasi Css Bergerak Dengan Animation Iteration Count Part #1

Halo para blogger mania, selamat beraktivitas. Bagaimana kabar Anda semua, apakah sehat selalu? Mudah-mudahan semuanya sehat selalu dan berada dalam lindungan-NYA, Amin.

Panduan Cara Membuat Animasi Css Bergerak Dengan Animation Iteration Count

Kabar gembira untuk Anda semua para pecinta animasi Css. Khususnya pada tutorial kali ini, saya akan sedikit memberikan panduan bagaimana cara membuat animasi Css dengan jumlah iterasi atau bisa disebut juga "Animation Iteration Count". Tetapi animasi ini hanya dapat berjalan sekali dikarenakan tidak adanya animasi iterasi didalamnya. Nah, lalu Bagaimana jika kita ingin animasi ini berjalan berkali-kali atau bahkan tidak berhenti? Dalam hal memuat animasi, kita mungkin menginginkan animasi menjadi tak terbatas. Maka dari itu, disinilah animasi-iterasi-hitung berperan.

Mungkin kita langsung saja untuk cara dan langkah-langkah pembuatannya, bisa Anda lihat dibawah.

Yang pertama, perhatikan jika kita ingin animasi berjalan dengan jumlah iterasi sebanyak 5 kali, maka kita harus menambahkan iteration countnya, seperti contoh dibawah.


div {
   animation-name: spin;
   animation-duration: 2s;
   animation-iteration-count: 5s;
}

Untuk animation-iteration-count juga dapat berjalan tanpa batasan waktu, seperti berikut ini.


div {
   animation-name: spin;
   animation-duration: 2s;
   animation-iteration-count: infinite;
}

Jika Anda sudah mengerti, mari kita coba buat animasi ini menjadi berjalan berkali-kali atau tanpa berhenti. Seperti penampakan berikut ini:


div {
  -webkit-animation-name: spin;
          animation-name: spin;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
}

@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

Jika sudah, kita lanjut ke langkah berikutnya.


<style>
  * {
    box-sizing: border-box;
  }
  html, body {
    align-items: center;
    background: linear-gradient(45deg, rebeccapurple, dodgerblue);
    display: flex;
    justify-content: center;
    margin: 0;
    min-height: 100vh;
    padding: 0;
    width: 100vw;
  }
  div {
    background-color: #2eec71;
    height: 100px;
    width: 100px;
  }
</style>
<div></div>

Untuk style Css nya, bisa Anda ubah sesuai keinginan masing-masing. Ubah dibagian background-color dan body.

Sampai disini, dapat dipastikan bahwa kita sudah selesai membuatnya. Untuk menjalankanya, Anda coba akses dengan browser masing-masing dan lihat bagaimana hasilnya.

Itulah Panduan Cara membuat Animasi Css Bergerak Dengan Animation Iteration Count Part #1. Mudah-mudahan artikel ini bermanfaat, Terimakasih.

Selengkapnya

Cara Membuat Visualisasi Animasi Kanvas Abstrak Untuk Keperluan Desain Website/Blog

Selamat datang kembali diblog saya, silahkan duduk dengan tenang dan santai, sambil menyimak pembahasan hari ini yaitu tentang membuat visualisasi animasi abstrak. Animasi ini lumayan bagus kalau menurut saya, untuk keperluan desain website/blog Anda.

Cara Membuat Visualisasi Animasi Kanvas Abstrak Untuk Keperluan Desain Website Atau Blog Anda

Jika Anda bertanya apa itu visualisasi?
Maka saya akan menjawab, Visualisasi yang dimaksud adalah sebuah rekayasa dalam pembuatan gambar, diagram atau animasi untuk penampilan suatu informasi. Secara umum, visualisasi dalam bentuk gambar baik yang bersifat abstrak maupun nyata telah dikenal sejak awal dari peradaban manusia. Contoh dari hal ini meliputi lukisan di dinding-dinding gua dari manusia purba, bentuk huruf hiroglip Mesir, sistem geometri Yunani, dan teknik pelukisan dari Leonardo da Vinci untuk tujuan rekayasa dan ilmiah.

Pada saat ini visualisasi telah berkembang dan banyak dipakai untuk keperluan ilmu pengetahuan, rekayasa, visualisasi disain produk, pendidikan, multimedia interaktif, kedokteran, dll. Pemakaian dari grafika komputer merupakan perkembangan penting dalam dunia visualisasi, setelah ditemukannya teknik garis perspektif pada zaman Renaissance. Perkembangan bidang animasi juga telah membantu banyak dalam bidang visualisasi yang lebih kompleks dan canggih.

Oke, mungkin kita langsung saja. Untuk membuatnya Anda hanya perlu menyimaknya baik-baik dan apa saja yang harus dipersiapkan untuk memulai langkah-langkahnya.

Yang pertama kita buat terlebih dahulu adalah Css nya, silahkan perhatikan dibawah ini:


body {

  background: #2D314D;

  overflow: hidden;

}

canvas {

  display: block; 

  left: 50%;

  margin: -200px 0 0 -200px;

  position: absolute;

  top: 50%;

}

Jika sudah, langsung saja Anda simpan. Selanjutnya buat file Html nya.


<canvas id="canvas" width="400" height="400"></canvas>

Dan langkah berikutnya yaitu, kita buat Javascript nya.


/*=============================================================================*/ 

/* Smooth Trail

/*=============================================================================*/

var smoothTrail = function(c, cw, ch){

  

/*=============================================================================*/ 

/* Initialize

/*=============================================================================*/

  this.init = function(){

    this.loop();

  };  

  

  /*=============================================================================*/ 

  /* Variables

/*=============================================================================*/

  var _this = this;

  this.c = c;

  this.ctx = c.getContext('2d');

  this.cw = cw;

  this.ch = ch;

  this.mx = 0;

  this.my = 0;

  

  //trail

  this.trail = [];

  this.maxTrail = 200;

  this.mouseDown = false;

  

  this.ctx.lineWidth = .1;

  this.ctx.lineJoin = 'round';

  

  this.radius = 1;

  this.speed = 0.4;

  this.angle = 0;

  this.arcx = 0;

  this.arcy = 0;

  this.growRadius = true;

  this.seconds = 0;

  this.milliseconds = 0;

  

  /*=============================================================================*/ 

  /* Utility Functions

/*=============================================================================*/    

  this.rand = function(rMi, rMa){return ~~((Math.random()*(rMa-rMi+1))+rMi);};

  this.hitTest = function(x1, y1, w1, h1, x2, y2, w2, h2){return !(x1 + w1 < x2 || x2 + w2 < x1 || y1 + h1 < y2 || y2 + h2 < y1);};

  

  /*=============================================================================*/ 

  /* Create Point

/*=============================================================================*/

  this.createPoint = function(x, y){     

    this.trail.push({

      x: x,

      y: y      

    });

  };

  

  /*=============================================================================*/ 

  /* Update Trail

/*=============================================================================*/

  this.updateTrail = function(){     

    

    if(this.trail.length < this.maxTrail){

      this.createPoint(this.arcx, this.arcy);

    }     

    

    if(this.trail.length >= this.maxTrail){

      this.trail.splice(0, 1);

    }     

  };

  

  /*=============================================================================*/ 

  /* Update Arc

/*=============================================================================*/

  this.updateArc = function(){

    this.arcx = (this.cw/2) + Math.sin(this.angle) * this.radius;

    this.arcy = (this.ch/2) + Math.cos(this.angle) * this.radius;     

    var d = new Date();

    this.seconds = d.getSeconds();

    this.milliseconds = d.getMilliseconds();

    this.angle += this.speed*(this.seconds+1+(this.milliseconds/1000));

    

    if(this.radius <= 1){

      this.growRadius = true;

    } 

    if(this.radius >= 200){

      this.growRadius = false;

    }

    

    if(this.growRadius){

      this.radius += 1; 

    } else {

      this.radius -= 1; 

    }

  };

  

  /*=============================================================================*/ 

  /* Render Trail

/*=============================================================================*/

  this.renderTrail = function(){

    var i = this.trail.length;     

    

    this.ctx.beginPath();

    while(i--){

      var point = this.trail[i];

      var nextPoint = (i == this.trail.length) ? this.trail[i+1] : this.trail[i];

      

      var c = (point.x + nextPoint.x) / 2;

      var d = (point.y + nextPoint.y) / 2;      

      this.ctx.quadraticCurveTo(Math.round(this.arcx), Math.round(this.arcy), c, d);

      

      

      

    };

    this.ctx.strokeStyle = 'hsla('+this.rand(170,300)+', 100%, '+this.rand(50, 75)+'%, 1)'; 

    this.ctx.stroke();

    this.ctx.closePath();

    

  };   

 

  

  /*=============================================================================*/ 

  /* Clear Canvas

/*=============================================================================*/

  this.clearCanvas = function(){

    //this.ctx.globalCompositeOperation = 'source-over';

    //this.ctx.clearRect(0,0,this.cw,this.ch);

    

    this.ctx.globalCompositeOperation = 'destination-out';

    this.ctx.fillStyle = 'rgba(0,0,0,.1)';

    this.ctx.fillRect(0,0,this.cw,this.ch);     

    this.ctx.globalCompositeOperation = 'lighter';

  };

  

  /*=============================================================================*/ 

  /* Animation Loop

/*=============================================================================*/

  this.loop = function(){

    var loopIt = function(){

      requestAnimationFrame(loopIt, _this.c);

      _this.clearCanvas();

      _this.updateArc();

      _this.updateTrail();

      _this.renderTrail();       

    };

    loopIt();     

  };

  

};

/*=============================================================================*/ 

/* Check Canvas Support

/*=============================================================================*/

var isCanvasSupported = function(){

  var elem = document.createElement('canvas');

  return !!(elem.getContext && elem.getContext('2d'));

};

/*=============================================================================*/ 

/* Setup requestAnimationFrame

/*=============================================================================*/

var setupRAF = function(){

  var lastTime = 0;

  var vendors = ['ms', 'moz', 'webkit', 'o'];

  for(var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x){

    window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame'];

    window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame'];

  };

  

  if(!window.requestAnimationFrame){

    window.requestAnimationFrame = function(callback, element){

      var currTime = new Date().getTime();

      var timeToCall = Math.max(0, 16 - (currTime - lastTime));

      var id = window.setTimeout(function() { callback(currTime + timeToCall); }, timeToCall);

      lastTime = currTime + timeToCall;

      return id;

    };

  };

  

  if (!window.cancelAnimationFrame){

    window.cancelAnimationFrame = function(id){

      clearTimeout(id);

    };

  };

};   

/*=============================================================================*/ 

/* Define Canvas and Initialize

/*=============================================================================*/

  if(isCanvasSupported){

    var c = document.createElement('canvas');

    c.width = 400;

    c.height = 400;   

    var cw = c.width;

    var ch = c.height; 

    document.body.appendChild(c); 

    var cl = new smoothTrail(c, cw, ch);    

    

    setupRAF();

    cl.init();

  }

Bila semuanya sudah selesai, sekarang waktunya Anda untuk melihat bagaimana hasilnya dan seperti apa bentuknya.

Seperti itulah Visualisasi dari Animasi Kanvas Abstrak ini. Semoga Anda menikmati apa yang sudah saya sajikan tadi, dan jangan lupa juga dishare kepada teman-teman lainya agar bermanfaat bagi semuanya.

Terimakasih.

Selengkapnya

Cara Membuat Font Variabel Dengan Efek Kontrol Menggunakan Javascript Dan Css

Apa Itu Font Variabel?

Font variabel adalah sistem format font OpenType yang mencakup kedalam sebuah teknologi baru, dan dapat disebut juga sebagai "OpenType Font Variations". Format font ini dikembangkan oleh empat perusahaan teknologi besar paling berpengaruh yang tidak lain yaitu:
1. Google
2. Apple
3. Microsoft
4. Adobe.

Cara Membuat Font Variabel Dengan Efek Kontrol Menggunakan Javascript Dan Css

File font ini berisi sejumlah besar data tambahan. Font variabel dapat berisi seluruh glyph font, atau mesin terbang individu yang berkisar hingga 64.000 sumbu variasi, termasuk berat, lebar, miring, dan, dalam beberapa kasus, gaya tertentu, seperti Condensed, Bold, dll.

Banyak typographers berpendapat bahwa proses format font secara manual adalah cara yang paling profesional dan memuaskan untuk melakukan sesuatu.
Namun, font variabel adalah perkembangan alami untuk bidang tipografi, yang semakin mencerminkan perkembangan dalam desain web responsif. Desainer menuntut kenyamanan dan interaktivitas yang lebih dari alat desain mereka, dan font yang dapat Anda sesuaikan dengan gulungan slider memenuhi permintaan ini. Font yang bervariasi menawarkan fleksibilitas dan hasil yang nyata, yang menjadikannya sebagai hal baru yang menyenangkan bagi tipografer yang kekurangan waktu.

Nah, itulah sedikit pengertian tentang Font Variabel. Oke mari kita lanjut ke topik pembahasan kali ini, Cara Membuat Font Variabel Dengan Kontrol.

Sebelum itu, Disini kita memerlukan bahan-bahannya terlebih dahulu. Pastinya Anda sudah tau, apa saja yang diperlukan sebagai bahan untuk membuatnya. Ya benar saja, salah satunya yaitu:
1. Javascript
2. Css

Untuk langkah-langkahnya, Bisa simak baik-baik dibawah:

Pertama kita buat Css nya, atau Anda bisa kopi paste kodenya seperti yang tampak berikut ini.


@font-face {
 src: url('https://res.cloudinary.com/dr6lvwubh/raw/upload/v1529908256/CompressaPRO-GX.woff2');
 font-family:'Compressa VF';
 font-style: normal;
}
html {
 height:100%;
}
body {
 padding: 0;
 margin: 0;
 overflow: hidden;
 background-color: #211D26;
 display: flex;
 justify-content: center;
 height: 100%;
 align-items: center;
}

h1 {
 font-family:'Compressa VF';
 text-rendering: optimizeSpeed;
 color: #D11B3D;
 width: 100%;
 user-select: none;
 line-height: 0.8em;
 margin: 0 auto;
 text-transform: uppercase;
 font-weight: 100;
 text-align: center;
 width: 100vw;
}
h1 span {
 transform: translateY(-10px);
 user-select: none;
}
h1.flex {
 display: flex;
 justify-content: space-between;
}
h1.stroke span {
 position: relative;
 color: #211D26;
 line-height: inherit;
}
h1.stroke span:after {
 content: attr(data-char);
 -webkit-text-stroke-width: 3px;
 -webkit-text-stroke-color: #FE6730;
 position: absolute;
 left: 0;
 line-height: inherit;
 color: transparent;
 z-index: -1;
}

Selanjutnya, mari kita buat Javascriptnya. Dan berikut adalah kode-kodenya.


var maxDist;
var mouse = { x: 0, y: 0 };
var cursor = {
    x: window.innerWidth,
    y: window.innerHeight
};

Math.dist = function(a, b) {
    var dx = b.x - a.x;
    var dy = b.y - a.y;
    return Math.sqrt(Math.pow(dx, 2), Math.pow(dy, 2));
}

window.addEventListener("mousemove", function(e) {
    cursor.x = e.clientX;
    cursor.y = e.clientY;
});

window.addEventListener("touchmove", function(e) {
    var t = e.touches[0];
    cursor.x = t.clientX;
    cursor.y = t.clientY;
}, {
    passive: false
});

var Char = function(container, char) {
    var span = document.createElement("span");
    span.setAttribute('data-char', char);
    span.innerText = char;
    container.appendChild(span);
    this.getDist = function() {
        this.pos = span.getBoundingClientRect();
        return Math.dist(mouse, {
            x: this.pos.x + (this.pos.width / 1.75),
            y: this.pos.y
        });
    }
    this.getAttr = function(dist, min, max) {
        var wght = max - Math.abs((max * dist / maxDist));
        return Math.max(min, wght + min);
    }
    this.update = function(args) {
        var dist = this.getDist();
        this.wdth = args.wdth ? ~~this.getAttr(dist, 5, 200) : 100;
        this.wght = args.wght ? ~~this.getAttr(dist, 100, 800) : 400;
        this.alpha = args.alpha ? this.getAttr(dist, 0, 1).toFixed(2) : 1;
        this.ital = args.ital ? this.getAttr(dist, 0, 1).toFixed(2) : 0;
        this.draw();
    }
    this.draw = function() {
        var style = "";
        style += "opacity: " + this.alpha + ";";
        style += "font-variation-settings: 'wght' " + this.wght + ", 'wdth' " + this.wdth + ", 'ital' " + this.ital + ";";
        span.style = style;
    }
    return this;
}

var VFont = function() {
    this.scale = false;
    this.flex = true;
    this.alpha = false;
    this.stroke = false;
    this.width = true;
    this.weight = true;
    this.italic = true;
    var title, str, chars = [];

    this.init = function() {
        title = document.getElementById("title");
        str = title.innerText;
        title.innerHTML = "";
        for (var i = 0; i < str.length; i++) {
            var _char = new Char(title, str[i]);
            chars.push(_char);
        }
        this.set();
        window.addEventListener("resize", this.setSize.bind(this));
    }

    this.set = function() {
        title.className = "";
        title.className += this.flex ? " flex" : "";
        title.className += this.stroke ? " stroke" : "";
        this.setSize();
    }

    this.setSize = function() {
        var fontSize = window.innerWidth / (str.length / 2);
        title.style = "font-size: " + fontSize + "px;";
        if (this.scale) {
            var scaleY = (window.innerHeight / title.getBoundingClientRect().height).toFixed(2);
            var lineHeight = scaleY * 0.8;
            title.style = "font-size: " + fontSize + "px; transform: scale(1," + scaleY + "); line-height: " + lineHeight + "em;"
        }
    }

    this.animate = function() {
        mouse.x += (cursor.x - mouse.x) / 30;
        mouse.y += (cursor.y - mouse.y) / 30;
        requestAnimationFrame(this.animate.bind(this));
        this.render();
    }

    this.render = function() {
        maxDist = title.getBoundingClientRect().width / 2;
        for (var i = 0; i < chars.length; i++) {
            chars[i].update({
                wght: this.weight,
                wdth: this.width,
                ital: this.italic,
                alpha: this.alpha
            });
        }
    }
    this.init();
    this.animate();
    return this;
}

var txt = new VFont();
var gui = new dat.GUI();
gui.add(txt, 'flex').onChange(txt.set.bind(txt));
gui.add(txt, 'scale').onChange(txt.set.bind(txt));
gui.add(txt, 'alpha').onChange(txt.set.bind(txt));
gui.add(txt, 'stroke').onChange(txt.set.bind(txt));
// gui.add(txt, 'width').onChange(txt.set.bind(txt));
gui.add(txt, 'weight').onChange(txt.set.bind(txt));
gui.add(txt, 'italic').onChange(txt.set.bind(txt));

Apabila semuanya dirasa sudah selesai, maka langkah selanjutnya adalah Anda simpan semua kode Css maupun Javascriptnya, setelah itu gabungkan keduanya dan coba jalankan.

Mungkin kurang lebih seperti itulah pembahasan hari ini yang bisa saya sajikan, Cara Membuat Font Variabel Dengan Kontrol Menggunakan Javascript Dan Css. Bilamana ada kesalahan dalam script diatas, silahkan hubungi saya melalui contact yang sudah tersedia atau Anda bisa meninggalkan komentar dibawah.

Saya rasa cukup sampai disini dan terimakasih.

Selengkapnya

Membuat Animasi Gradasi Warna Menggunakan Linear Gradient Dan Radial Gradient

Oke untuk kesempatan kali ini, kembali saya akan membagikan sebuah animasi. Namun berbeda dengan sebelumnya, disini saya mencobanya dengan objek dan menggunakan gradasi. Ini terbilang sungguh bagus, kenapa bagus? Karena animasi ini telah dibalut dan dirancang dengan warna gradient atau gradasi yang begitu indah.

Membuat Animasi Gradasi Warna Menggunakan Linear Gradient Dan Radial Gradient

Apa itu gradient???

Gradient adalah suatu konsep penggabungan dua warna atau lebih. Pada umumnya ada 2 tipe warna gradient atau gradasi yang dapat di buat dengan css3 yaitu, linear gradient dan radial gradient. Linear gradient adalah gradient yang berbentuk warna yang berdampingan tapi efeknya sangat lembut. Jadi 2 atau beberapa warna akan terlihat menyatu, baik itu atas ke bawah atau kiri ke kanan. Sedangkan radial gradient adalah warna gradient yang memiliki pusat yang bertitik ditengah, jadi seperti membentuk lingkaran dalam pewarnaannya.

Sekarang Sobat sudah mengertikan, apa itu gradient atau gradasi..

Nah sebelum itu, disini kita memerlukan CSS/SCSS dan HTML sebagai bahanya.
Oke, mungkin kita langsung saja dan sobat bisa lihat kode-kodenya dibawah ini.

#. HTML


<div class="container">

  <h1>Seotechman CSS Gradients</h1>

  <p>Solid to solid color | Grainy blend only | Reduced banding | Pure CSS Gradients<br><span>Click/tap & hold on items for more colors</span></p>

  <div class="item item--sphere item--color1"></div>

  <div class="item item--sphere item--color2"></div>

  <div class="item item--sphere item--color3"></div>

  <div class="item item--sphere item--color4"></div>

  <div class="item item--pudding item--color5"></div>

  <div class="item item--droplet item--color6"></div>

  <div class="item item--vase item--color7"></div>

  <div class="item item--egg item--color8"></div>

  <div class="item item--cell"></div>

</div>

#. CSS/SCSS


@import url(https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700,300);

$size: 130px;

$scale: 1.05;

$border-radius: $size / 2;

$grad-position: 100% 0;

$grad-start: 25%;

$grad-stop: 65%;

$duration: 3.5s;

$noise: url('data:image/png;base64,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');

@mixin dithered-gradient($position, $start, $stop, $color) {

  background: radial-gradient(circle at $position, transparent $start, $color $stop);

  mask: $noise, radial-gradient(circle at $position, transparent $start, #000 ($stop + 10%));

}

@mixin radial-gradient-item($position, $start, $stop, $color) {

  background: repeat-x $position / 50% 100% radial-gradient(circle at 50% 0, transparent $start, $color $stop);

}

@mixin item-unicolor($color) {

  color: $color;

  &::before { @include radial-gradient-item($grad-position, $grad-start, $grad-stop, $color); }

}

@mixin item-bicolor($color1, $color2) {

  background-color: $color2;

  @include item-unicolor($color1);

}

@mixin item-tricolor($color1, $color2, $color3) {

  color: $color3;

  background-color: $color1;

    &::before { @include radial-gradient-item($grad-position, 15%, 45%, $color2); }

    &::after { @include radial-gradient-item($grad-position, 50%, 75%, $color3); }

}

$light: #ffecd2;

$dark: #222;

$color1: #7f5fff;

$color2: #fa709a;

$color3: #ff9673;

$color4: #fec440;

$color5: #72f9c1;

$color6: #5193ff;

$color7: #fd2472;

$color8: #5e21d6;

$color9: #e7627d;

$color10: #3d1635;

html {

  height: 100%;

  font-family: 'Roboto Condensed', sans-serif;

  color: $dark;

}

body {

  margin: 0;

  position: relative;

  display: flex;

  justify-content: center;

  align-items: center;

  min-height: 100%;

  background-color: #effeff;

  &::before, &::after {

    content: "";

    position: absolute;

    top: 0; left: 0;

    z-index: -1;

    display: block;

    width: 100%;

    height: 100%;

  }

  

  &::before {

    @include dithered-gradient(50%, 30%, 60%, #6cc8ff)

  }

  

  &::after {

    mask-image: $noise, linear-gradient(45deg, #000 0%, transparent 25%, transparent 75%, #000 100%);

    background: linear-gradient(45deg, #6d6dff 10%, transparent 25%, transparent 75%, #fbffbe 90%);

  }

}

h1 {

  margin: 0 0 10px 0;

  text-transform: uppercase;

}

p {

  margin: 0;

}

span {

  line-height: 1.8em;

  color: $color2;

}

.container {

  box-sizing: border-box;

  max-width: 1024px;

  padding: 20px;

  text-align: center;

}

.item {

  position: relative;

  display: inline-block;

  margin: 20px 35px;

  width: $size; height: $size;

  background-color: #ffecd2;

  box-shadow: -5px 18px 25px -15px;

  overflow: hidden;

  transition: all 0.2s ease-out;

  cursor: pointer;

  image-rendering: pixelated;

  -webkit-tap-highlight-color: rgba(0,0,0,0);

  -webkit-tap-highlight-color: transparent;

  &::before {

    content: "";

    position: absolute;

    display: block;

    top: 0; left: 0;

    height: 100%; width: 400%;

    mask: $noise, radial-gradient(circle at 50% 0, transparent 5%, #000 ($grad-stop + 15%)) 0 0 / 50% 100%;

  }

  

  &:hover {

    transform: scale($scale);

    &.item::before, &.item::after {

      animation: spin-round $duration linear infinite;

    }

  }

  

  &:active {

      animation: hue-rotate 7s infinite;

    }

  &--sphere {

    border-radius: 50%;

  }

  

  &--egg {

   width: $size * 0.77;

   border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;

}

  &--pudding {

    width: $size; height: $size;

    border-radius: 50% 50% 10% 10%;

    

    &::after {

      content: "";

      position: absolute;

      top: 0;

      display: block;

      top: 0; left: 0;

      height: 100%; width: 400%;

      mask: $noise, radial-gradient(circle at 50% 0, transparent 55%, #000 85%) 0 0 / 50% 100%;

    }

  }

  &--droplet {

    width: $size * 0.77; height: $size * 0.77;

    border-radius: 5% 100% 50% 65% / 5% 65% 50% 100%;

    transform: rotate(45deg);

    box-shadow: 5px 18px 25px -15px;

  

    &:hover {

      transform: rotate(45deg) scale($scale);

    }

  }

  &--vase {

    position: relative;

    width: floor($size * 0.62); height: $size;

    border-radius: 40% 40% 70% 70% / 100%;

    

    &::after {

      content: "";

      position: absolute;

      top: 0;

      display: block;

      top: 0; left: 0;

      height: 100%; width: 400%;

      mask: $noise, radial-gradient(circle at 50% 0, transparent 55%, #000 90%) 0 0 / 50% 100%;

    }

  }

  

  &--cell {

    width: $size; height: $size;

    border-radius: 50%;

    color: #ff4d5d;

    background: radial-gradient(circle at 100% 0, #ffa878 5%, transparent 75%), #ff4d5d;

    

    &::before  {

      top: 50%; left: 50%;

      transform: translate(-50%, -50%);

      width: ceil($size * 0.69); height: ceil($size * 0.69);

      border-radius: 50%;

      background: radial-gradient(circle at 0 75%, transparent 20%, #98000e $grad-stop);

      mask: $noise, radial-gradient(circle at 50%, transparent $grad-start, #000 ($grad-stop + 10%));

    }

    &:hover {

        animation: spin-flat-thick $duration linear infinite;

      

      &.item--cell::before {

         animation: spin-flat $duration linear infinite;

      }

      

      &:active {

      animation: spin-flat-thick $duration linear infinite, hue-rotate 7s linear infinite;

      }

    }

  }

  &--color1 {

    @include item-unicolor($color1);

  }

  

  &--color2 {

    @include item-unicolor($color2);

  }

  

  &--color3 {

    @include item-unicolor($color3);

  }

  

  &--color4 {

    @include item-unicolor($color4);

  }

  &--color5 {

    @include item-tricolor($light, $color9, $color10);

  }

  &--color6 {

    @include item-bicolor($color6, $color5);

  }

  &--color7 {

    @include item-tricolor($color4, $color7, $color8);

  }

  

  &--color8 {

    @include item-unicolor($dark);

  }

}

@keyframes spin-round {

  from { transform: translateX(0); }

  to { transform: translateX(-50%); }

}

@keyframes spin-flat {

  0% { transform: translate(-50%, -50%) rotateY(0); }

  25% { transform: translate(-50%, -50%) rotateY(90deg); }

  50% { transform: translate(-50%, -50%) rotateY(180deg); }

  75% { transform: translate(-50%, -50%) rotateY(270deg); }

  100% { transform: translate(-50%, -50%) rotateY(360deg); }

}

@keyframes spin-flat-thick {

  0% { transform: scale($scale) rotateY(0); }

  25% { transform: scale($scale) rotateY(75deg); }

  50% { transform: scale($scale) rotateY(0); background: radial-gradient(circle at 0 0, #ffa878 5%, transparent 75%), #ff4d5d; }

  75% { transform: scale($scale) rotateY(75deg); }

  100% { transform: scale($scale) rotateY(0); background: radial-gradient(circle at 100% 0, #ffa878 5%, transparent 75%), #ff4d5d; }

}

@keyframes hue-rotate {

  from { filter: hue-rotate(360deg); }

    to { filter: hue-rotate(0deg); }

}


Jika ingin mencobanya, silahkan saja. Sobat tinggal copy paste seluruh kodenya, atau sobat bisa ubah sesuai keinginan.

Itulah Animasi Gradasi Warna Menggunakan Linear Gradient Dan Radial Gradient, ala Seotechman.com. Terimakasih buat yang sudah selalu menyempatkan diri untuk membaca postingan-postingan diblog saya ini. Jika postingan ini menarik, sobat bisa bagikan keteman-teman lainnya dan jangan lupa Rate This Article!

Selengkapnya