כיצד ליצור ממשק משתמש Switch באמצעות CSS מסכה
בעיבוד תמונה, מסכה היא טכניקה המאפשרת לך להסתיר תמונה עם אחר. מסכה משמשת ליצירת חלק מתמונה לראות דרך. ניתן לבצע מיסוך באמצעות CSS בעזרת תכונות מיסוך.
ב פוסט של היום אנו ניצור תמונה רעולי פנים באמצעות שתי תמונות PNG ו- CSS מסוך טכניקות, ולאפשר למשתמשים להתמודד עם שתי מצבים של התמונה (יום ו לילה) בעזרת ממשק המשתמש של מתג.
בגלל כמה בעיות תאימות דפדפן - לא כל תכונות המיסוך נתמכות בכל דפדפן (נכון ליוני 2016) - אני אראה שתי טכניקות להוספת מסכות, אחד לדפדפנים מבוססי Webkit ואחד עבור Firefox. שני השלבים הראשונים זה שלושה שלבים הדרכה זהים עבור כל דפדפן, אבל יהיה הבדל בשלב השלישי.
שלב 1. יצירת מתג בסיסי
מאז מתג אופייני יש שתי מדינות עם רק אחד מאופשר בכל פעם, אתה יכול להשתמש קבוצת לחצן הבחירה של שני כדי ליצור את מרכיבי העבודה של המתג. הצב כל לחצן רדיו בצד שמאל וימין של אלמנט ההורה שלהם.
קבוצות לחצני הרדיו נוצרות על ידי מתן כל לחצן רדיו זהה שם
תכונה. בקבוצת לחצני רדיו, רק כפתור רדיו אחד ניתן לבדוק בכל פעם.
אנו מתחילים עם HTML ו- CSS הבאים:
HTML
CSS
ב CSS להלן, השתמשתי מיקום מוחלט למקם את לחצני הבחירה על המסך שבו אני רוצה.
#outerWrapper width: 450px; גובה: 90px; ריפוד: 10px; שוליים: 100px אוטומטי 0 אוטומטי; border-radius: 55px; box-shadow: 0 0 10px 6px #EAEBED; רקע: #fff; #innerWrapper גובה: 100%; border-radius: 45px; overflow: hidden; מקומות קרובים .radio width: 90px; גובה: 100%; תפקיד מוחלט שוליים: 0; אטימות: 0; #rightRadio right: 0; .radio: לא (: מסומן) סמן: מצביע;
הוספתי את אטימות: 0
הכלל post .רדיו
כיתה כדי להסתיר את לחצני הבחירה. הכלל האחרון בבלוק הקוד להלן, הסמן: מצביע;
מציג את סמן המצביע עבור לחצן הבחירה שאינו מסומן, כך שמשתמשים יידעו איזה לחצן ללחוץ כדי להחליף את מצב המתג.
שלב 2. הוסף Skins כדי Switch
בשלב זה, נוסיף שני אני משתמש "יום" ו "לילה" כמו שתי המדינות של הבורר, בהשראת ירייה Dribbble על ידי Minh Killy Le. HTML CSS ה עם המאפיין CSS המאורעות CSS אתה יכול להגדיר את הנסיבות שבהן אלמנט גרפי יכול להיות ממוקד על ידי אירועים עכבר. כחלופה לקוד לעיל, שתיים עבור Chrome ודפדפנים אחרים מבוססי Webkit, אני אשתמש ב- באופן כללי, ישנם שני סוגים של מסוך: בהיקות ו אלפא. ב- Chrome (כמו בגירסה 51.0.2704.103, Win10), רק אלפא נראה לעבוד כרגע. ב CSS, הנה CSS מוסיף מסכה לתמונות רקע בדפדפני Webkit: CSS השתמשתי עבור העור בלילה, יצרתי מעגל שקוף, ואני עשיתי את החלק הנותר של אטום מכולה. עבור העור יום, עשיתי את ההפך: יצר מעגל אטום עם למרות שזה עדיין לא נתמך בדפדפני Webkit, הוספתי את כפי שניתן לראות לעיל, הגבול של המעגל אינו חלק מאוד. ל להסתיר את הקצוות הגסים, הוסף HTML CSS ה למרות ש אז במקום א תמונת SVG לעיל נראית כמו שילוב של מלבן לבן א מעגל שחור. הוסף את זה, ועוד אחד עם מלבן שחור א עיגול לבן כמו מסכות ל- HTML שבו השתמשנו בגרסת Webkit. HTML החלף (או שלב עם) את קוד ה- CSS עבור כעת יש לנו שתי תמונות מסכה שונות (CSS gradient & SVG), שני סוגי מסכה שונים (Alpha & Luminance) וכן תמיכה Webkit ו- Firefox. CSS
#daySkin background-image: url ('day.png'); # nightSkin background-image: url ('night.png'); .skin width: 100%; גובה: 100%; מצביע אירועים: אף אחד; תפקיד מוחלט שוליים: 0;
מצביע אירועים: אף אחד;
הכלל הוא הוסיף את עורות כך האירועים לחץ על המתג יכול לעבור דרכם, ו להגיע ללחצני הבחירה. (עם תמונות המקור) בתוך
שלב 3 א. הוסף מסכה (גרסת Webkit)
מסכה-דימוי
נכס CSS, אשר - נכון לכתיבת פוסט זה - עובד רק עם -WebKit
קידומת בדפדפני Webkit. ה מסכה-דימוי
הנכס מאפשר לך ציין את התמונה להשתמש כמו מסכה.אלפא
ו בהיקות
הם הערכים של סוג מסכה
נכס.#nightSkin background-image: url ('night.png'); סוג מסיכה: אלפא; / * מעגל שקוף עם החלק הנותר אטום * / -webkit מסכה- image: רדיאלי שיפוע (מעגל ב 45px 45px, rgba (0,0,0,0) 45px, rgba (0,0,0,1) 45px) ; / * * כאשר העור יום נבחר * / #leftRadio: מסומן ~ # nightSkin מסכה-סוג: אלפא; / * מעגל אטום עם החלק הנותר שקוף * / -webkit מסכה- image: רדיאלי שיפוע (מעגל ב 405px 45px, rgba (0,0,0,1) 45px, rgba (0,0,0,0) 45px) ;
-webkit-mask-image
המאפיין כדי ליצור את תמונת המסכה הראשונית. ערכו משתמש מחוגי רדיאלי ()
פונקציית CSS המשמשת ליצירת תמונה מצורה מוגדרת מראש, שיפוע רדיאלי ומרכז מעבר הצבע.מחוגי רדיאלי ()
פונקציה, והפך את החלק הנותר שקוף.סוג מסכה
רכוש ל- CSS לעיון עתידי.
#switchBtnOutline width: 90px; גובה: 100%; border-radius: 45px; box-shadow: 0 0 2px אפור אפור, 0 0 10px אפור; מצביע אירועים: אף אחד; תפקיד מוחלט שוליים: 0; / * מקום #switchBtnOutline בצד ימין כאשר העור יום נבחר * / #leftRadio: מסומן ~ # switchBtnOutline right: 0;
שלב 3 ב. הוספת מסיכה (גרסת Firefox)
מסכה-דימוי
מאפיין CSS הוא למעשה רכוש ארוך, וזה חלק מקניין הקיצור מסכה
זה מאפשר לך לציין את התמונה לשמש כמסיכה גם כן. בזמן מסכה-דימוי
אינו נתמך עדיין ב- Firefox, מסכה
J.מסכה
רכוש צריך לקבל תמונה שנוצרה עם מחוגי רדיאלי ()
CSS פונקציה כערך, בדיוק כמו מסכה-דימוי
רכוש עשה, אין תמיכה כי עדיין ב- Firefox.מחוגי רדיאלי ()
תמונה, בואו נשתמש בתמונת SVG כתמונת המסכה עם סוג המסכה בהיקות
.
# nightSkin
השתמשנו בגירסת Webkit עם הקוד הבא. וסיימת.#nightSkin background-image: url ('night.png'); סוג מסכה: בהיקות; מסכה: כתובת אתר (#leftSwitchMask); #leftRadio: מסומנת ~ # nightSkin mask-type: בהיקות; מסכה: כתובת אתר (#rightSwitchMask);
בדוק את ההדגמה