ما بلافاصله توجه می کنیم که هیچ تصویری در اینجا وجود ندارد، بلکه فقط ویژگی های CSS3 وجود دارد! از آنجایی که خالق است طراح حرفه ای، او همچنین عملکرد بازگشتی را برای نسخه های قدیمی مرورگرها در نظر گرفت. این همان چیزی است که نوارها در Opera 11 به نظر می رسند، که فقط از برخی از گزینه های CSS3 پشتیبانی می کند، اما نه همه.
احتمالاً قبلاً حدس زدهاید که در مرورگرهایی که اصلاً از CSS3 پشتیبانی نمیکنند، نوارها تقریباً یکسان به نظر میرسند، اما حتی سادهتر.
HTML پایه
نوار خود یک div با یک کلاس است. در داخل آن، یک دهانه قرار می دهیم که به عنوان منطقه "پر شده" نوار پیشرفت عمل می کند. این را می توان از طریق یک ظاهر طراحی داخلی به دست آورد. در اینجا ما به گروه نیاز داریم تا بفهمیم چقدر باید پر باشد و در چنین مواردی است که عناصر درون خطی. جایگزین نوع CSSکلاس هایی مانند "پر کردن 10 درصد"، "پر کردن یک سوم" و غیره وجود خواهد داشت.
بنیاد:
شروع CSS
wrapper div نوار پیشرفت در خط ما است. برای اینکه پهنای کامل عنصر بلوک والد را بپوشاند، نیازی به تنظیم پارامتر عرض نداریم. اگرچه، شما می توانید پارامتر را تنظیم کنید. پارامتر ارتفاع نیز دلخواه است. روی 20 پیکسل تنظیم شده است، اما می توانید آن را به دلخواه تنظیم کنید. در مرحله بعد، گوشه ها را در تمام مرورگرهایی که در آن امکان پذیر است گرد می کنیم و تنظیم می کنیم سایه داخلیبرای دادن اثر عمق.
متر (
ارتفاع: 20 پیکسل؛ /* می تواند هر چیزی باشد */
موقعیت: نسبی;
پس زمینه: #555;
-moz-border-radius: 25px.
-webkit-border-radius: 25px.
حاشیه شعاع: 25 پیکسل.
بالشتک: 10 پیکسل
-webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3);
-moz-box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3);
box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3);
}
Span داخل قسمتی از نوار پیشرفت را پر می کند. ما نمایشگر را روی نوع بلوک با پارامتر ارتفاع 100٪ تنظیم می کنیم. بنابراین، آن را به طور کامل کشیده خواهد شد منطقه قابل دسترسی. در مرحله بعد، از مقداری کد CSS3 برای ایجاد درجه بندی و گوشه های گرد استفاده می کنیم.
متر > دهانه (
display:block;
ارتفاع: 100%;
-وب کیت-
-وب کیت-
حاشیه-بالا-راست-شعاع: 8 پیکسل.
حاشیه-پایین-راست-شعاع: 8 پیکسل.
پس زمینه رنگ: rgb(43,194,83);
پس زمینه-تصویر: -webkit-gradient(
خطی،
پایین سمت چپ,
بالا سمت چپ،
color-stop(0, rgb(43,194,83)),
color-stop (1, rgb (84,240,84))
);
پس زمینه-تصویر: -moz-linear-gradient(
پایین مرکز،
rgb(43,194,83) 37%
rgb(84,240,84) 69%
);
-webkit-box-shadow:
-moz-box-shadow:
inset 0 2px 9px rgba(255,255,255,0.3)
inset 0 -2px 6px rgba(0,0,0,0.4);
موقعیت: نسبی;
سرریز: پنهان
}
رنگ های دیگر
بیایید رنگ را خیلی ساده تغییر دهیم. فقط یک کلاس به نام "نارنجی" یا "قرمز" را به wrapper div اضافه کنید و رنگ آن تغییر خواهد کرد.
نارنجی > دهانه(
پس زمینه رنگ: #f1a165;
پسزمینه-تصویر: -moz-linear-gradient (بالا، #f1a165، #f36d0a)؛
پسزمینه-تصویر: -webkit-gradient (خطی، بالا سمت چپ، پایین سمت چپ، رنگ-توقف (0، #f1a165)، رنگ-توقف (1، #f36d0a))؛
پس زمینه-تصویر: -webkit-linear-gradient(#f1a165, #f36d0a);
}
قرمز > دهانه (
پس زمینه رنگ: #f0a3a3;
پس زمینه-تصویر: -moz-linear-gradient(بالا، #f0a3a3، #f42323);
پسزمینه-تصویر: -webkit-gradient(خطی، بالا سمت چپ، پایین سمت چپ، color-stop(0، #f0a3a3)، color-stop(1، #f42323));
background-image: -webkit-linear-gradient(#f0a3a3, #f42323);
}
راه راه
همچنین میتوانیم با افزودن یک عنصر دیگر در بالای دهانه خود و دادن یک گرادیان CSS تکراری، یک افکت «راه راه» جذاب اضافه کنیم. از نظر معنایی، بهتر است این کار با یک شبه عنصر انجام شود، پس بیایید این کار را انجام دهیم. ما به آن یک موقعیت مطلق در یک منطقه خاص از دهانه خود می دهیم (که قبلاً یک مقدار موقعیت نسبی دارد) و سپس گوشه ها را گرد می کنیم تا راه راه ها ناخوشایند به نظر نرسند.
متر > دهانه: پس از (
محتوا: ""؛
موقعیت: مطلق;
بالا: 0; سمت چپ: 0; پایین: 0; سمت راست: 0;
تصویر پس زمینه:
-webkit-gradient(خطی، 0 0، 100% 100%,
color-stop(.25، rgba(255، 255، 255، .2))،
color-stop(.25، شفاف)، color-stop(.5، شفاف)،
color-stop(.5، rgba(255، 255، 255، .2))،
color-stop(.75، rgba(255، 255، 255، 0.2))،
color-stop(.75، شفاف)، به (شفاف)
);
تصویر پس زمینه:
-moz-linear-gradient(
-45 درجه،
rgba(255, 255, 255, .2) 25%
شفاف 25%
شفاف 50%
rgba(255, 255, 255, .2) 50%
rgba(255, 255, 255, .2) 75%
شفاف 75%
شفاف
);
z-index: 1;
-webkit-background-size: 50px 50px;
-moz-background-size: 50px 50px;
-moz-border-radius-topright: 8px;
-moz-border-radius-bottomright: 8px;
حاشیه-بالا-راست-شعاع: 8 پیکسل.
حاشیه-پایین-راست-شعاع: 8 پیکسل.
-webkit-border-top-left-radius: 20px.
-webkit-border-bottom-left-radius: 20px.
-moz-border-radius-topleft: 20px;
-moz-border-radius-bottomleft: 20px;
شعاع حاشیه-بالا-چپ: 20 پیکسل؛
شعاع حاشیه-پایین-چپ: 20 پیکسل.
سرریز: پنهان
}
متحرک سازی راه راه
فقط فایرفاکس 4 می تواند شبه عناصر را متحرک کند و فقط مرورگرهای خانواده Webkit می توانند این کار را انجام دهند انیمیشن قدم به قدم. بنابراین متاسفانه ما توانایی زیادی برای متحرک سازی این راه راه ها نداریم. اگر هنوز نیاز به ساخت یک انیمیشن دارید، بیایید یک بازه دیگر اضافه کنیم و از خانواده مرورگرهای Webkit بخواهیم آن را متحرک کنند.
دهانه با عنصر شبه یکسان خواهد بود، بنابراین ما فقط از همان مقادیر استفاده می کنیم...
Meter > span:after، .animate > span > span (
و سعی کنید از تکراری شدن جلوگیری کنید:
Animate > span:after (
نمایش: هیچ
}
در مرحله بعد، موقعیت پسزمینه را با مقداری برابر با اندازه آن بیشتر میکنیم:
@-webkit-keyframes move(
0% {
پس زمینه موقعیت: 0 0;
}
100% {
موقعیت پس زمینه: 50px 50px.
}
}
اسمش را انیمیشن بگذاریم:
Meter > span:after، .animate > span > span (
-webkit-animation: حرکت 2s خطی بی نهایت.
}
ممکن است ارزش آن را داشته باشد که انیمیشن را به شبه عنصر نیز متصل کنید تا به محض پشتیبانی مرورگرهای Webkit از این ویژگی، کار کند.
انیمیشن با عرض پر شده
متأسفانه، شما نمی توانید یک عنصر را در عرض خودکار یا طبیعی متحرک کنید، که احتمالاً به عناصر درون خطی امکان می دهد متحرک شوند.
@-webkit-animation expandWidth(
0% (عرض: 0; )
100% (عرض: خودکار؛ )
}
نویسنده این عنصر را برای همه ردیابهای اشکال تطبیق داده است مرورگرهای محبوب، ولی در این لحظهاین پشتیبانی نمی شود در عوض، بیایید از jQuery استفاده کنیم. عرض اصلی را تنظیم کنید، آن را به صفر فشار دهید و سپس متحرک سازی کنید:
$(".meter > span").each(function() (
$ (این)
.data("origWidth"، $(this).width())
.width(0)
.animate((
عرض: $(this).data("origWidth")
}, 1200);
});
خودشه!
ترجمه: ولاد مرژویچ
HTML5 یک عنصر نوار پیشرفت را اضافه می کند که به شما امکان می دهد پیشرفت را نشان دهید وظایف خاصمانند دانلود یا آپلود، اساساً هر چیزی که مدتی طول می کشد.
در این مقاله، نحوه افزودن این عنصر به سند، استایل دادن به آن با CSS و متحرک سازی پیشرفت را مورد بحث قرار خواهیم داد.
بیا شروع کنیم.
مبانی استفاده
نشانگر با برچسب اضافه می شود. مقدار پیشرفت با ویژگی های مقدار، min و max به صورت زیر تعریف می شود.
از آنجایی که این یک نشانگر داخلی است، ظاهر آن بسته به پلت فرم متفاوت است. در زیر نشانگر داخلی در ویندوز و OS X چگونه به نظر می رسد.
حالا بیایید سعی کنیم این عنصر را طوری سبک کنیم که در همه پلتفرم ها یکسان به نظر برسد.
یک ظاهر طراحی نوار پیشرفت
در یک شیوه نامه، می توانیم از انتخابگر پیشرفت برای اضافه کردن قوانین سبک به یک عنصر استفاده کنیم
پیشرفت (رنگ پسزمینه: #f3f3f3؛ حاشیه: 0؛ ارتفاع: 18 پیکسل؛ شعاع حاشیه: 9 پیکسل؛ )
با این حال، تفاوت های جزئی در بین مرورگرها وجود دارد. AT فایرفاکسسبک ها به خود نشانگر اعمال می شوند، در حالی که سبک لغزنده تغییر نمی کند.
AT کرومو سافاریاستایل های اصلی حذف شده و با . جایگزین می شوند تا سبک بالا اعمال نشود (توسط حداقل، درحال حاضر).
بنابراین، در این مورد به چیز دیگری نیاز داریم.
در کروم و عنصر سافاری