שאלה נפוצה בעיצוב האתר היא "איך אתה קובע את הגובה של אלמנט 100%"?
זה אולי נראה כמו תשובה קלה. אתה פשוט להשתמש ב- CSS כדי להגדיר את הגובה של אלמנט ל -100%, אבל זה לא תמיד למתוח את האלמנט הזה כדי להתאים את כל חלון הדפדפן. בואו לגלות מדוע זה קורה ומה אתה יכול לעשות כדי להשיג את הסגנון החזותי הזה.
פיקסלים ואחוזים
כאשר אתה מגדיר את הגובה של אלמנט באמצעות המאפיין CSS וערך המשתמש בפיקסלים, אלמנט זה ייקח שטח אנכי רב בדפדפן. לדוגמה, פסקה עם
גובה: 100px;
ייקח 100 פיקסלים של שטח אנכי בתכנון שלך. זה לא משנה כמה גדול חלון הדפדפן שלך, אלמנט זה יהיה 100 פיקסלים בגובה. אחוז העבודה שונה מאשר בפיקסלים. על פי מפרט W3C, אחוזי הגבהים מחושבים ביחס לגובה המכולה. אז אם אתה שם פסקה עם גובה: 50%;
בתוך div עם גובה של 100px, הפסקה תהיה 50 פיקסלים גובה, המהווה 50% של אלמנט ההורה שלה. אם אתה מעצב דף אינטרנט, ויש לך עמוד שאתה רוצה לקחת את מלוא גובה החלון, הנטייה הטבעית היא להוסיף גובה: 100%;
לאותו יסוד. אחרי הכל, אם אתה מגדיר את רוחב
ל רוחב: 100%;
האלמנט ייקח את המרחב האופקי המלא של הדף, כך גובה
צריך לעבוד אותו דבר, נכון? למרבה הצער, זה לא המקרה בכלל. כדי להבין מדוע זה קורה, עליך להבין כיצד הדפדפנים מפרשים גובה ורוחב. דפדפני אינטרנט לחשב את רוחב זמין הכולל כפונקציה של איך רחב חלון הדפדפן נפתח. רוחב
אם לא תגדיר ערכים על המסמכים שלך, הדפדפן יזרם באופן אוטומטי את התוכן כדי למלא את כל רוחב החלון (רוחב 100% הוא ברירת המחדל). ערך הגובה מחושב בצורה שונה מהרוחב. למעשה, הדפדפנים אינם מעריכים את הגובה כלל, אלא אם התוכן ארוך כל כך עד שהוא יוצא אל מחוץ למסך התצוגה (ולכן דורש פסי גלילה) או אם מעצב האינטרנט מגדיר מוחלט עבור אלמנט בדף. גובה
אחרת, הדפדפן פשוט מאפשר את זרימת התוכן ברוחב של שדה התצוגה עד שהוא מגיע לסוף. הגובה אינו מחושב כלל. בעיות מתרחשות כאשר מגדירים גובה באחוזים על אלמנט בעל אלמנטים אביים ללא גבהים - במילים אחרות, לאלמנטים ההורים יש ברירת מחדל. גובה: אוטומטי;
למעשה, אתה מבקש מהדפדפן לחשב גובה מערך לא מוגדר. מאז זה יהיה שווה ערך ריק, התוצאה היא שהדפדפן עושה כלום. אם ברצונך להגדיר גובה בדפי האינטרנט שלך לאחוז, עליך להגדיר את הגובה של כל ההורה של אחד אתה רוצה להגדיר את הגובה. במילים אחרות, אם יש לך דף כזה: תוכן כאן
סביר להניח שאתה רוצה את זה div
ואת הפיסקה בו יש גובה 100%, אבל זה div למעשה שתיים רכיבי אב: ו. על מנת להגדיר את גובה div
לגובה יחסי, עליך לקבוע את גובה הגוף
ו HTML
גם אלמנטים. אז היית צריך להשתמש ב- CSS כדי להגדיר את הגובה של לא רק את div אבל גם את הגוף ואת רכיבי HTML. זה יכול להיות אתגר, שכן אתה יכול לקבל במהירות המום עם הכל להיות מוגדר 100% גובה, רק כדי להשיג את האפקט הרצוי. עכשיו שאתה יודע איך להגדיר את גובה אלמנטים הדף שלך ל -100%, זה יכול להיות מרגש לצאת ולעשות את זה לכל הדפים שלך, אבל יש כמה דברים שאתה צריך להיות מודע: כדי לתקן זאת, באפשרותך להגדיר את גובה האלמנט גם כן. אם תגדיר את זה אוטומטי,
גלילה יופיעו אם הם נחוצים אבל נעלמים כאשר הם לא.זה מתקן את חזותית הפסקה, אבל זה מוסיף scrollbars איפה אתה לא יכול לרצות אותם. דרך נוספת אתה יכול להתמודד עם האתגר הזה היא להתנסות עם CSS Viewport יחידות. באמצעות יחידת גובה התצוגה של המדידה, אתה יכול לגודל אלמנטים כדי לגובה גובה מוגדרת של viewport, וזה ישתנה כמו השינויים ויפורט! זוהי דרך מצוינת לקבל את 100% גובה חזותיים בדף אבל עדיין יש להם להיות גמישים עבור מכשירים שונים וגדלים מסך. מדוע אחוזי הגולן נכשלים
כמה דברים כדי לציין בעת עבודה עם 100% גבהים
שימוש ביחידות Viewport




