backgroundcolor not rendered with Netscape, Firefox

  • Thread starter Thread starter André
  • Start date Start date
A

André

Hi,

i created a table with cells. One cell has background-color (LightSlateGray)
and contains a label without text but also with a backgroundcolor (red). The
width of the label is set by a value which represents a percentage of
another value (doesn't matter).

In IE, it works: i see the background of the cell and the red background of
the label.
In Netscape, Safari, Firefox, i only see the backgroundcolor of the cell
(LightSlateGray) but not the red background of the label.

Any idea how to solve this?
Thanks
André

Here the source of the file sent to the browser:
---------------------------------------------

<td align="left" style="background-color:LightSlateGray;"><span
style="display:inline-block;background-color:Red;width:50px;"></span></td>

And here the code-behind:
--------------------------
c = New TableCell
c.HorizontalAlign = HorizontalAlign.Left
c.BackColor = Drawing.Color.LightSlateGray
l = New Label
l.BackColor = Drawing.Color.Red
If aantalantw(j) > 0 Then
l.Width = Math.Round((va(j, k) / aantalantw(j)) * 100, 1)
Else
l.Width = 0
End If
c.Controls.Add(l)
 
André said:
Hi,

i created a table with cells. One cell has background-color (LightSlateGray)
and contains a label without text but also with a backgroundcolor (red). The
width of the label is set by a value which represents a percentage of
another value (doesn't matter).

In IE, it works: i see the background of the cell and the red background of
the label.
In Netscape, Safari, Firefox, i only see the backgroundcolor of the cell
(LightSlateGray) but not the red background of the label.

Any idea how to solve this?
Thanks
André

Here the source of the file sent to the browser:
---------------------------------------------

<td align="left" style="background-color:LightSlateGray;"><span
style="display:inline-block;background-color:Red;width:50px;"></span></td>

And here the code-behind:
--------------------------
c = New TableCell
c.HorizontalAlign = HorizontalAlign.Left
c.BackColor = Drawing.Color.LightSlateGray
l = New Label
l.BackColor = Drawing.Color.Red
If aantalantw(j) > 0 Then
l.Width = Math.Round((va(j, k) / aantalantw(j)) * 100, 1)
Else
l.Width = 0
End If
c.Controls.Add(l)

The display value inline-block is part of the CSS 2.1 standard, so it's
not implemented in all current browsers. The implementation in IE7 is
only partial, and Firefox 2 doesn't support it at all.

As Firefox doesn't recognise the inline-block setting, the span is still
an inline element. You can't specify a width for inline elements, so as
there isn't anything in the span, it will not take up any space. The
background color works just fine, you just don't see it.
 
Thanks for replying.
Do you mean there is no solution for this problem?

The display value inline-block is part of the CSS 2.1 standard, so it's
not implemented in all current browsers. The implementation in IE7 is only
partial, and Firefox 2 doesn't support it at all.
As Firefox doesn't recognise the inline-block setting, the span is still
an inline element. You can't specify a width for inline elements, so as
there isn't anything in the span, it will not take up any space. The
background color works just fine, you just don't see it.

If the label is the only element within the cell then just set the
label's display property to "block".
If there are several elements than use "display:block" together with
"float:left" (or "float:right")

Label l = new Label()
l.Style["display"] = "block";
l.Style["float"] = "left"; //optional

Code in C#, I do not remember VB syntax :(

Mykola
http://marss.co.ua
 
Thanks

"marss" <[email protected]> schreef in bericht
Thanks for replying.
Do you mean there is no solution for this problem?

The display value inline-block is part of the CSS 2.1 standard, so it's
not implemented in all current browsers. The implementation in IE7 is
only
partial, and Firefox 2 doesn't support it at all.
As Firefox doesn't recognise the inline-block setting, the span is still
an inline element. You can't specify a width for inline elements, so as
there isn't anything in the span, it will not take up any space. The
background color works just fine, you just don't see it.

If the label is the only element within the cell then just set the
label's display property to "block".
If there are several elements than use "display:block" together with
"float:left" (or "float:right")

Label l = new Label()
l.Style["display"] = "block";
l.Style["float"] = "left"; //optional

Code in C#, I do not remember VB syntax :(

Mykola
http://marss.co.ua
 
Back
Top