webForumDet fria alternativet

Genoskinlig bakgrund i en tabell...

HTML & CSS

10 svar · 378 visningar · startad av mattiasnordin

Medlem sedan maj 20012 080 inlägg
Frågan#1

Hej,

Jag försöker få till effekten av en tabell som innehåller en halvgenomskinlig vit bakgrund. Texten i tabellen vill jag ska vara skarp som vanligt.

 STYLE="filter:alpha(opacity=35)"

i table taggen fungerar bra. Men då blir även texten transparent. Några förslag?
:)

Medlem sedan dec. 20025 871 inlägg
#2

Fungerar det om du ger texten en bestämd färg då?

STYLE="filter:alpha(opacity=35);color:#000000;"
Medlem sedan maj 20012 080 inlägg
#3

Nej det blir samma resultat... :(

Jag tänkte att om jag skapade en tabell med en bakgrundfärg och gjorde ytterligare en tabell i denna så skulle bara opaciteten gälla för tabell nummer ett. Men så verkar inte vara fallet... Grrr..

<div id="layer_show_ping_info" style="position:absolute;left:236px;top:460px;">
	<table><td bgcolor=white STYLE="filter:alpha(opacity=50); color:#000000;" style="border:1px solid gray"><!---- bgcolor table ---->
	<table border=0 width=550><td colspan=4 style="border-bottom: 1px solid gray;">
Medlem sedan dec. 20025 871 inlägg
#4

Ganska smart lösning. Problemet är att den tabellen då ärver egenskapen från den förra tabellen. Testa med att sätta 100 % opacitet på tabellen.

Medlem sedan maj 20012 080 inlägg
#5

Det var min tanke att det skulle gå med 100% i den innersta tabellen men det verkar som att 100% är 100% av opacitet = 50 även i den innersta tabellen. Max är alltså lika som den yttersta. Fortfarande grrr...

Medlem sedan mars 2001895 inlägg
#6

Kan du inte göra ett till lager istället?

Medlem sedan aug. 20039 340 inlägg
#7

Vad sägs om detta då?
Skapa en PNG-bild med 50% transparens och spara som bg.png.

 

<script type="text/javascript">
var outstyle="<style type=\"text/css\">"

if (document.all && (navigator.platform == "Win32") && !window.opera )
  outstyle += ".trans {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png',sizingMethod='scale')";
else
  outstyle += ".trans {background: url('bg.png')}"

outstyle += "</style>";
// Edit: Jag glömde denna rad förut.

document.write (outstyle);
</script>
...
<table>
<tr>
<td class="trans">
Text text text text text text text text text 

</td>
</tr>
</table>
Medlem sedan aug. 20039 340 inlägg
#8

Lite ny kod...
Bilden följer med också.

 
<style type="text/css">
body	{color: white; }

</style>

<script type="text/javascript">
var outstyle="<style type=\"text/css\">"

if (document.all && (navigator.platform == "Win32") && !window.opera )
  outstyle += ".trans {filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bg.png',sizingMethod='scale')";
else
  outstyle += ".trans {background: url('bg.png')}"

outstyle += "</style>"

document.write (outstyle);

function chbg(incolor){
  document.body.bgColor = incolor;
}

</script>

<a href="javascript: chbg('#ff2020');">Röd</a> <a href="javascript: chbg('#20ff20');">Grön</a> <a href="javascript: chbg('#2020ff');">Blå</a>

<table width="95%">
<tr >
<td class="trans">
Text text text text text text text text text 
</td>
</tr>

<tr >
<td class="trans">
Text text text text text text text text text 
</td>
</tr>

<tr >
<td class="trans">
Text text text text text text text text text 
</td>
</tr>

</table>
bg.png
Medlem sedan maj 20012 080 inlägg
#9

Tack alla.

Jag nöjde mig med följande lösning:

<!--- Denna existerar enbart för att skapa den genomskinliga effekten --->
<div id="layer_show_ping_info" style="position:absolute;left:233px;top:460px;">
	<img src="transparent_box.gif" STYLE="filter:alpha(opacity=50);border:1px solid gray">
</div>

	
<div id="layer_show_ping_info2" style="position:absolute;left:235px;top:462px;">
	<table border=0 width=550><td colspan=4 style="border-bottom: 1px solid gray;">
...

Skapade en gifbild som jag gjorde genomskinlig. Och skapade ett nytt lager ovanför detta.

Medlem sedan aug. 20039 340 inlägg
#10

Jag tycker självklart min lösning ovan är den bästa ;) . Men jag har ett förslag för att göra din egen lösning snäppet bättre:

 
<div id="layer_show_ping_info" style="position:absolute;left:233px;top:460px;">
	<img src="transparent_box.gif" STYLE="filter:alpha(opacity=50); -moz-opacity: .5; border:1px solid gray">
</div>

Detta gör att effekten även fungerar i Netscape 6+ (Aka Mozilla, därav -moz-)

Medlem sedan maj 20012 080 inlägg
#11

Tackar tackar...
Anledningen till att jag gav din lösning "slutgiltig svar" var pga att det säker är den snyggaste lösningen om sidan ska användas ute på internet.
Jag har lyxen att kunna diktatera att alla ska använda IIS på nätet jag sitter på för tillfället ;)

258 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)