DCSIMG
הצמדת שני td משני tr, כדי שלא יהיה רווח, באמצעות vertical-align - שלמה גולדברג (הרב דוטנט)

שלמה גולדברג (הרב דוטנט)

מרצה בסלע ויועץ בעולם ה - net.

הצמדת שני td משני tr, כדי שלא יהיה רווח, באמצעות vertical-align

 

כתבתי טבלת html פשוטה שיש בה שני שורות ובכל שורה עמודה אחת עם תמונה. כאן:
 
התמונות הם למעשה תמונה אחת גדולה שנחתכה לשניים, לצורך עבודת html קלה.
 
הבעייה שלי הייתה, שהייתי אמור להצמיד את התמונות, כך שלא יהיה רווח ביניהם.
 
בהתחלה כתבתי את הקוד הבא:
 
 

    1 <table>

    2     <tr>

    3         <td>

    4             <img src="http://blogs.microsoft.co.il/photos/shlomo/images/248506/original.aspx" />

    5         </td>

    6     </tr>

    7     <tr>

    8         <td>

    9             <img src="http://blogs.microsoft.co.il/photos/shlomo/images/248506/original.aspx" />

   10         </td>

   11     </tr>

   12 </table>

 
זה הביא לי את התוצאה הבאה:
 
ואז כמובן שניסיתי להוסיף cellpading=0 cellspacing=0,
 

    1 <table cellpadding="0" cellspacing="0">

    2     <tr>

    3         <td>

    4             <img src="http://blogs.microsoft.co.il/photos/shlomo/images/248506/original.aspx" />

    5         </td>

    6     </tr>

    7     <tr>

    8         <td>

    9             <img src="http://blogs.microsoft.co.il/photos/shlomo/images/248506/original.aspx" />

   10         </td>

   11     </tr>

   12 </table>

 
 
זה לא עזר, זה אמנם קירב קצת, אבל התוצאה הייתה נראת כך:
 
האופצייה הבאה שלי, הייתה להשתמש ב background של התמונה לעמודה, במקום אובייקט תמונה,
ואז יחד עם ה cellpading ו cellspacing, זה עבד.
 
 

    1 <table cellpadding="0" cellspacing="0">

    2     <tr>

    3         <td style="background-image:

    4                 url(http://blogs.microsoft.co.il/photos/shlomo/images/248506/original.aspx);

    5             width:128px; height:58px;">

    6             &nbsp;

    7         </td>

    8     </tr>

    9     <tr>

   10         <td style="background-image:

   11             url(http://blogs.microsoft.co.il/photos/shlomo/images/248506/original.aspx);

   12             width:128px; height:58px;">

   13             &nbsp;

   14         </td>

   15     </tr>

   16 </table>

 

 
 
 
וכמובן שזה עבד רק בתוספת של cellpadding="0" cellspacing="0"
 
הבעייה שלי הייתה שעל התמונה שלי (באתר של סלע) מופיע כיתוב של "לסיור וירטואלי", שאמור להיות לינק.
 
והאופצייה היחידה שעמדה לרשותי, היה, להשתמש ב image map,
הבעייה כמובן, שברגע שהתמונה היא, background, אי אפשר לצרף לה imgae map,
 
ומצד שני, לא הצלחתי למצוא איך לגרום לתמונות להיות רצופות.
 
ניסתי לעשות ל td העליון valign=butoom, ולתחתון valign=top,
לא עזר, בין השורות היה רווח.
 
בסופו של דבר אמר לי מישהו עם הרבה נסיון ב html, שאני אנסה לתת valign לתמונה בעצמה:
 
 

    1 <table cellpadding="0" cellspacing="0">

    2     <tr>

    3         <td>

    4             <img src="http://blogs.microsoft.co.il/photos/shlomo/images/248506/original.aspx"

    5             style="vertical-align:bottom" />

    6         </td>

    7     </tr>

    8     <tr>

    9         <td>

   10             <img src="http://blogs.microsoft.co.il/photos/shlomo/images/248506/original.aspx" />

   11         </td>

   12     </tr>

   13 </table>

 

 

 
וכבמעשה ניסים, זה עבד.
פורסם: Mar 14 2009, 10:08 PM by Shlomo | with 7 comment(s)
תגים:, , ,

תוכן התגובה

Tamir Shlomi כתב/ה:

יש עוד שיטה מבלי להשתמש ב vertical align, והיא פשוט להצמיד את התגיות. יש נטייה למפתחים להשתמש ב CTRL K+D ע"מ ליישר את הקוד (Format Selection ב context menu) ואז VS מיישר לך את הקוד עם רווחים יפים וכו'.

במידה ותצמיד את התגיות, כל הרווחים ייעלמו. כך שבמקום:

<td>

  <img ...>

<td>

תעמד את ה HTML כך:

<td><img...></td>

וזה נצמד יופי ללא שום רווח :)

תמיר.

# March 16, 2009 9:19 AM

Shlomo כתב/ה:

נחמד, אבל לי זה נשמע כמו באג של IE או של ה VS.

קודם כל כי אנחנו כן רוצים תמיד ליישר יפה את הקוד,

שנית, אסור שיהיה הבדל ב HTML, בגלל תווים בלתי נראים.

# March 16, 2009 12:38 PM

Tamir Shlomi כתב/ה:

כנראה שזה באג של IE6/IE7.

בשאר הדפדפנים (FF/Chrome) זה עובד מצויין גם ללא align של ה img, רק טבלא רגילה עם cellpadding/spacing = 0.

# March 16, 2009 1:55 PM

Tamir Shlomi's Blog כתב/ה:

There is a bug with IE (6/7) that when you try to draw a table to splice few images together there is

# March 17, 2009 9:50 PM

Tamir Shlomi's Blog כתב/ה:

There is a bug with IE (6/7) that when you try to draw a table to splice few images together there is

# March 18, 2009 10:23 AM

יצחק כתב/ה:

זה לא בדיוק באג,

מה לא חוקי בתו רווח ??

אם אנחנו עושים:

<img ... /> <img ... />

זה כמעט כמו לעשות:

<img ... />&nbsp;<img ... />

מאיפה לדפדפן לדעת שאתם לא רוצים את התו רווח?

# July 7, 2009 6:07 PM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 7 and 8 and type the answer here:


Enter the numbers above: