עבור לתוכן

בעיה עם width ו div עם Firefox

Featured Replies

פורסם

כרגיל הדפדפן הזה חייב להמשיך ולעשות בעיות.

תנסו את הקוד הבא ב IE ובשועל ותראו את ההבדלים:

<html>
<body>
<div id="bla" style="position:absolute;width:20px;height:100px;background-color:blue;border-style:solid;border-width:1px;border-color:red">6666666666666</div>
</body>
</html>

ב IE ה div מתאים עצמו לתוכן ובשועל לא. למה!?

מה ניתן לעשות ?

פורסם

Pure-Gold, צר לי להודיע לך אך זהו בהחלט באג באקספלורר...

אם אני לא טועה, זה אפילו באג ידוע, וחיפוש באינטרנט עשוי להביא תוצאות.

אני לא מבין למה אתה חושב שהבעיה ב-FF, אתה מגדיר ל-div רוחב של 20 פיקסלים, אבל נותן לו תוכן שנמתח על יותר מ-20 פיקסלים... אז למה אתה מצפה?

Firefox עושה בדיוק מה שביקשת ובדיוק מה שכתבת.... (בניגוד ל-IE, שהחליט על דעת עצמו להרחיב לך את ה-div בניגוד למה שכתבת)

פורסם
  • מחבר

זו ממש לא בעיה של אקספלורר.

גם ע"י ג'אווה סקריפט הוא סרב להשתנות.

אבל הצלחתי להתגבר על הבעיה :)

פורסם
זו ממש לא בעיה של אקספלורר.

זו בהחלט בעיה של האקספלורר.

לפני שנמשיך בדיון בוא נסכים על משהו בסיסי והוא:

הדפדפן צריך לבצע את מה שהמתכנת כתב לו.

מסכים?

אם כן, Firefox נתן רוחב של 20 פיקסלים ל-div בדיוק כמו שביקשת.

IE מרחיב את ה-div ליותר מ-20 פיקסלים, וזאת בניגוד למה שכתבת!

במילים אחרות, אקספלורר מתעלם ממה שהמתכנת כתב במקרה כזה.

אני בטוח שיש מיליון "באגים" מהסוג הזה בבאגזילה שסומנו שוב ושוב כ-INVALID, אין לי בכלל ספק בכך.

במידה ואתה רוצה, שרוחב ה-div יתאים לרוחב הטקסט פשוט אל תציין רוחב!

אם אתה לא מציין רוחב, הדפדפן יקבע את רוחב ה-div לפי התוכן - שזה הגיוני ומבוצע הן ב-FF והן ב-IE!

מה שהיית צריך לעשות כדי לפתור את הבעיה (יש כמובן כמה דרכים) היא פשוט להוריד את הגדרת הרוחב, ולהחליפה ב-display:inline

ניתן גם להרחיב ידנית את הערך של הרוחב (פתרון לא אלגנטי, לדעתי)

גם ע"י ג'אווה סקריפט הוא סרב להשתנות.

אני לא רואה איך Java Script מתקשר לכאן....

עריכה:

הנה דוגמא והוכחה לכך שזה אינו באג ב-Firefox:

https://bugzilla.mozilla.org/show_bug.cgi?id=271497

פורסם

יש את MIN-WIDTH.

פורסם

זו ממש לא בעיה של אקספלורר.

גם ע"י ג'אווה סקריפט הוא סרב להשתנות.

אבל הצלחתי להתגבר על הבעיה :)

מצטער "לאכזב" אותך, אבל זה לחלוטין באג באקפלורר ובתכנות השגוי שלך (כלומר, התכנות כשלעצמו נכון, אבל לא למטרה שאתה מנסה להשיג..).

אבל מסקרן אותי לדעת.. איך התגברת על ה"בעיה" בסוף?

פורסם
  • מחבר

בתוך ה Div שמתי טבלה עם רקע ול div עצמו הורדתי את הרקע והגבול כך שלא מעניין אותי מה הגודל שלו ועדיין יראו את התוכן כמו שצריך.

פורסם

ניסית להשתמש עם min-width?

פורסם

אני לא יודע ספציפית לגבי הקוד הנ"ל

אבל הוויכוח הניצחי לגבי מי לא בסדר FF או IE ,

מזכיר לי קצת את הוויכוח על השפה העברית התקנית לפי האקדמיה ללשון העברית והעברית המדוברת ברחוב

אם מישהו מכם ינסה לדבר עברית תקנית עם החברים שלו קרוב לוודאי שיעשו לכם זובור ולכן כדי לשמור על תקשורת אנחנו מדברים אחד עם השני בעברית לא תקנית

FF דפדפן ששומר בקנאות על תקן W3C העולמית

מייקרוסופט לעומתה עם ה- IE שלה שמה פס על תקן W3C ודחפה כל מיני פיצ'רים לא תקניים

האם זה טוב ? זה לא משנה

מה שמשנה הוא שמייקרוסופט הצליחה לדחוף את הדפדפן הלא תקני שלה ל- 90% משולחנות העבודה

ואילו FF מזדחלת עם 10% תפוצה

יצא מזה שתכניתני WEB בודקים את האתר שלהם קודם כל על IE ורק אחרי שהפרוייקט גמור נזכרים שהאתר לא עולה כמו שצריך ב- FF

המון תכניתנים רגילים לכתוב ב- javascript את הביטוי

document.all["elementid"]

כדי להגיע לתג ספציפי בקוד ה- html

ב-FF הקוד הנ"ל לא עובד וצריך להיות

document.getElementByID("elementid")

אני מתאר לעצמי שאם כל החברות בעולם יצטרכו להתאים את האתרים שלהם התאמה מלאה לשני הדפדפנים מדובר בהוצאה דמיונית של טריליוני דולרים

אבל אם Mozilla "יאמצו" (כמה משפיל זה יכול להיות בטח בשבילם) את התחביר של מייקרוסופט כ-סטנדרט עבורם מדובר בהוצאה סבירה

שדווקא יכולה לגרום לגרום לסחף של משתמשים לטובת FF

פורסם

אסור שזה יקרה חס וחלילה טפו טפו.

פורסם

NJorl, בוקר טוב.

document.all נכנס גם ל-Firefox החל מגרסה 1. (על אף שאינו תקני, בגלל שיש המוני אתרים שמשתמשים בו).

אם Mozilla תכניס כל דבר שיש באקספלורר כל מה שתקבל זה עוד דפדפן כמו Maxthon וכד'.

במקרה הזה, אין לי בכלל ספק שההתנהגות של Firefox עדיפה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים