/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
CSS og transparent-stylen
Fra : Kenneth Bon


Dato : 15-07-03 06:45

Jeg har gentagne gange haft problemer med subject.

Det ser ud til, at når man vil bruge background: transparent-stylen, så skal
der være defineret en baggrund før dette, for at objektet vitterligt bliver
gennemsigtigt.

Kan det passe, at man ikke i den sidste celle i en tabel kan definere et
baggrundsbillede, der kan ses i de foregående celler, simpelthen fordi en
browser renderer koden fra top til tå og ikke tager forbehold for en style,
medmindre den er relevant på det tidspunkt hvor koden læses?

/Kenneth

Se eksempel her :

VIRKER:
-------

<table width="700" border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="background: url('http://bgbilled.jpg') right bottom
no-repeat; border-left: 1px solid #8D8C8A; border-right: 1px solid #8D8C8A;
border-top: 1px solid #8D8C8A; border-bottom: 1px solid #8D8C8A;">
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="275" rowspan="2"><img src="billed2.jpg" width="275"
height="390"></td>
<td colspan="2" valign="top"><img src="billed3.gif" width="420"
height="100"></td>
</tr>
<tr>
<td width="255" height="290" valign="top" style="background-color:
transparent;"><p>Tamtam-tekst her.</p>
</td>
<td width="168" height="290" valign="top">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>

VIRKER IKKE:
------------

<table width="700" border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="border-left: 1px solid #8D8C8A; border-right: 1px solid
#8D8C8A; border-top: 1px solid #8D8C8A; border-bottom: 1px solid #8D8C8A;">
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="275" rowspan="2"><img src="billed2.jpg" width="275"
height="390"></td>
<td colspan="2" valign="top"><img src="billed3.gif" width="420"
height="100"></td>
</tr>
<tr>
<td width="255" height="290" valign="top" style="background-color:
transparent;"><p>Tamtam-tekst her.</p>
</td>
<td width="168" height="290" valign="top" style="background:
url('http://bgbilled.jpg') right bottom no-repeat;">&nbsp;</td>
</tr>
</table>
</td>
</tr>
</table>



 
 
Lasse Reichstein Nie~ (15-07-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 15-07-03 13:13

"Kenneth Bon" <info@NOSPAMkennethbon.dk> writes:

> Det ser ud til, at når man vil bruge background: transparent-stylen, så skal
> der være defineret en baggrund før dette, for at objektet vitterligt bliver
> gennemsigtigt.

> Kan det passe, at man ikke i den sidste celle i en tabel kan definere et
> baggrundsbillede, der kan ses i de foregående celler, simpelthen fordi en
> browser renderer koden fra top til tå og ikke tager forbehold for en style,
> medmindre den er relevant på det tidspunkt hvor koden læses?

Den er jeg bange for du bliver nødt til at forklare igen. Jeg er ikke
sikker på hvad det er du vil opnå, og hvad det er der sker.

Først og fremmest: "transparent" er default for "background-color",
så det ændrer ikke noget at sætte den. Det er det samme som ikke at
skrive noget.

En transparent baggrund gør at baggrunden ikke skygger for elementer
bagved, hvilket typisk er elementet man er inde i.

Tabeller er lidt specielle fordi de enkelte dele ligger oven på hindanden.
Følgende elementer har baggrunde der alle som standard er gennemsigtige:
<table>
<colgroup>
<col>
<tbody>
<tr>
<td>

Hvis tbody-elementet har fx en grøn baggrund (eller et billede), så
kan man ikke se baggrunden på de foregående. Se fx eksemplet:
<URL:http://www.infimum.dk/privat/tablelayersCSS.html>
<URL:http://www.infimum.dk/privat/tablelayerdesc.html>
(virker kun helt rigtigt i Opera, IE og Mozilla forstår ikke bagground
på col og colgroup elementer)

> Se eksempel her :

Jeg kan ikke se hvad det skal vise, da jeg ikke har "bgbilled.jpg".
Kan du lægge det op på en side og give et link?

Det er ikke nok at sige "virker ikke". Hvad forventede du der skulle
ske, og hvad sker der faktisk?

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Kenneth Bon (15-07-2003)
Kommentar
Fra : Kenneth Bon


Dato : 15-07-03 17:18

[klip]

> Jeg kan ikke se hvad det skal vise, da jeg ikke har "bgbilled.jpg".
> Kan du lægge det op på en side og give et link?
>
> Det er ikke nok at sige "virker ikke". Hvad forventede du der skulle
> ske, og hvad sker der faktisk?

Ganske kort fortalt : I eksempelt der virker vises baggrundsbilledet fint
nede i højre hjørne.
I eksemplet der IKKE virker, vises baggrundsbilledet ikke. I dette eksempel
er billedet pladseret som baggrund i den sidste celle - men browseren viser
ikke billedet igennem de andre celler, som den burde. Ergo må browseren
først opfatte baggrunden i den sidste celle, når koden er loadet (klart
nok) - men så har den ikke lige overvejet, at tabellerne før den celle bør
kunne se billedet.

Damn det er svært at forklare - hjalp det? Eller skal jeg lave et eksempel?

/Kenneth



Lasse Reichstein Nie~ (15-07-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 15-07-03 18:39

"Kenneth Bon" <info@NOSPAMkennethbon.dk> writes:

> Ganske kort fortalt : I eksempelt der virker vises baggrundsbilledet fint
> nede i højre hjørne.
> I eksemplet der IKKE virker, vises baggrundsbilledet ikke.

I min browser virker begge eksempler (når jeg tilføjer en URL der
peger på et billede). Hvilken browser bruger du?

> I dette eksempel er billedet pladseret som baggrund i den sidste
> celle - men browseren viser ikke billedet igennem de andre celler,

Det burde den. Celler, som alle andre elementer, har gennemsigtig
baggrund som standard, med mindre du har noget CSS et andet sted
der giver dem fx hvid baggrund.

> som den burde. Ergo må browseren først opfatte baggrunden i den
> sidste celle, når koden er loadet (klart nok) - men så har den ikke
> lige overvejet, at tabellerne før den celle bør kunne se billedet.

Tabellerne skal ikke "se" noget. Enten har de en baggrund der er
gennemsigt eller ej. Hvis noget med ikke-gennemsigtig baggrund er
foran noget med andet, så kan det andet ikke ses. Det er lige som små
stykker papir (eller gennemsigtig plastik) der er lagt ovenpå
hinanden.

> Damn det er svært at forklare - hjalp det? Eller skal jeg lave et eksempel?

Jeg tror det hjælper, men jeg kan ikke reproducere problemet.

--
Lasse Reichstein Nielsen - lrn@hotpop.com
Art D'HTML: <URL:http://www.infimum.dk/HTML/randomArtSplit.html>
'Faith without judgement merely degrades the spirit divine.'

Kenneth Bon (15-07-2003)
Kommentar
Fra : Kenneth Bon


Dato : 15-07-03 18:57

"Lasse Reichstein Nielsen" <lrn@hotpop.com> wrote in message
news:he5nzo3u.fsf@hotpop.com...

[klip]

> Jeg tror det hjælper, men jeg kan ikke reproducere problemet.

Hm - jeg bruger IE 6.0 - var på arbejde, jeg havde 'problemet' - jeg skal
prøve at genskabe problemet. Jeg var godt klar over, at transparent er
standard, men når noget ikke virker prøver man jo virkelig at udpensle ting
for at den skide maskine skal forstå :)

/Kenneth



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste