بنر متحرک با استفاده از CSS3. یک بنر متحرک با استفاده از CSS3 ایجاد کنید

صفحه اصلی / سیستم عامل ها

بدون شک یکی از درخشان ترین روند 2012توسعه است CCS3، HTML5. امروز ما یک نمای کلی و بسیار مفید از نمونه ها را ارائه می دهیم " 20+: درس های خلاقانه و مفید در CSS3″ارائه شده در SpeckyBoy. همه نمونه ها ساخته شده اند بدون جاوا اسکریپت پاک کنید، درس های ارائه شده حاوی دمو و فایل های آماده CSS3 برای دانلود.

ما مطمئن هستیم که این تکنیک ها برای توسعه دهندگان وب مفید خواهد بود!

درس های css3 :

1. گالری عکس CSS3، لغزنده، جلوه ها با تصاویر

1.1.Slider در CSS3

من نمی توانم آن را باور کنم، اما این نوار لغزنده با جلوه های مختلف به طور انحصاری در CSS3 ساخته شده است، بسیار چشمگیر.

1.2. پس‌زمینه یک وب‌سایت تمام صفحه با افکت اسلایدر با استفاده از CSS3

طراحان وب مدت‌هاست که زمینه‌های مختلف سایت را آزمایش می‌کنند، اما تا به حال کار بسیار کمی با CSS خالص انجام می‌شد، باید از JS استفاده می‌کردید. اکنون CSS3 به شما این فرصت را می‌دهد که با پس‌زمینه سایت خود هر طور که می‌خواهید انجام دهید - می‌توانید یک پس‌زمینه با یک عکس بزرگ و با کیفیت بالا داشته باشید، می‌توانید چندین پس‌زمینه را با افکت‌های مختلف تغییر دهید، و با مقیاس‌پذیری پس‌زمینه بسته به پارامترهای صفحه نمایش به طور کلی، یک فرصت شگفت انگیز برای سایت های خلاق.

1.3. لایت باکس در CSS3

با این آموزش می توانید یاد بگیرید که چگونه با استفاده از CSS خالص یک لایت باکس با افکت های مختلف ایجاد کنید.

1.4. ویژگی های تصویر در CSS3

این آموزش ویژگی های جدیدی را در CSS3 برای ویژگی های تصویر، مانند گوشه های گرد، سایه ها و سایر افکت ها نشان می دهد.

1.5. بنر متحرک با استفاده از CSS3

1.6 در حال بارگذاری پانل در CSS3

1.7. روبان سه بعدی با CSS3

نمایش نسخه ی نمایشی یا دانلود فایل های کد CSS3 →

2. منوها، ناوبری و دکمه های CSS3

2.1. منوی Apple.com در CSS3

آموزش ساخت منوی معروف Apple.com در CSS3.

2.2. منوی افقی متحرک در CSS3

یک آموزش ساده که نحوه ساخت منوی متحرک در CSS3 با افکت های مختلف را نشان می دهد.

2.3. منوی عمودی متحرک با CSS3

2.4. دکمه های متحرک با CSS3

آموزش عالی با 7 نمونه از دکمه های خلاقانه متحرک.

2.5. منوی متحرک خلاقانه با تصاویر با استفاده از CSS3

در این درس، 10 مثال ارائه شده به سادگی چشم باز هستند. چنین منوهای خلاقانه پیچیده ای قبلاً منحصراً با استفاده از JS ایجاد می شد. چشمگیر!

2.6. جلوه ناوبری دایره با CSS3

یک جلوه غیرمعمول هنگام نگه داشتن ماوس روی یک مورد ناوبری انتخاب شده به شکل یک دایره با یک تصویر. توجه داشته باشید!

2.7. منوی کشویی در CSS3

آموزش پیاده سازی یک منوی کشویی ساده با سطوح فرعی در CSS3.

2.8. ناوبری CSS3 با انتقال متحرک

3. اثرات مختلف بر روی CSS3

3.1. راهنمای ابزار متحرک در CSS3 بدون جی کوئری

به لطف توسعه فناوری های وب و مرورگرهای مدرن، می توانیم بدون استفاده از جاوا اسکریپت جلوه های زیادی ایجاد کنیم. این امر زندگی را برای توسعه دهندگان وب بسیار آسان کرده است. زیرا اکنون می توانیم با استفاده از CSS خالص و بدون استفاده از جاوا اسکریپت افکت ایجاد کنیم. بنابراین، در این مقاله می‌خواهم به شما بگویم که آیا می‌توان با استفاده از CSS خالص بنر ایجاد کرد، چه چیزی نیاز دارد، و همچنین مزایا و معایب این روش.

CSS3 طیف گسترده ای از امکانات را فراهم می کند، فقط باید از آنها به درستی استفاده کنید. به عنوان مثال، من می‌خواهم پیوندهایی را به آثار گذشته‌ام «شخصیت‌ها در CSS خالص» ارائه دهم:

ابتدا می خواهم نمونه هایی از بنرهای CSS خود را ارائه کنم. ممکن است قبلاً آنها را در سایت دیده باشید، اما حتی ندانید چه چیزی و چگونه ایجاد شده اند.

درباره دمو:هر نمونه (بنر) دارای مدت زمان بر حسب ثانیه در پایین است و همچنین دکمه "Refresh" دارد که نمایش بنر را از ابتدا شروع می کند.

بنر شماره 1 - "آموزش انفرادی ساخت سایت":

من این بنر را حدود 2 روز ایجاد کردم. چرا اینقدر طولانی؟ زیرا تطبیق بنر (لاستیکی ساختن آن) هنگام محاسبه مجدد مختصات مدتی طول کشید. در حال حاضر، اندازه آن به عرض بلوک والد (که حاوی خود بنر CSS است) بستگی دارد.

من این بنر را به معنای واقعی کلمه در 2-2.5 ساعت ایجاد کردم. تنها چیزی که در اینجا روند ایجاد را کند کرد، انتخاب آیکون ها بود. چون باید نزدیک به موضوع بنر انتخاب می شدند.

این بنر بسته به عرض بلوک ظرفی که در آن قرار دارد نیز کشیده می شود. تقریباً 1.5 ساعت طول کشید تا ایجاد شود.

این بنرها بسیار زیبا به نظر می رسند، اما آیا واقعاً به همین سادگی است؟ بیایید به مزایا و معایب این روش ایجاد بنرها نگاه کنیم.

مزایا و معایب بنرهای CSS:

چگونه یک بنر CSS ایجاد کنیم؟

1 ایده

ابتدا باید بدانید که بنر دقیقاً چه انیمیشنی باید داشته باشد (چه چیزی، کجا و از کجا باید حرکت کند و کجا ظاهر شود). می توانید یک برگه A4 بردارید و ترسیم کنید که هر عنصر کجا حرکت می کند و چه چیزی باید روی بنر باشد.

از این گذشته، اگر ندانید که چه چیزی باید باشد و چگونه کار می کند، نمی توانید شروع به ایجاد بنر کنید.

2 ساختار HTML

مرحله بعدی ایجاد نشانه گذاری HTML است تا بتوان عناصر را جابجا کرد (و برای آنها متحرک کرد). یعنی شما نمی توانید همه کارها را با یک تصویر انجام دهید که به سمت راست یا چپ حرکت می کند و سپس انیمیشن تمام می شود.

به طور معمول یک بلوک مشترک وجود دارد که بقیه بلوک ها در آن قرار دارند. و در این بلوک کلی می توانیم عناصر را همانطور که نیاز داریم مدیریت کنیم.

3 انیمیشن CSS

مرحله آخر ایجاد انیمیشن برای بلوک ها و همچنین نوشتن سبک برای آنها است، زیرا برخی از قسمت های انیمیشن به طور پیش فرض مخفی هستند.

برای ایجاد بنر شخصی خود، باید اصول اولیه CSS و HTML را به خوبی درک کنید.

با این آموزش انیمیشن های اولیه CSS را بیاموزید - .

نتیجه گیری

همه مرورگرهای مدرن از ویژگی های CSS3 پشتیبانی می کنند، به این معنی که بنرها در چنین مرورگرهایی به درستی نمایش داده می شوند. اما با کمک افزونه های JS می توانید بنرهای CSS را برای مرورگرهای قدیمی ایجاد کنید. با یادگیری اصول اولیه انیمیشن CSS، فرآیند ایجاد بنر را درک خواهید کرد و به زودی اولین بنر خالص CSS خود را ایجاد خواهید کرد! 😉

بیایید با استفاده از CSS3 یک بنر تبلیغاتی بسازیم. در حال حاضر فقط از انیمیشن های CSS3 به طور کامل پشتیبانی می کند مرورگرهای فایرفاکسو WebKit. اما کارکردن بنر در مرورگرهای دیگر به اندازه کافی آسان است. با این حال، هنگام آزمایش با آخرین تکنیک های CSS، انتظار عملکرد عالی را در همه جا (به خصوص در IE 7 و بالاتر) نداشته باشید.

توجه:برای صرفه جویی در فضا در صفحه، تمام پیشوندهای سازنده مرورگر حذف شده اند. کد را در منابع ببینید.

نشانه گذاری HTML

ابتدا به ساختار بنر در HTML نگاه می کنیم. در این مرحله باید تصور کنیم که انیمیشن چگونه عمل می کند:

گمشده؟

استراحت - ما کمک خواهیم کرد.

برای درک عمیق تر از ساختار نشانه گذاری، بیایید روی قایق تمرکز کنیم:

سه انیمیشن با قایق رخ می دهد:

    لیز خوردن قایق در سمت چپ. برای یک لیست (گروه) نامرتب اعمال می شود.

    تقلید قایق که روی آب تکان می خورد. برای یک آیتم فهرست (قایق) اعمال می شود.

    ظاهر علامت سوال برای یک عنصر div (علامت سوال) اعمال می شود.

اگر به صفحه دمو نگاه کنید، می بینید که انیمیشن مورد لیست (قایق) نیز بر عنصر div داخل آن (علامت سوال) تأثیر می گذارد. همچنین، انیمیشن "sliding out" برای یک لیست نامرتب روی آیتم لیست (قایق و علامت سوال) کار می کند.

بنابراین می توان نتیجه گرفت که عناصر کودک علاوه بر اعمال خود، انیمیشن های والدین خود را نیز دریافت می کنند. اکنون تنها چیزی که باقی می ماند فهرست کردن ساختارهای والد/فرزند است.

CSS

قبل از شروع تجزیه و تحلیل ایجاد انیمیشن، باید اطمینان حاصل کنید سازگار با عقببا مرورگرهای قدیمی

سازگاری به عقب

ما به سادگی با استایل دادن به نشانه گذاری به گونه ای که گویی انیمیشن های CSS اصلا وجود ندارند، سازگاری رو به عقب را تضمین می کنیم. اگر شخصی صفحه را در یک مرورگر قدیمی مشاهده کند، یک تصویر ثابت معمولی و نه فضای سفید خالی را می بیند.

به عنوان مثال: اگر از CSS استفاده کنید چه؟ مشابه موارد زیر، مشکلاتی وجود خواهد داشت:

/* اشتباه است! */ @keyframe our-fade-in-animation ( 0% (opacity:0;) 100% (opacity:1;) ) div ( opacity: 0; /* این div به طور پیش فرض پنهان است - اوه! */ انیمیشن: ما -fade-in-animation 1s 1 )

اگر مرورگر از انیمیشن ها پشتیبانی نکند، عنصر div برای کاربر نامرئی می ماند.

و به این صورت است که ما از سازگاری عقب با مرورگرهای قدیمی اطمینان می‌دهیم:

/* TRUE */ @keyframe our-fade-in-animation ( 0% (opacity:0;) 100% (opacity:1;) ) div ( opacity: 1; /* این div به طور پیش فرض قابل مشاهده است */ انیمیشن: ما -fade-in-animation 1s 1 )

حالا عنصر div نمایش داده می شود حتی اگر انیمیشن شروع نشود. و در مرورگرهای مدرن div ابتدا در طول انیمیشن پنهان می شود.

پیچ و تاب

اکنون می دانیم که چگونه از سازگاری با عقب اطمینان حاصل کنیم (که به جلوگیری از مشکلات هنگام کار با پروژه های واقعی کمک می کند). وقت آن است که پایه کد CSS خود را ایجاد کنیم.

شما باید 3 نکته را به خاطر بسپارید:

    از آنجایی که این بنر در سایت های مختلف استفاده خواهد شد، ما تمام تلاش خود را خواهیم کرد انتخابگرهای CSSخاصهمه آنها با شناسه #ad-1 شروع می شوند. به این ترتیب سعی می کنیم از همپوشانی بین کد خود و کد سایت جلوگیری کنیم.

    ما عمداً تأخیر انیمیشن را نادیده می گیریمدر تاسیسات اگر هنگام تنظیم سبک‌ها با دید پیش‌فرض عناصر از تاخیر انیمیشن استفاده کنید، ساختار بنر به دلیل ناپدید شدن یا ظاهر شدن ناگهانی قسمت‌هایی از تصویر پس از تکمیل انیمیشن مختل می‌شود. تاخیر انیمیشن با مدت زمان و تنظیم فریم ها شبیه سازی می شود.

    در صورت امکان ما از یک انیمیشن برای چندین عنصر استفاده می کنیم.به این ترتیب در زمان صرفه جویی می کنیم و حجم کد را کاهش می دهیم.

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

#ad-1 (عرض: 720 پیکسل؛ ارتفاع: 300 پیکسل؛ شناور: چپ؛ حاشیه: 40 پیکسل خودکار 0؛ تصویر پس‌زمینه: url(../images/ad-1/background.png؛ موقعیت پس‌زمینه: مرکز؛ پس‌زمینه -repeat: no-repeat: hidden box-shadow: 0px 6px #000;

سپس استایل هایی را برای فیلدهای متن و ورودی تنظیم می کنیم. با انیمیشن های مناسب تماس بگیرید. همچنین باید مطمئن شوید که محتوا دارای بالاترین شاخص z برای قطعات متحرک است تا با هم تداخل نداشته باشند:

#ad-1 #content ( عرض: 325 پیکسل؛ شناور: راست؛ حاشیه: 40 پیکسل؛ تراز متن: مرکز؛ شاخص z: 4؛ موقعیت: نسبی؛ سرریز: قابل مشاهده؛ ) #ad-1 h2 (فونت-خانواده: "Alfa Slab One"، رنگ شکسته: #137dd5; تأخیر */ ) #ad-1 h3 ( font-family: "Boogaloo"، خط شکسته؛ رنگ: #202224؛ اندازه قلم: 31px؛ ارتفاع خط: 31px؛ text-shadow: 0px 0px 4px #fff؛ انیمیشن: تاخیری -fade-animation 1 ease-in-out /* ظاهر h3 با تاخیر شبیه سازی شده */ ) فرم #ad-1 ( حاشیه: 30px 0 6px؛ موقعیت: نسبی؛ انیمیشن: فرم-انیمیشن 12s 1 ease-in; -out; /* خارج کردن فرم برای وارد کردن یک آدرس ایمیل با تاخیر شبیه سازی شده */ ) #ad-1 #email ( عرض: 158 پیکسل؛ ارتفاع: 48 پیکسل؛ شناور: سمت چپ؛ بالشتک: 0 20 پیکسل؛ اندازه قلم: 16 پیکسل. font-family: "Lucida Grande"، sans-serif text-shadow: 1px 0px #a2917d;

حاشیه: 1px جامد #a2917d;

#ad-1 ul#water( /* اگر به انیمیشن دیگری برای آب نیاز دارید، می‌توانید آن را اینجا اضافه کنید */ ) #ad-1 li#water-back ( عرض: 1200 پیکسل؛ ارتفاع: 84 پیکسل؛ تصویر پس‌زمینه: url( .. /images/ad-1/water-back.png: z-index: absolute: -20px: water-back-in-out; * تقلید از امواج پاشیده */ ) #ad-1 li#water-front (عرض: 1200 پیکسل؛ ارتفاع: 158 پیکسل؛ تصویر پس‌زمینه: url (../images/ad-1/water-front .png)؛ پس‌زمینه تکرار: z-index: -70px: انیمیشن جلوی آب 2 ثانیه، پخش شدن امواج را کمی سریعتر انجام می دهد.

بیایید سبک هایی را برای قایق و عناصر آن تنظیم کنیم. انیمیشن های مربوطه را نیز می نامیم:

#ad-1 ul#boat ( عرض: 249 پیکسل؛ ارتفاع: 215 پیکسل؛ z-index: 2؛ موقعیت: مطلق؛ پایین: 25 پیکسل؛ سمت چپ: 20 پیکسل؛ سرریز: قابل مشاهده؛ انیمیشن: قایق در انیمیشن 3s 1 ease-out . موقعیت: 0px: قابل مشاهده است. ad-1 #question-mark (عرض: 24 پیکسل؛ ارتفاع: 50 پیکسل؛ تصویر پس زمینه: url(../images/ad-1/question-mark.png)؛ موقعیت: مطلق؛ سمت راست: 34 پیکسل؛ بالا: -30 پیکسل انیمیشن: 4s-fade-animation 1 ease-in-out /* Fade in the question */ ;

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

و این هم کد CSS:

#ad-1 #clouds ( موقعیت: مطلق؛ بالا: 0px؛ z-index: 0؛ انیمیشن: cloud-animation 30s بی نهایت خطی؛ /* ابرها را به سمت چپ اسکرول کنید، تنظیم مجدد و تکرار کنید */ ) #ad-1 # cloud-group -1 ( عرض: 720 پیکسل؛ موقعیت: مطلق؛ چپ: 0 پیکسل؛ ) #ad-1 #cloud-group-2 ( عرض: 720 پیکسل؛ موقعیت: مطلق؛ سمت چپ: 720 پیکسل؛ ) #ad-1 .cloud- 1 ( عرض: 172 پیکسل؛ ارتفاع: 121 پیکسل؛ آدرس اینترنتی (../images/ad-1/cloud-1.png؛ موقعیت: بالای مطلق: 40 پیکسل؛ (عرض: 121 پیکسل؛ ارتفاع: 75 پیکسل؛ تصویر پس‌زمینه: url( ../images/ad-1/cloud-2.png: absolute: -25px ) #ad-1 ( عرض: 105px; : url(../images/ad-1/cloud-3.png: absolute;)

انیمیشن ها

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

حالا بیایید به تصویر استاتیک زیبای خود جان بدهیم:

/* انیمیشن تاخیری شبیه سازی شده برای نمایش چندین عنصر استفاده می شود. شبیه سازی تاخیر با شروع فرآیند با ادامه 80٪ انیمیشن (و نه بلافاصله) انجام می شود. به این ترتیب می‌توانید هر تاخیری را شبیه‌سازی کنید: */ @keyframes delayed-fade-animation ( 0% (opacity: 0;) 80% (opacity: 0;) 100% (opacity: 1;) ) /* انیمیشن برای نمایش فرم با یک آدرس ایمیل و یک دکمه. از تقلید تاخیر نیز استفاده می‌شود */ @keyframes فرم-انیمیشن ( 0% (مادری: 0؛ سمت راست: -400 پیکسل؛) 90% (تصویر: 0؛ سمت راست: -400 پیکسل؛) 95% (مادری: 0.5؛ راست: 20 پیکسل ;) 100% (تاری: 1؛ راست: 0 پیکسل؛) ) /* این انیمیشن برای بیرون آوردن قایق از صفحه نمایش در ابتدای ویدیو استفاده می شود: */ @keyframes boat-in-animation ( 0% (سمت چپ: -200px;) 100% (سمت چپ: 20px;) ) /* انیمیشن برای ابرها. گروه اول ابرها از مرکز شروع به حرکت می کنند و دسته دوم - به سمت راست صفحه. گروه اول به آرامی از صفحه نمایش حذف می شود و گروه دوم در سمت راست ظاهر می شود. هنگامی که گروه سمت چپ کاملاً پنهان شد، ابرها خیلی سریع به موقعیت اصلی خود باز می گردند: */ @keyframes cloud-animation ( 0% (سمت چپ: 0px;) 99.9999% (سمت چپ: -720px;) 100% (سمت چپ: 0px; ) ) / * سه انیمیشن آخر تقریباً یکسان هستند - تفاوت در موقعیت قرارگیری عناصر نهفته است. آنها پخش شدن امواج اقیانوس را شبیه سازی می کنند: */ @keyframes boat-animation ( 0% (پایین: 0px؛ سمت چپ: 0px؛) 25% (پایین: -2px؛ سمت چپ: -2px؛) 70% (پایین: 2px؛ سمت چپ) : - 4px;) 100% (پایین: -1px؛ سمت چپ: 0px;) ) @keyframes water-back-animation ( 0% (پایین: 10px؛ سمت چپ: -20px؛) 25% (پایین: 8px؛ سمت چپ: - 22px؛ 70% (پایین: 12 پیکسل؛ سمت چپ: -24 پیکسل؛) 100% (پایین: 9 پیکسل؛ سمت چپ: -20 پیکسل؛) ) @keyframes water-front-animation ( 0% (پایین: -70 پیکسل؛ سمت چپ: -30 پیکسل ;) 25% (پایین: -68 پیکسل؛ سمت چپ: -32 پیکسل؛) 70٪ (پایین: -72 پیکسل؛ سمت چپ: -34 پیکسل؛) 100٪ (پایین: -69 پیکسل؛ سمت چپ: -30 پیکسل؛) )

نتیجه گیری

در این درس چندین مفهوم کلیدی را یاد گرفتیم:

  1. عناصر وارث انیمیشن های والدین خود را علاوه بر انیمیشن های خود دریافت می کنند.
  2. هنگام ایجاد یک بنر، باید سعی کنید از یک شناسه منحصر به فرد استفاده کنید تا از همپوشانی کد با یک پروژه CSS موجود جلوگیری کنید.
  3. موقعیت و سبک عناصر باید طوری انتخاب شود که انگار انیمیشن در دسترس نیست تا از سازگاری با عقب اطمینان حاصل شود.
  4. در صورت امکان، باید از یک انیمیشن برای چندین عنصر استفاده کنید.

امروز قصد داریم یک بنر با استفاده از انیمیشن CSS3 ایجاد کنیم.

در حال حاضر فقط مرورگرهای فایرفاکس و WebKit از انیمیشن های CSS پشتیبانی می کنند، اما ما به دنبال این خواهیم بود که چگونه می توانیم این بنرها را در مرورگرهای دیگر (که من آن ها را مرورگرهای قرن هجدهم می نامم) کار کنند. با این حال، هنگام آزمایش با فناوری‌های مدرن CSS، نباید انتظار پشتیبانی عالی در همه مرورگرها (به ویژه IE 7 و پایین‌تر) داشته باشید.

پس بیایید بنرهای متحرک بسازیم!

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

نشانه گذاری HTML

ابتدا ساختار بنر را با استفاده از HTML ایجاد می کنیم. در این مرحله ما باید در مورد نحوه عملکرد انیمیشن خود فکر کنیم - چگونه بر عناصر کودک و والدین در ساختار نشانه گذاری ما تأثیر می گذارد (این را در زیر توضیح خواهم داد):



> در دریا گم شده؟ >
> راحت باش - ما سکان تو را داریم. >
>


>
>


  • >
  • >
  • >
    >

    • >
    • >
    • >
      >
      >

        >
        >
        >
        >

        • >
        • >
          >
          >

          برای درک ساختار نشانه گذاری خود، اجازه دهید برای یک ثانیه روی قایق تمرکز کنیم:


            >
            >
            >
            >

            حالا بیایید به اولین بنر در صفحه نمایشی نگاه کنیم. سه انیمیشن جداگانه در کشتی وجود دارد:

            • انیمیشن - وقتی قایق در سمت چپ می لغزد. این به طور مستقیم به یک لیست نامرتب (گروهی از عناصر قایق) اعمال می شود.
            • انیمیشن - که به قایق جلوه ای تکان می دهد و قایق شناور روی آب را شبیه سازی می کند. این به طور مستقیم به موارد فهرست (قایق) اعمال می شود.
            • انیمیشن - که علامت سوال را پنهان می کند. این در مورد div (علامت سوال) صدق می کند.

            اگر از دریازدگی رنج نمی برید، دوباره به صفحه نمایشی نگاه کنید. خواهید دید که انیمیشنی که روی آیتم لیست (قایق) اعمال می شود و باعث بالا آمدن قایق می شود، روی DIV داخل آن (با علامت سوال) نیز تاثیر می گذارد. علاوه بر این، انیمیشن "slide in" که بر روی یک لیست (گروه) نامرتب اعمال می شود نیز بر عنصر لیست و DIV های داخل آن (قایق و علامت سوال) تأثیر می گذارد. این ما را به مشاهدات مهم هدایت می کند:

            عناصر کودک علاوه بر انیمیشن خود، انیمیشن را از والدین خود به ارث می برند.این دانش به زرادخانه ما اضافه شده است، اما تعداد عناصر فرزند/والد هنگام ایجاد یک انیمیشن ذهن شما (و پردازنده لپ تاپ مادربزرگتان) را منفجر می کند!

            CSS

            قبل از اینکه به چیزهای واقعاً جالب برسیم و شروع به ساخت انیمیشن کنیم، هنوز باید برای مرورگرهایی که در قرن هجدهم گیر کرده اند سبک ایجاد کنیم.

            سبک های بازگشتی برای مرورگرهای قدیمی

            ما به سادگی سبک های بازگشتی ایجاد می کنیم که گویی انیمیشن CSS وجود ندارد (فکر اینکه انیمیشن CSS وجود ندارد باعث می شود هر بزرگسالی نه تنها گریه کند، بلکه خود را در کنار من آویزان کند :)). به عبارت دیگر، اگر انیمیشن ما پخش نشود، بنر همچنان باید مناسب به نظر برسد. به این ترتیب، هنگامی که شخصی بنر را با استفاده از یک مرورگر قدیمی مشاهده می کند، به جای فضای خالی، یک بنر معمولی و ثابت را می بیند.

            به عنوان مثال: اگر شخصی از CSS به این شکل استفاده کند، مشکلاتی وجود خواهد داشت:

            /* راه اشتباه! */


            0% (تاری: 0; )
            100% (تاری: 1; )
            }

            Div(
            کدورت: 0 ; /* این بلوک به طور پیش فرض پنهان است!*/

            }

            اگر مرورگر کاربر از انیمیشن پشتیبانی نکند، بنر برای کاربر نامرئی می ماند. و سپس مشتری درب دفتر فروشنده را - با اره برقی در دست - می شکند و می خواهد که به او توضیح دهند که چرا محصولش را نفروخته اند! و اگر نتوانند درک کنند که یک مرورگر می تواند تا این حد رقت انگیز باشد، زندگی آنها به طرز وحشتناکی به پایان می رسد و آخرین کلمات آنها نفرین خواهد بود. اینترنت اکسپلورر... :)

            اما نگران نباشید، ما پشتیبانی گسترده مرورگر را ارائه خواهیم کرد:

            /* راه صحیح */

            @keyframe our-fade-in-animation (
            0% (تاری: 0; )
            100% (تاری: 1; )
            }

            Div(
            کدورت: 1 ; /* این div به طور پیش فرض قابل مشاهده خواهد بود */
            انیمیشن: our-fade-in-animation 1s 1 ;
            }

            همانطور که می بینید، حتی اگر انیمیشن پخش نشود، DIV نمایش داده می شود. اگر انیمیشن قابل پخش باشد، DIV بلافاصله پنهان می شود و انیمیشن تا پایان پخش می شود.

            اکنون که می دانیم چگونه بنرهای متحرک خود را از مرورگرهای قدیمی پشتیبانی کنیم، بیایید به CSS اصلی برویم.

            سه نکته کلیدی وجود دارد که باید در نظر داشت:

            • از آنجایی که این تبلیغات ممکن است در وب سایت های مختلف استفاده شوند، ما تمام سبک های CSS خود را بسیار خاص خواهیم کرد. اعلان هر انتخابگر را با id شروع می کنیم: #ad-1. این باعث می شود سبک های بنر ما توسط سبک ها و عناصر موجود تداخل پیدا نکنند.
            • هدفمند خواهیم بود عملکرد تاخیر انیمیشن را نادیده بگیریدهنگام ایجاد انیمیشن ما اگر بخواهیم از ویژگی تاخیر انیمیشن و همچنین طراحی برای عناصر خود استفاده کنیم راه درست(به طور پیش فرض قابل مشاهده است)، همه اینها قبل از اینکه انیمیشن در نهایت شروع به پخش کند، روی صفحه قابل مشاهده بود. به همین دلیل است که انیمیشن بلافاصله شروع می شود و به ما اجازه می دهد تا عناصر را از صفحه پنهان کنیم تا زمانی که به آنها نیاز داشته باشیم. ما تاخیر انیمیشن را با افزایش مدت زمان و تنظیمات دستیفریم های کلیدی وقتی شروع به ساخت انیمیشن کنیم، نمونه هایی از این را خواهید دید.
            • در صورت امکان، از یک انیمیشن برای چندین عنصر استفاده کنید. به این ترتیب می توانیم در زمان زیادی صرفه جویی کنیم و نفخ کد را کاهش دهیم. شما می توانید چندین افکت مختلف را در یک انیمیشن با تنظیم مدت زمان و انتقال ایجاد کنید.

            بنابراین، ما شروع به ساخت بنر تبلیغاتی خود خواهیم کرد. بیایید مطمئن شویم که موقعیت نسبی (موقعیت: نسبی) دارد تا عناصر داخل آن به درستی قرار گیرند. ما همچنین باید مطمئن شویم که ویژگی overflow: hidden برای پنهان کردن هر چیز غیر ضروری تنظیم شده است:

            #ad-1 (
            عرض: 720 پیکسل؛
            ارتفاع: 300px;
            شناور: چپ؛
            حاشیه: 40 پیکسل خودکار 0;
            background-image : url (../images/ad-1/background.png );
            background-position : center ;
            background-repeat : no-repeat ;
            سرریز: پنهان;
            موقعیت: نسبی;
            box-shadow: 0px 0px 6px #000 ;
            }

            #ad-1 #محتوا (
            عرض: 325 پیکسل؛
            شناور: راست
            حاشیه: 40 پیکسل
            text-align: center;
            z-index: 4;
            موقعیت: نسبی;
            سرریز: قابل مشاهده;
            }
            #ad-1 h2 (
            font-family : "Alfa Slab One" , شکسته ;
            رنگ : #137dd5 ;
            اندازه فونت: 50px;
            ارتفاع خط: 50 پیکسل؛

            انیمیشن: تاخیری-محو-انیمیشن 7s 1 ease-in-out; /* H2 با تاخیر شبیه سازی شده انیمیشن محو می شود */
            }
            #ad-1 h3 (

            رنگ : #202224 ;
            اندازه فونت: 31px;
            ارتفاع خط: 31 پیکسل.
            text-shadow : 0px 0px 4px #fff ;
            انیمیشن: تاخیری-محو-انیمیشن 10s 1 ease-in-out; /* H3 با تاخیر شبیه سازی شده انیمیشن محو می شود */
            }
            فرم #ad-1 (
            حاشیه: 30px 0 0 6px;
            موقعیت: نسبی;
            انیمیشن: فرم-انیمیشن 12s 1 ease-in-out; /* این کد فرم ایمیل ما را جابجا می کند */
            }
            #ad-1 #ایمیل (
            عرض: 158 پیکسل؛
            ارتفاع: 48 پیکسل;
            شناور: چپ؛
            padding: 0 20px;
            اندازه فونت: 16px;
            font-family: "Lucida Grande", sans-serif;
            رنگ : #fff ;
            text-shadow : 1px 1px 0px #a2917d ;
            شعاع حاشیه-بالا-چپ: 5 پیکسل ;
            شعاع حاشیه-پایین-چپ: 5 پیکسل ;
            حاشیه: 1px جامد #a2917d ;
            طرح کلی: هیچ
            box-shadow: -1px -1px 1px #fff ;
            background-color : #c7b29b ;
            تصویر پس‌زمینه: گرادیان خطی (پایین، rgb (216، 201، 185) 0٪، rgb (199، 178، 155) 100٪؛
            }
            #ad-1 #email :focus (
            تصویر پس‌زمینه: گرادیان خطی (پایین، rgb (199، 178، 155) 0٪، rgb (199، 178، 155) 100٪؛

            }
            #ad-1 #submit (
            ارتفاع: 50 پیکسل؛
            شناور: چپ؛
            مکان نما: اشاره گر
            padding: 0 20px;
            اندازه فونت: 20px;
            font-family : "Boogaloo" , شکسته ;
            رنگ : #137dd5 ;
            text-shadow : 1px 1px 0px #fff ;
            حاشیه-بالا-راست-شعاع: 5px ;
            حاشیه-پایین-راست-شعاع: 5px ;
            حاشیه: 1px جامد #bcc0c4 ;
            border-left : هیچ ;
            background-color : #fff ;
            پس‌زمینه-تصویر: گرادیان خطی (پایین، rgb (245، 247، 249) 0٪، rgb (255، 255، 255) 100٪؛
            }
            #ad-1 #submit :hover (
            تصویر پس‌زمینه: گرادیان خطی (پایین، rgb (255، 255، 255) 0٪، rgb (255، 255، 255) 100٪؛
            }

            اکنون استایل هایی برای آب ایجاد می کنیم و انیمیشن مربوطه را صدا می زنیم:

            #ad-1 ul#water (
            /* اگر بخواهیم انیمیشن دیگری برای آب اضافه کنیم (مثلاً حرکت افقی)، می توانیم این کار را اینجا انجام دهیم */
            }
            #ad-1 li#water-back (
            عرض: 1200 پیکسل؛
            ارتفاع: 84 پیکسل;
            background-image : url (../images/ad-1/water-back.png );

            z-index: 1;
            موقعیت: مطلق;
            پایین: 10 پیکسل
            سمت چپ: -20px
            انیمیشن: water-back-animation 3s infinite ease-in-out; /* جلوه پرش آب */
            }
            #ad-1 li#آب جلو (
            عرض: 1200 پیکسل؛
            ارتفاع: 158 پیکسل;
            تصویر پس زمینه: آدرس اینترنتی ( ../images/ad-1/water-front.png) ;
            background-repeat : repeat-x ;
            z-index: 3;
            موقعیت: مطلق;
            پایین: -70 پیکسل
            سمت چپ: -30 پیکسل.
            انیمیشن: water-front-animation 2s infinite ease-in-out; /* یکی دیگر از اثرات پرش آب - کمی متفاوت است. ما این انیمیشن را کمی سریع‌تر می‌سازیم تا چشم‌اندازی ایجاد کنیم. */
            }

            حال بیایید سبک هایی برای قایق و تمام عناصر آن ایجاد کنیم. دوباره انیمیشن مناسب را صدا می زنیم:

            #ad-1 ul# boat (
            عرض: 249 پیکسل؛
            ارتفاع: 215 پیکسل؛
            z-index: 2;
            موقعیت: مطلق;
            پایین: 25 پیکسل
            سمت چپ: 20 پیکسل؛
            سرریز: قابل مشاهده;
            انیمیشن: boat-in-animation 3s 1 ease-out; /* گروه را به ابتدا منتقل کنید */
            }
            #ad-1 ul#boat li (
            عرض: 249 پیکسل؛
            ارتفاع: 215 پیکسل؛
            background-image : url (../images/ad-1/boat.png ) ;
            موقعیت: مطلق;
            پایین : 0px ;
            سمت چپ: 0px;
            سرریز: قابل مشاهده;
            انیمیشن: boat-animation 2s infinite ease-in-out; /* تقلید از یک قایق که روی آب تکان می خورد - انیمیشن مشابه قبلاً برای خود آب استفاده شده است. */
            }
            #ad-1 #علامت سوال (
            عرض: 24 پیکسل؛
            ارتفاع: 50 پیکسل؛
            تصویر پس زمینه: آدرس اینترنتی ( ../images/ad-1/question-mark.png) ;
            موقعیت: مطلق;
            سمت راست: 34 پیکسل؛
            بالا : -30px
            انیمیشن: تاخیری-محو-انیمیشن 4s 1 ease-in-out; /* پنهان شدن علامت سوال */
            }

            در نهایت، ما استایل هایی را برای گروهی از ابرها و برای یک ابر واحد ایجاد می کنیم. ما همچنین یک انیمیشن بسیار زیبا را راه اندازی خواهیم کرد که به آنها جلوه پیمایش مداوم می دهد. در اینجا یک تصویر از آنچه اتفاق خواهد افتاد:

            اینها سبک ها هستند:

            #ad-1 #ابرها (
            موقعیت: مطلق;
            بالا: 0px;
            z-index: 0;
            انیمیشن: ابر انیمیشن 30s بی نهایت خطی; /* ابرها را به سمت چپ حرکت دهید، بی نهایت بار */
            }
            #ad-1 #cloud-group-1 (
            عرض: 720 پیکسل؛
            موقعیت: مطلق;
            سمت چپ: 0px;
            }
            #ad-1 #cloud-group-2 (
            عرض: 720 پیکسل؛
            موقعیت: مطلق;
            سمت چپ: 720px;
            }
            #ad-1 .cloud-1 (
            عرض: 172 پیکسل؛
            ارتفاع: 121px;
            background-image : url (../images/ad-1 /cloud-1 .png) ;
            موقعیت: مطلق;
            بالا: 10px;
            سمت چپ: 40 پیکسل؛
            }
            #ad-1 .cloud-2 (
            عرض: 121px;
            ارتفاع: 75 پیکسل؛
            background-image : url (../images/ad-1 /cloud-2 .png) ;
            موقعیت: مطلق;
            بالا: -25px;
            سمت چپ: 300 پیکسل؛
            }
            #ad-1 .cloud-3 (
            عرض: 132 پیکسل؛
            ارتفاع: 105 پیکسل؛
            background-image : url (../images/ad-1 /cloud-3 .png) ;
            موقعیت: مطلق;
            بالا: -5px;
            سمت چپ: 530px;
            }

            اوفف کدهای CSS زیادی وجود داشت. اما جالب ترین چیز بعدی است!

            انیمیشن

            به یاد داشته باشید: تا این لحظه، هیچ انیمیشن واقعی وجود نداشت. اگر اکنون بنر را مشاهده می کردید، می دیدید که چه چیزی حتی نشان داده می شود مرورگر قدیمی- تبلیغ ثابت بااکنونما در واقع انیمیشنی را که قبلاً در کد CSS خود فراخوانی کرده ایم ایجاد خواهیم کرد.

            اکنون که بنر ما به خوبی نمایش داده می شود، بیایید این تبلیغ ثابت را زنده کنیم! بیایید مستقیماً به کد برویم - در نظرات به شما خواهم گفت که چه اتفاقی خواهد افتاد:

            نتیجه گیری

            در طول این آموزش، نکات کلیدی ایجاد انیمیشن هایی که از مرورگرهای قدیمی پشتیبانی می کنند را آموختیم:

            1. عناصر کودک علاوه بر انیمیشن خود، انیمیشن والدین خود را به ارث می برند. ما می توانیم از این برای ایجاد انیمیشن های پیچیده تر استفاده کنیم.
            2. برای سبک های تبلیغاتی خود، باید از انتخابگرهای بسیار خاص استفاده کنیم تا تبلیغات ما توسط سایر سبک های سایت نادیده گرفته نشود.
            3. لازم است برای عناصر به گونه‌ای استایل تنظیم کنیم که اگر انیمیشن ما قادر به پخش نباشد، تبلیغ همچنان مناسب به نظر برسد.
            4. در صورت امکان، از یک انیمیشن برای چندین عنصر استفاده کنید - ما در زمان صرفه جویی می کنیم و از تکثیر کد جلوگیری می کنیم.
            5. ما اغلب از اینترنت اکسپلورر به عنوان "مرورگر قرن هجدهم" یاد می کنیم در حالی که مشت های خود را از انزجار و عصبانیت تکان می دهیم. :)

            در آزمایش های CSS خود موفق باشید.

            طراحی وب ریسپانسیو یک پیشرفت قابل توجه برای کل اینترنت است. ما دیگر محدود به مدل قدیمی "صفحه چاپی" محتوای ثابت تقسیم شده به مناطق با اندازه ثابت نیستیم. امروزه اینترنت قادر به زندگی، تنفس و سازگاری است و تمام فضای موجود بر روی صفحه نمایش را پر می کند دستگاه های مختلف، شروع از تلفن های همراه- و تا نمایشگرهای ویدیویی بزرگ. این همان چیزی است که وب جهانی در نظر گرفته شده است.

            اما یک مشکل کوچک وجود دارد. وب سایت ها اغلب حاوی بنرهای تبلیغاتی و بنرهای سنتی هستند که چندان انعطاف پذیر نیستند. بنرهای فلش و گیف هر دو اندازه ثابت دارند، به همین دلیل با طرح تطبیقی ​​مدرن ناسازگار هستند. ما به یک روش جدید برای ایجاد تبلیغات بنری نیاز داریم. ما به بنرهای "تطبیقی" نیاز داریم...

            قالب جدید بنر

            تنها راه برای منعطف کردن یک بنر به اندازه نشانه گذاری ما، نوشتن آن در HTML5 است. در ابتدا ممکن است این یک ایده دیوانه کننده به نظر برسد، اما من به شما اطمینان می دهم که اینطور نیست. در واقع، این روش مزایای بسیاری دارد:

            • تبلیغات HTML در همه جا در دسترس استو نشانه گذاری معنایی آن را برای صفحه خوان ها مناسب می کند.
            • متن، تصاویر، فیلم ها، اسکریپت ها و فرم ها - همه اینها را می توان در یک بنر استفاده کرددرست مانند هر صفحه وب؛
            • در صورت لزوم بنرها می توانند از اسکریپت های پویا و پایگاه های داده سمت سرور استفاده کنند;
            • ممکن است پس از ارسال بنر تغییراتی در آن ایجاد شود.;
            • فایل (مجموعه ای از فایل ها) یک بنر HTML می تواند اندازه بسیار کمی داشته باشد;
            • ارائه بنر اساساً به میزبانی وب خلاصه می شود;
            • توسعه دهندگان وب نیازی به یادگیری چیز جدیدی ندارند- همه فن آوری ها مانند توسعه وب معمولی باقی می مانند.
            • و البته با استفاده از پرس‌وجوهای رسانه‌ای CSS3، می‌توانید تبلیغات HTML5 را به هر اندازه‌ای تنظیم کنید- بالاخره این دقیقاً همان رفتاری است که ما از بنرهای تطبیقی ​​انتظار داریم!

            چگونه می توان به این امر دست یافت؟

            ابتدا، بنر به عنوان یک صفحه HTML5 لاستیکی ایجاد می شود. ما آن را با متن، تصاویر، پیوندهای صفحه مورد نیاز پر می کنیم و همه اینها را با CSS3 تزئین می کنیم. ثانیاً، چنین بنری را می توان با استفاده از شناور در هر وب سایتی قرار داد iframe. ترفندی وجود دارد که از پرس‌وجوهای رسانه‌ای CSS3 برای پویا کردن ابعاد iframe استفاده می‌کند و به زودی در مورد آن صحبت خواهم کرد... با این حال، در بیشتر موارد، همین!

© 2024 ermake.ru -- درباره تعمیر رایانه شخصی - پورتال اطلاعاتی