frames
השיעור הזה עוסק ב-frames, מסגרות בעברית. frames מאפשרים לנו ליצור דף שרק חלק ממנו מתחלף כל פעם. בד"כ, החלק שמתחלף הוא החלק הראשי של הדף, התוכן, ואילו החלקים שמופיעים בכל דף, לדוגמא הכותרת והתפריט, נשארים קבועים.העקרון העומד מאחורי frames הוא שיש דף ראשי שמכיל בתוכו מספר דפים אחרים. הדפים המוכלים בדף הראשי לא חייבים להתחלף כולם כשאחד מתחלף. היום כבר לא משתמשים בשיטה הזאת של המסגרות, כי מבחינת מנועי החיפוש, היא מאוד בעייתית, אבל בתור ידע כללי, זה לא מזיק.
הדף הראשי יכיל קוד שמגדיר את מיקום וגודל הדפים האחרים, ושמגדיר את הדף הזה בתור דף ראשי שכזה. כך יראה דף שמכיל frames:
<head>
</head>
<frameset cols="40%,60%">
<frame src="mypage1.html">
<frame src="mypage2.html">
</frameset>
</html>
נקבל דף שמכיל בעצם שני דפים, ומקצה לאחד מהם 40% משטח הדף, ולשני 60%. בשביל לראות את התוצאה, לחצו כאן.
מה עשינו?
קודם כל, הגדרנו דף שמכיל מסגרות: <frameset></frameset>
בתוך תג ה-frameset הראשון ציינו איך הדף יחולק: cols="40%,60%" - שתי עמודות של 40 ו-60 אחוז כל אחת. אם היינו רוצים לחלק את הדף לאורך, כלומר שהדפים יופיעו אחד מתחת לשני, היינו רושמים rows="40%,60%". את האחוזים ניתן כמובן לשנות, וגם לציין את המספר בפיקסלים (בלי סימן %).
לבסוף, הגדרנו איזה דף יופיע בתוך כל מסגרת:
<frame src="mypage1.html">
<frame src="mypage2.html">
כשמגדירים את סדר הדפים, מגדירים אותם משמאל לימין. אם כתבנו את ה-40% ראשון, הדף הראשון שנגדיר יהיה זה שייכנס למקום של ה-40%.
אז ראינו איך מחלקים דף לשני חלקים, לעמודות או לשורות. אפשר באותו אופן לחלק דף גם לשלושה חלקים או יותר:
<frameset rows="20%,15%,65%"></frameset>
אבל מה אם רוצים ליצור מבנה כזה:
| תא צדדי | תא עליון |
| תא תחתון |
אין שום בעיה: נחלק את הדף קודם לעמודות, ואח"כ נחלק את אחת העמודות לשורות:
<head>
</head>
<frameset cols="70%,30%">
<frameset rows="30%,70%">
<frame src="mypage1.html">
<frame src="mypage2.html">
</frameset>
<frame src="mypage3.html">
</frameset>
</html>
לחצו כאן כדי לראות את התוצאה.
מאפיינים ועיצוב של frames
את המאפיינים הבאים ניתן להגדיר בכל תג frame. הם מאפשרים לכם לשלוט בעיצוב של ה-frames:
scrolling=" "
האם יהיה פס גלילה ב-frame הזה? כתבו yes או no לפי רצונכם.
border=" "
מה יהיה עובי הגבול שמפריד את ה-frame הזה מהאחרים? כתבו מספר.
resize=" "
yes או no. האם ניתן יהיה לשנות את הגודל ע"י גרירה של פינת החלון?
noresize
כמו resize="no", רק שזה מתאים גם לדפדפנים יותר ישנים. אפשר להשתמש בשניהם יחד.
marginheight=" "
המרחק בין גבול ה-frame לדף עצמו, לגובה.
marginwidth=" "
המרחק בין גבול ה-frame לדף עצמו, לרוחב.
קישורים (לינקים) בין frames
כל לינק שיופיע בדף שבתוך frame, ייפתח בתוך ה-frame בו הוא נמצא, אלא אם כן נגדיר זאת אחרת. בשביל לפתוח לינק מ-frame אחד בתוך frame אחר, ניתן לכל frame שם כשאנחנו מגדירים אותו:
<frame src="mypage2.html" name="right_frame">
עכשיו, אם יש לי לינק ב-mypage1.html, שאני רוצה שייפתח ב-mypage2.html, כל מה שעליי לעשות זה לכתוב:
<a href="newpage.html" target="right_frame">שם הלינק</a>
ואם אני רוצה לצאת מהמסגרות, מה-frames, ולפתוח דף על פני כל החלון, עליי לרשום
<a href="newpage.html" target="_top">שם הלינק</a>.
noframes
לא כל הדפדפנים תומכים ב-frames, לכן כדאי להתחשב גם במי שיש לו דפדפן ישן. בשביל זה, צריך לכתוב את התגים הבאים אחרי תג ה-frameset:
הודעה למי שאין לו תמיכה ב-frames
</noframes>
ניתן לכתוב הודעה שמפנה את הגולש לדף אחר שמותאם לדפדפן שלו, או אפילו לכתוב את הדף עצמו שם. זה יוצג רק בפני מי שאין לו אפשרות לראות frames.
iframes
טריק נחמד שאפשר לעשות שקשור גם ל-frames הוא iframe. מקדמי אתרים, דרך אגב, כן אוהבים להשתמש ב-iframes לפעמים. וכיוון שתמונה שווה אלף מילים, הנה הקוד והתוצאה:
כך יוצרים דף בתוך דף. רק שימו לב שזה לא עובד בדפדפנים ישנים, ולכן הכיתוב שבין התגים - הוא יופיע בדפדפנים ישנים במקום ה-iframe עצמו.
ניתן להגדיר את רוחב וגובה ה-iframe בעזרת width=" " height=" ". חוץ מזה, זה עובד כמו כל frame אחר.
בזאת בעצם סיימנו את מדריך ה-html. מזל טוב! אתם יכולים לקחת קצת זמן להתאמן, או לעבור לנושא אחר במדריך.
