פתאום שמתי לב, שבקצת יותר משנה של קיומו של הבלוג הזה, מעולם לא פירסמתי פוסט המוקדש לאהבה והמקצוע המקבילים שלי, לצד ההפקה המוזיקלית: עיצוב ותכנות אתרים. זה גם חלק גדול ממה שאני מלמד בקולג' שבו אני עובד, ה Art Institute of Fort Lauderdale.
אז במה דברים אמורים, ומדוע אני מתעצבן על אקספלורר?
נתחיל מהבסיס. שתי שפות עיקריות מקנות לעמוד באינטרנט את הצורה שבה הוא נראה לצופה:HTML (על כל צורותיו ומוטציותיו) ו -CSS
(אני מבטיח להשאיר את זה קליל ככל האפשר, לטובת אלו שאינם בוני אתרים במקצועם).
למה צריך שתי שפות? ה HTML כיום משמש בעיקר לתאור התוכן והמבנה, בעוד ה-CSS אחראי על הצורה, העיצוב, המראה.
משל למה הדבר דומה? נגיד שאאסוף קבוצה של אנשים, אתן להן פיסת נייר ועיפרון, ואכתיב להם בעל פה:
כותרת: "הביטלס התפרקו". שורה חדשה, "היום, העשירי באפריל 1970, הודיע פול מקראטני רשמית לעיתונות שהביטלס התפרקו, מליוני מעריצים בשוק", בבקשה להדגיש את המילה "בשוק".
אם אסתכל במה שהם כתבו, הרי סביר שהתוכן (המילים) והמבנה (מהי הכותרת, מהי פיסקה, מה מודגש), יהיה זהה אצל כולם. זה המידע והתפקיד המקביל למה שכותבים ב HTML. אבל, סביר מאד להניח, שהצורה שבה הם בחרו להציג למשל את ההבדל הויזואלי בין כותרת לפיסקה, יהיה שונה מאחד לשני: אחד אולי יבחר לסמן כותרת על ידי קו מפריד מתחתיה ורווח גדול לפני השורה הבאה, השני יסמן שזו כותרת על ידי הגדלת האותיות, השלישי יבדיל בין כותרת לבין פיסקה על ידי סגנון האותיות….מתן סגנון לתוכן, קביעת כל הדברים הללו, הוא תפקידה של שפת ה– CSS.
כלומר, HTML למשל יגיד משהו מקביל ל "פה מתחילה קופסה, ובתוך הקופסה יש את המילים האלו…."
אבל זה יהיה תפקיד ה CSS לקבוע אם הרקע של הקופסה יהיה צהוב או שחור, אם הקופסה תיושר לימין או שמאל הדף, גובהה, האם יהיו לה שוליים, ובאיזה עובי, ובאיזה צבע, איזה גופן ישמש את הטקסט….וכו.
מה הקוץ שבאליה? שיש המון דפדפנים בשוק. כולם, בלי בעיות, מבינים את הHTML היטב, ובאופן אחיד. אבל, כשזה מגיע ל CSS, דפדפנים שונים מפרשים את ההוראות על עיצוב הדף בצורה שונה, וחלקם לא מבינים כלל או מתעלמים מפקודות מסוימות.
והאספלורר הוא הגרוע והעקשן מכולם.
הנה למשל, הגירסה האחרונה של שפת ה-CSS, גירסה 3, הוסיפה כמה פקודות ויכולות שהמון מעצבים חיכו להם וביקשו שנים: היכולת לעגל פינות של אלמנטים רבועים, היכולת להטיל צל (drop shadow) על אלמנטים ועל טקסט, והיכולת לסדר טקסט בעמודות, כמו בעיתון, כך שברגע שמתמלאת העמודה הראשונה הטקסט ממשיך אוטומאטית לשניה.
אז קודם כל, הנה עמוד פשוט, בלי CSS בכלל, רק תוכן ב HTML:
מה יש פה? כותרת, ואז קופסה, (div, קיצור ל-division) ובתוכה פיסקה של טקסט.
ואז, בעזרת הפקודות החדשות ב CSS, נתתי לכותרת צללית, (וגופן וגודל משלה כמובן), ולקופסה שבתוכה הפיסקה נתתי רקע ושוליים ופינות מעוגלות, וצללית, ולטקסט בתוך הקופסה אמרתי ל"זרום" לתוך שתי עמודות.
וכך זה מתקבל בפיירפוקס (מאק ו–ווינדוז), וגם בסאפרי (מאק ו–ווינדוז), וגם בדפדפן החדש של גוגל, כרום:
למי שמתעניין, הנה ה CSS קוד:
<style type="text/css">
<!–
.twocol {
width: 450px;
background-color: #eee;
-webkit-box-shadow:2px 2px 5px #333;
-moz-box-shadow:2px 2px 5px #333;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
}
.twocol p {
padding: 10px;
margin: 10px;
-webkit-column-count: 2;
-webkit-column-gap: 1em;
-moz-column-count: 2;
-moz-column-gap: 1em;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size: 12px;
}
h1 {
text-shadow:2px 2px 5px #333;
font-family: "Trebuchet MS", Arial, Helvetica, sans-serif;
font-size: 24px;
color: #333;
}
אז מה הבעיה? הנה, כך זה יראה באקספלורר, לכל גירסאותיו, כולל 8, החדשה ביותר:
האקספלורר לא הבין, או התעלם, מהצללית על הכותרת, מהצללית על הקופסה, מהפינות המעוגלות, ומהחלוקה של הטקסט לעמודות. גררררררררר…..
כמה אנשים משתמשים באקספלורר? הנה קצת סטטיסטיקה:
אז מה עושים? למרבה הצער, מעצבים ומתכנתים כמוני, יצטרכו להימנע משימוש באפשרויות החדשות, עד שמיקרוסופט יואילו בטובם להוציא דפדפן שתומך בהן, או עד ש(הלוואי) שנתח השוק של אקפלורר יקטן כל כך, שלא נצטרך להתחשב בו יותר. עד אז, אם נרצה פינות מעוגלות וצללית, נצטרך להשתמש בשיטות יותר פרימיטיביות, כמו הכללת תמונות, שיטות שמגבילות את העיצוב ו"עולות" הרבה יותר נפח של קילובייטים.
7 תגובות על “עוד סיבות לתעב את מיקרוסופט אינטרנט אספלורר”
לא מבינה בזה כל כך
אבל למדתי היום קצת
אקספלורר ידוע כלא שווה
הנה כרגע הוא נתקע לי בפוסט שלך
השבוע צוטטה בכירה במיקרוסופט באמרה:
Friends don't let friends use IE6.
אחרי המון נסיונות להתאים את האתרים שלי לכל הדפדפנים, התייאשתי. הם מותאמים לרוב הדפדפנים הנורמלים, ולצערי הגולשים באקספלורר מקבלים כמה דברים בצורה מעוותת.
גיגול קצר יבהיר במה מדובר.
איכספלורר 6 הוא דפדפן גרוע מאוד שמייצג את ניסיונה (שנכשל) של מיקרוסופט לאכוף כללים משלהם בבניית אתרים. אין דרך שיכלה יותר להשניא את מיקרוסופט על קהילת המפתחים ברשת.
הצרה היא שגם גירסאות 7 ו-8 לא תומכות בצורה מלאה ב
CSS3.
אני חייב להגיד שאני לא מת על הכנסת קצוות מעוגלים לתקן css פשוט בגלל שהעיצוב של קצוות מעוגלים משתנה. לפעמים אני רוצה שיראו כך, ולפעמים אחרת. הייתי בהחלט מעדיף יותר אפשרויות עיצוב לתמונה הרקע, כמו קביעת גודל, והוספת יותר מתמונה אחת במיקומים שונים לאלמנט, על פני תג css שעוסק בפתרון של בעיה ספציפית כמו קצוות מעוגלים.
וזה לא משנה את עצם העובדה שלו הייתי יכול להעלים את אקספלורר מקיום, הוא לא היה קיים, אבל פחות בגלל פערי היכולת בינו לבין דפדפנים אחרים, אלא בגלל שכלי הדיבוג שלו מחורבנים להפליא.
כלומר כתבת CSS לא תקני ואתה מאשים את אקספלורר. יופי.
יש סיבה לה תכונות הCSS שאתה משתמש בהן מתחילות בכל מיני שמות של דפדפנים.
אתה רוצה להיות early adaptor של דברים שיום אחד יהפכו אולי לתקן, תעשה את זה בכיף אבל מה הפואנטה לקטר על אנשים שלא רוצים להיות early adaptor?
ה W3
החל לפרסם את הגירסה השלישית של
CSS
כבר ב2001.
היכולות שעליהן דיברתי, מצויות כבר מ2005, אם לא לפני זה
אבל לא זה מה שחשוב. העניין הוא, שאם כל הדפדפנים האחרים כן תומכים בהן כבר, ורק אקפלורר לא, הרי שאקפלורר הא הלייט אדאפטור.
הלא לא חסרות דוגמאות של דברים אפילו מ
CSS2
התקני לחלוטין, שאקפלורר החליט לא לתמוך בהן, כמו
opacity
אקפלורר אינו תומך, ומוכן להכיר רק ב
filter(alpha)
שהמציאו בשבילו במיוחד מיקרוסופט,
אם כבר מדברים על קוד לא תקני.
אבל למה ללכת רחוק? הממשק של האתר הזה, רשימות
(שאותו ואת תכניו אני אוהב מאד
ממשק הניהול שלו לבעלי הבלוגים עובד אך ורק על אקספלורר, משום שהוא בנוי על קוד לחלוטין לא תקני שנתמך אך ורק על ידי אקפלורר, רק על ווינדוז.
כאיש מאק, אני נאלץ להעביר לווינדוז בכל פעם שאני רוצה לפרסם רשימה.
מה, אתם עובדים עם וונדוז???