مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

ساخت شکلک انیمیشنی با CSS و HTML5 به همراه مثال


قصد داریم در این مقاله فوت و فن رسم شکلک های انیمیشنی (متحرک) را با کمک زبان HTML و CSS بیاموزیم. با تلفیق کد های HTML5 و CSS می توانیم یک صورتک با لبخند و چشمان چشمک زن ایجاد کنیم . برای کد نویسی میتوانید از صفحه اصلی (home page) که برای HTML ، CSS و جاوا اسکریپت است استفاده کنید ، یا کد ها را در  JSFiddle بنویسید . انتخاب بین این دو زیاد مهم نیست و سلیقه ای است.
در اولین قدم نیاز است که سر را بکشیم . برای ترسیم سر از تگ div استفاده میکنیم. در این تگ از border (مرز) به رنگ سیاه و پس زمینه (background) سفید استفاده می کنیم. داخل سر ، پیرو همان روش قبل (استفاده از تگ div ) چشم ها را با پلک و مردمک داخل آن رسم می کنیم.
برای ترسیم دهان هم از تگ خالی div همراه با مشخصه ی border-bottom کمک میگیریم  که در انتها یک منحنی نیمه به شکل لبخند نمایش داده می شود.
در کد زیر نمای کلی از کد HTML شکلک را داریم :

<div id="cssHead">
    <div class="cssEye leftEye">
        <div class="cssEyeLid">
            <div class="cssPupil">
            </div>
        </div>
    </div>
    <div class="cssEye rightEye">
        <div class="cssEyeLid">
            <div class="cssPupil">                      
            </div>
        </div>
    </div>
    <div class="cssMouth">
    </div>          
</div>

 

استایل دهی به تگ div برای طبیعی به نظر رسیدن سر :


استایل دهی به شکلک برای کسانی که تجربه ی کار با CSS را دارند کار سختی نیست . حتی می توانید ایده های اختصاصی خودتان را نیز پیاده کنید و این اصلا دور از انتظار نیست .
در قطعه کد زیر استایل دهی به صورتک را خواهید دید :

#cssHead {
    margin: 20px auto;
    width: 180px;
    background-color: #fff;
    height: 180px;
    -webkit-border-radius: 500px;
    border-radius: 500px;
    border: 3px solid #000;
    -moz-transform: rotate(-2deg) skew(-3deg, -2deg);
    -webkit-transform: rotate(-2deg) skew(-3deg, -2deg);
    -o-transform: rotate(-2deg) skew(-3deg, -2deg);
    -ms-transform: rotate(-2deg) skew(-3deg, -2deg);
    transform: rotate(-2deg) skew(-3deg, -2deg);
}
.cssEye {
    display: inline-block;
}
.cssPupil {
    width: 12px;
    background: #000;
    height: 12px;
    margin: 6px 0px 3px 8px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}
.cssEyeLid {
    border: 1px solid #000;
    -webkit-border-radius: 20px;
    border-radius: 20px;
    overflow: hidden;
    height: 20px;
    margin: 0;
}
.htmlEye {
    border: 1px solid #000;
    display: inline-block;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}
.wraphtmlEye {
    background-color: #DDD;
    margin: 6px;
    padding: 4px;
    width: 25px;
    height: 25px;
}
.htmlPupil {
    width: 12px;
    background: #000;
    height: 12px;
    margin: 6px 4px 3px;
    -webkit-border-radius: 20px;
    border-radius: 20px;
}
.rightEye {
    margin: 0;
}
.leftEye {
    margin: 50px 4px 0px 66px;
}
.cssMouth {
    border-top: none;
    border-right: none;
    border-left: none;
    border-bottom: 4px solid #000;
    -webkit-border-radius: 100px;
    border-radius: 100px;
    height: 20px;
    width: 45px;
    margin: 0px auto 0;
}


با اینکه توضیح مفصلی در مورد کد داده نشده اما بعید است که درک آن سخت و طاقت فرسا باشد . تنها کاری که قطعه کد بالا انجام می دهد این است که مرز ها (border) را تیره و روشن کرده و تا حدودی عمق و استایل به تصویر می بخشد .

ساخت انیمیشن توسط CSS3 و با کمک Keyframes :


استایل هایی که در کد های قبل به شکلک دادیم ، سازنده ی کلی این صورتک نخواهد بود . انیمیشن (متحرک سازی تصویر) هم نیاز به برخی تنظیمات دارد. برای تنظیمات انیمیشن ، برخی حرکات تکراری را برای سر ، چشمک زدن چشمان ، حرکت دهان و... تدارک می بینیم. همچنین مدت زمان تکرار حرکت ها را نیز تنظیم میکنیم .

انیمیشن سازی سر (حرکت سر ) :


برای حرکت سر ، یک حرکت تکراری را برای 10 ثانیه تنظیم می کنیم .
کد آن به صورت زیر است :

/*CSS head animation BEGIN*/
#cssHead {
    -webkit-animation: headRotations 10s infinite;
    animation: headRotations 10s infinite;
}
@-webkit-keyframes headRotations {
    0% {    -webkit-transform: rotate(-2deg) skew(-3deg, -2deg);    }
    20% {   -webkit-transform: rotate(2deg) skew(-3deg, -2deg);     }
    25% {   -webkit-transform: rotate(-4deg) skew(-3deg, -2deg);    }
    28% {   -webkit-transform: rotate(-2deg) skew(-3deg, -2deg);    }
    40% {   -webkit-transform: rotate(-2deg) skew(-3deg, -2deg);    }
    50% {   -webkit-transform: rotate(2deg) skew(-3deg, -2deg);     }
    60% {   -webkit-transform: rotate(-6deg) skew(-3deg, -2deg);    }
    70% {   -webkit-transform: rotate(6deg) skew(-3deg, -2deg);     }
    90% {   -webkit-transform: rotate(6deg) skew(-3deg, -2deg);     }
    100% {  -webkit-transform: rotate(-2deg) skew(-3deg, -2deg);    }
}
@keyframes headRotations {
    0% {    transform: rotate(-2deg) skew(-3deg, -2deg);    }
    20% {   transform: rotate(2deg) skew(-3deg, -2deg);     }
    25% {   transform: rotate(-4deg) skew(-3deg, -2deg);    }
    28% {   transform: rotate(-2deg) skew(-3deg, -2deg);    }
    40% {   transform: rotate(-2deg) skew(-3deg, -2deg);    }
    50% {   transform: rotate(2deg) skew(-3deg, -2deg);     }
    60% {   transform: rotate(-6deg) skew(-3deg, -2deg);    }
    70% {   transform: rotate(6deg) skew(-3deg, -2deg);     }
    90% {   transform: rotate(6deg) skew(-3deg, -2deg);     }
    100% {  transform: rotate(-2deg) skew(-3deg, -2deg);    }
}
/*CSS head animation END*/


حرکت چشم ها :


برای چشم دو نوع حرکت در نظر گرفته میشود ؛ یکی حرکت خود چشم و دیگری حرکت مردمک چشم ها و کد زیر حرکت چشم ها را می سازد :

/*CSS pupils animation BEGIN*/
.cssPupil {
    -webkit-animation: lookingAround 20s infinite;
    animation: lookingAround 20s infinite;
}
@-webkit-keyframes lookingAround {
    0% {    margin: 6px 0px 3px 8px;    }
    10% {   margin: 6px 0px 3px 8px;    }
    12% {   margin: 6px 8px 3px 0px;    }
    27% {   margin: 6px 8px 3px 0px;    }
    30% {   margin: 6px 0px 3px 8px;    }
    40% {   margin: 6px 0px 3px 8px;    }
    43% {   margin: 1px 0px 8px 8px;    }
    46% {   margin: 6px 0px 3px 8px;    }
    57% {   margin: 6px 0px 3px 8px;    }
    60% {   margin: 6px 8px 3px 0px;    }
    63% {   margin: 6px 0px 3px 8px;    }
    77% {   margin: 6px 0px 3px 8px;    }
    80% {   margin: 6px 4px 3px 4px;    }
    85% {   margin: 6px 4px 3px 4px;    }
    88% {   margin: 6px 0px 3px 8px;    }
    92% {   margin: 6px 0px 3px 8px;    }
    100% {  margin: 6px 0px 3px 8px;    }
}
@keyframes lookingAround {
    0% {    margin: 6px 0px 3px 8px;    }
    10% {   margin: 6px 0px 3px 8px;    }
    12% {   margin: 6px 8px 3px 0px;    }
    27% {   margin: 6px 8px 3px 0px;    }
    30% {   margin: 6px 0px 3px 8px;    }
    40% {   margin: 6px 0px 3px 8px;    }
    43% {   margin: 1px 0px 8px 8px;    }
    46% {   margin: 6px 0px 3px 8px;    }
    57% {   margin: 6px 0px 3px 8px;    }
    60% {   margin: 6px 8px 3px 0px;    }
    63% {   margin: 6px 0px 3px 8px;    }
    77% {   margin: 6px 0px 3px 8px;    }
    80% {   margin: 6px 4px 3px 4px;    }
    85% {   margin: 6px 4px 3px 4px;    }
    88% {   margin: 6px 0px 3px 8px;    }
    92% {   margin: 6px 0px 3px 8px;    }
    100% {  margin: 6px 0px 3px 8px;    }
}
/*CSS pupils animation END*/
/*CSS blinking BEGIN*/
.cssEyeLid {
    -webkit-animation: blinkingEye 7s infinite;
    animation: blinkingEye 7s infinite;
}
@-webkit-keyframes blinkingEye {
    0% {    height: 20px;   margin: 0;  }
    58% {   height: 20px;   margin: 0;  }
    60% {   height: 0px;    margin: 10px 0; }
    66% {   height: 20px;   margin: 0;  }
    100% {  height: 20px;   margin: 0;  }
}
@keyframes blinkingEye {
    0% {    height: 20px;   margin: 0;  }
    58% {   height: 20px;   margin: 0;  }
    60% {   height: 0px;    margin: 10px 0; }
    66% {   height: 20px;   margin: 0;  }
    100% {  height: 20px;   margin: 0;  }
}
/*CSS blinking END*/


دهان :


در CSS نیاز به کاراکتری داریم که لبخند صورتک را به وجود بیاورد. برای ایجاد لبخند border-bottom در div (مربوط به دهان) را کاهش میدهیم و سپس دوباره به اندازه و موقعیت قبلی برمیگردانیم که تداعی لبخند باشد .
 

/*CSS smiling animation BEGIN*/
.cssMouth {
    -webkit-animation: smilingMouth 8s infinite;
    animation: smilingMouth 8s infinite;
}
@-webkit-keyframes smilingMouth {
    0% {    height: 20px;   border-bottom: 3px solid #000;  margin: 0px auto 0;     }
    20% {   height: 35px;   border-bottom: 6px solid #000;  margin: -10px auto 0;   }
    80% {   height: 35px;   border-bottom: 6px solid #000;  margin: -10px auto 0;   }
    100% {  height: 20px;   border-bottom: 3px solid #000;  margin: 0px auto 0;     }
}
@keyframes smilingMouth {
    0% {    height: 20px;   border-bottom: 3px solid #000;  margin: 0px auto 0;     }
    20% {   height: 35px;   border-bottom: 6px solid #000;  margin: -10px auto 0;   }
    80% {   height: 35px;   border-bottom: 6px solid #000;  margin: -10px auto 0;   }
    100% {  height: 20px;   border-bottom: 3px solid #000;  margin: 0px auto 0;     }
}
/*CSS smiling animation END*/

 


 

فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 4 , تعداد قسمت ها: 294 , سطح: صفر تا صد
موضوعات: آموزش CSS

این فصل در یک نگاه:

در این فصل از صفر تا صد قالب فروشگاهی حرفه ای را پیاده سازی خواهیم کرد.…

  آموزش صفر تا صد CSS , CSS3         فصل ۱  توضیحات : مسیری که در این جا برای شما دوستان چندیم با دید شبکه ای و سیستمی چینده شده است . شما در این مسیر از نقطه صفر شروع می کنید و…
فصلِ: 1 , تعداد قسمت ها: 20 , سطح: متوسط

این فصل در یک نگاه:

  Blazor فریمورک معرفی شده از سوی مایکروسافت برای ساخت صفحات SPA با استفاده از زبان سی شارپ میباشد!!!      بله درست شنیدید ساخت صفحات وب با استفاده از سی شارپ از این به بعد ممکن خواهد …
فصلِ: 2 , تعداد قسمت ها: 5 , سطح: صفر تا صد

این فصل در یک نگاه:

اموزش کدنویسی html و css- اموزش تبدیل psd به html و css…

توضیحات کلی مجموعه: این دوره یک دوره تکمیلی برای کاربران فتوشاپ کلیک سایت می باشد که قصد دارن تا به دنیای وب نویسی وارد شوند. دوستانی که اکنون تسلط لازم به فتوشاپ را دارند میتوانند با اشنای…
فصلِ: 3 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل سوم…

آموزش طراحی ریسپانسیو مدرن و جذابتر نسبت به بوتسرپ (همراه با ساخت صفحه اصلی و پنل یک آژانس مسافربری) آموزش پروژه محور فریمورک متریالایز برای اولین بار بین وب سایت های آموزشی آموزش تمامی …
فصلِ: 5 , تعداد قسمت ها: 77 , سطح: متوسط

این فصل در یک نگاه:

ساخت منوی مدیریت سایت،ایجاد بخش دسته بندی ها ، جدول نمایش دسته ها و ایجاد دسته جدید،ایجاد بخش ویژگی های یک دسته،ایجاد وی…

این مجموعه با تلفیقی از فریمورک bootstrap  و کد های html و css  ارائه گردیده و پیش نیاز این آموزش ، دوره دیجی کالای آقای مهندس بلاغی است چون این پروژه در قالب mvc پیاده گردیده و با توجه به ا…
فصلِ: 28 , تعداد قسمت ها: 253 , سطح: صفر تا صد

این فصل در یک نگاه:

آشنایی با امکانات جدید لاراول ۷…

برخی از سرفصل های این پکیج آموزشی :   لاراول چیست و چرا ما لاراول استفاده میکنیم کامپوزر کارش چیه و نصب اون نصب لاراول آموزش نصب لاراول از طریق اینستالر آموزش نصب لاراول با استفاده ا…
فصلِ: 9 , تعداد قسمت ها: 215 , سطح: صفر تا صد

این فصل در یک نگاه:

در اصل فصل در مورد performance صحبت خواهیم کرد :-React Performance-Lazy-Error Boundaries و سایت را بر روی هاست واقعی قرا…

با سلام خدمت کلیک سایتی های عزیز، به دوره ی صفر تا صد طراحی سایت با react js خوش آمدید. نکته:این دوره کاملا پروژه محور میباشد نکته:این دوره هیچ پیش نیازی ندارد ReactJS  چیست؟ ReactJS اس…
فصلِ: 11 , تعداد قسمت ها: 162 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل(فصل یازدهم مجموعه)،به طراحی CMS (سیستم مدیریت محتوا)اختصاصی فروشگاه می پردازیم.هدف از طراحی این بخش،آنست که م…

در این مجموعه آموزشی قصد داریم از صفر تا صد طراحی یک فروشگاه اینترنتی رو به صورت کامل آموزش بدهیم.این فروشگاه شامل تمامی بخش های مورد نیاز یک فروشگاه اینترنتی است. هدف از این مجموعه،آموزش…
فصلِ: 4 , تعداد قسمت ها: 240 , سطح: صفر تا صد

این فصل در یک نگاه:

طراحی پنل مدیریت(دسته بندی)- دسته بندی یا category - نمایش دسته های فرعی در view با ورود به یکی از دسته های اصلی و آشن…

توضیحات کلی مجموعه: این مجموعه توسط فریمورک محبوب و دوست داشتنی bootstrap  و به صورت تضمینی  و صفر تا صد جهت یادگیری کارآموزان عزیز ارائه گردیده و دوستانی که این دوره را به طور کامل و دقیق…
فصلِ: 8 , تعداد قسمت ها: 77 , سطح: صفر تا صد

این فصل در یک نگاه:

  پیشنهاد میکنیم دمو دوره رو حتما مشاهده کنید با سلام خدمت دوستان عزیز . ابتدا عرض کنم که این دوره برای دوستانی آماده شده که میخوان وب اپلیکیشن های مدرنی رو طراحی بکنن و وارد بازار کار ط…
فصلِ: 5 , تعداد قسمت ها: 201 , سطح: صفر تا صد

این فصل در یک نگاه:

ایجاد پروژه آژانس مسافرتی.....…

فصل اول: آشنایی با مبانی برنامه نویسی اندروید   آشنایی با معماری برنامه های اندرویدی ساخت شبیه ساز جهت تست پروژه اندروید آشنایی با دستور Toast و حلقه for در برنامه های اندروی…
فصلِ: 1 , تعداد قسمت ها: 2 , سطح: متوسط

این فصل در یک نگاه:

بهترین و پر بازده ترین روش تبدیل بازدیدکننده سایت به مشتری تبلیغات هدفمند و برند سازی هوشمندانه با ایمیل می باشد. ایمیل…

  وبینار(سمینار آنلاین) آموزش تکنیک های ایمیل مارکتینگ   اگر تا انتها این متن را مطالعه کنید نظر شما در مورد ایمیل مارکتینگ 180 درجه عوض می شود!! بر هیچکس پوشیده نیست که از سال 1972 که ای…
فصلِ: 4 , تعداد قسمت ها: 368 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث تکمیلی فریم ورک لاراول…

فصل اول :آموزش مقدماتی فریم ورک لاراول معرفی فریم ورک لاراول و پیشنیازهای انجام کار انجام کانفیگ های اولیه برای نصب و راه اندازی فریم ورک معرفی روش های نصب پروژه لاراولی از طریق سایت گی…
فصلِ: 1 , تعداد قسمت ها: 155 , سطح: صفر تا صد

این فصل در یک نگاه:

مباحث مقدماتی فریم ورک react.js…

توضیحات کلی مجموعه: فصل اول : آشنایی با مباحث مقدماتی فریم ورک react.js نصب و راه اندازی node.js  و کلیه پیش نیازهای لازم نصب فریم ورک react روی لوکال و انجام تست های لازم آغاز آشنایی …
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

 اصول مدیریت وب سایت برای وب مستر شدن برای موفقیت یک وب سایت لازم الاجراست. زیرا شما دوست دارید وب سایت خود را به کارخانه پولسازی تبدیل کنید. این واقعیت رویا نیست. هرکس این اصول را بداند به …
فصلِ: 10 , تعداد قسمت ها: 47 , سطح: صفر تا صد

این فصل در یک نگاه:

کار نیرو-کار کوپل-اصل کار مجازی و کاربرد-بازده مکانیکی-کار نیرو در جا به جایی محدود-انرژی پتانسیل-انرژی پتانسیل و حالت ت…

توضیحات کلی مجموعه: استاتیک پایه کلیه دروس مهندسی میباشد که مفهوم اصلی آن در تعادل بودن است.هدف از این دوره بدست آوردن روابط تعادل میباشد که شامل سرفصل های مختلفی است که با استفاده از آن می…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید