WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   visibility:collapse; på <tr> (https://www.wn.se/forum/showthread.php?t=28486)

grinditwp 2008-04-09 11:32

visibility:collapse; verkar inte fungera i IE, men fungerar i Firefox. Några förslag?

Kod:

<table width="450" border="0" cellspacing="1" cellpadding="5">
<tr id="namnBox" style="visibility:collapse;">
 <td>Text</td>
</tr>
<tr id="textBox" style="visibility:collapse;">
 <td>Text</td>
</tr>
</table>


DudeRille 2008-04-09 11:55

Citat:

visibility:hidden

grinditwp 2008-04-09 11:58

Problemet är dock då att det blir ett tomrum där.
Alltså, innehållet försvinner men platsen som innehållet hade tagit finns kvar och blir tomrum. :)

HMH 2008-04-09 12:05

Kod:

display: none;

turboraketti 2008-04-09 12:06

Tyvärr saknas stöd för visibility:collapse i de flesta webbläsarna. Inte ens MSIE8b fixar det, och övriga MSIE renderar det som hidden: http://www.quirksmode.org/css/columns.html

Mozilla noterar det i sin referens: http://developer.mozilla.org/en/docs...sibility#Notes

Kuriosa. Standarden för visibility: http://www.w3.org/TR/CSS21/visufx.html#visibility

grinditwp 2008-04-09 12:12

Citat:

Originally posted by HMH@Apr 9 2008, 12:05
Kod:

display none;

Ja, jo det fungerar juh... men... om jag vill visa det hela igen?
Vad fungerar då? jag får bara display block att fungera i IE. Det låter dock inte helt rätt att visa en <tr> dom ett block :P eller?

HMH 2008-04-09 13:02

Att visa igen borde rimligen vara:
Kod:

display: table-row;

turboraketti 2008-04-09 13:04

display: table-row;

Dock återigen, taskigt med stöd i MSIE... men block kanske är en bra fallback:
display: table-row;
#display: block; /*MSIE0-7*/

grinditwp 2008-04-09 14:12

Citat:

Originally posted by turboraketti@Apr 9 2008, 13:04
display: table-row;
Dock återigen, taskigt med stöd i MSIE... men block kanske är en bra fallback:
display: table-row;
#display: block; /*MSIE0-7*/

Precis... när skall de stora företagen slå sig samman och verkligen följa en standard? :P
Tack!

turboraketti 2008-04-09 14:28

Det slog mig... Det mest generiska sättet att skriva sin CSS borde vara:
display: block;
display: table-row; /*browsers not knowing this will stick to 'block'*/

Alltid gött att slippa hacks om det går...

martine 2008-04-09 18:03

Citat:

Originally posted by turboraketti@Apr 9 2008, 13:04
display: table-row;

Dock återigen, taskigt med stöd i MSIE... men block kanske är en bra fallback:
display: table-row;
#display: block; /*MSIE0-7*/

Är # ett hack som fungerar generellt i alla versioner av IE? (Har inte sett det tidigare.)

turboraketti 2008-04-09 19:15

Citat:

Ursprungligen postat av martine
Citat:

Ursprungligen postat av turboraketti
display: table-row;
Dock återigen, taskigt med stöd i MSIE... men block kanske är en bra fallback:
display: table-row;
#display: block; /*MSIE0-7*/


Är # ett hack som fungerar generellt i alla versioner av IE? (Har inte sett det tidigare.)

#property: value; /*påverkar MSIE0-7*/
_property: value; /*påverkar MSIE0-6*/

Tror inte det påverkar för IE-Mac dock. Och så vet jag inte hur MSIE8 påverkas.

grinditwp 2008-04-10 15:15

Men alltså det är ju ett jävulst problem att IE inte accepterar "table" som value. Block verkar vara det enda som IE tar emot. Och det kan bli väldigt konstig.

Inga andra bra tips på hur man kan gå till väga?

Jag använder det hela i en funktion:

Kod:

document.getElementById(id).style.display = 'block';
        document.getElementById(id2).style.display = 'none';

Alltså en tabell skall visas och en annan ska döljas. Genom att man trycker på flikar ovanför.

martine 2008-04-10 15:27

Det är väl bara att konstatera att IE inte klarar av andra typer än inline, block och none. Det är uselt men inte mycket att göra åt… (Om det är viktigt så lägg det i en if(IE), det är nog den enda lösningen. )

turboraketti: tackar - IE-Mac finns det väl ingen som längre använder… ;-)
(Märkligt men bra att det alltid finns hack till IE - hur lyckas dom egentligen…)

turboraketti 2008-04-10 15:35

MSIE stödjer även display:inline-block, som jag inte tror ingår i någon standard och följdaktligen inte stödjs av några andra webbläsare. Detta kanske är det bästa substituted för display:table när jag tänker efter...

grinditwp 2008-04-10 15:38

Tack ska kolla på detta.

Men alltså, webbdesigners emellan borde göra en protest och bara skapa webbsidor som ser fördjävliga ut i IE så att folk tröttnar och börjar använda ett alternativ. :)

martine 2008-04-10 15:46

Citat:

Originally posted by turboraketti@Apr 10 2008, 15:35
MSIE stödjer även display:inline-block, som jag inte tror ingår i någon standard och följdaktligen inte stödjs av några andra webbläsare. Detta kanske är det bästa substituted för display:table när jag tänker efter...

inline-block (som faktiskt är väldigt praktiskt i många fall - trots sitt korkade namn) togs med i med i css 2.0 men eftersom ingen annan webbläsare än Explorer stödde det så togs det tyvärr bort i css 2.1… Av den anledningen så tror jag inte heller att det stöds i IE7 i standardmode. Webbläsarnas stöd för de olika display-värdena är verkligen katastrofalt!

martine 2008-04-10 15:56

Citat:

Originally posted by grinditwp@Apr 10 2008, 15:38
Tack ska kolla på detta.

Men alltså, webbdesigners emellan borde göra en protest och bara skapa webbsidor som ser fördjävliga ut i IE så att folk tröttnar och börjar använda ett alternativ. :)

Ja, det borde vi… Fast det är ju lite dumt att 95 % av de kunder man har inte har någon annan webbläsare installerad än Explorer - i bästa fall 7 - de drar ju bara slutsatsen att man gör dåliga sidor…

Jag funderar på att kräva av kunderna att de installerar Firefox (ska börja med det när trean kommer) för att de ska få en något mer balancerad syn på det hela. Man får väl motivera det med att någon fjärdedel av besökarna ser sidan på detta sätt och att det är viktigt att kunna se vad kunderna ser och kunna mäta den verkliga kvalitén av sidan. (90 % av gångerna någon hör av sig om att något är fel på sidan så är det ett fel som bara förekommer i någon version av Explorer)

EmilIsberg 2008-04-11 08:47

Citat:

Originally posted by grinditwp@Apr 9 2008, 11:32
visibility:collapse; verkar inte fungera i IE, men fungerar i Firefox. Några förslag?

Jag brukar använda
Kod:

display = 'none';
display = '';

När jag sätter display='none' så "göms" målet och när jag tar bort display faller det tillbaka på att visa innehållet.
Testat i Firefox, IE6 och IE7.

grinditwp 2008-04-11 08:55

Citat:

Ursprungligen postat av EmilIsberg
Citat:

Ursprungligen postat av grinditwp
visibility:collapse; verkar inte fungera i IE, men fungerar i Firefox. Några förslag?

Jag brukar använda
Kod:

display = none;
display =;

När jag sätter display=none så göms målet och när jag tar bort display faller det tillbaka på att visa innehållet.
Testat i Firefox, IE6 och IE7.

Ah, tack, varför tänkte jag inte på det.. :P

HMH 2008-04-11 09:12

Citat:

Originally posted by martine@Apr 10 2008, 14:46
inline-block (som faktiskt är väldigt praktiskt i många fall - trots sitt korkade namn) togs med i med i css 2.0 men eftersom ingen annan webbläsare än Explorer stödde det så togs det tyvärr bort i css 2.1…
Njae... inline-block fanns inte med i CSS2 utan introducerades iom CSS2.1 som jag förstår det.
http://www.w3.org/TR/REC-CSS2/visuren.html#display-prop
http://www.w3.org/TR/CSS21/visuren.html#display-prop

Inline-block stöds i ie6-7 för element som har inline som default (t ex span). FF2 stödjer det inte alls.
Skall dock enligt uppgift stödjas fullt ut i IE8 och FF3 liksom det redan görs i Safari och Opera.

martine 2008-04-11 15:18

Citat:

Originally posted by HMH@Apr 11 2008, 09:12
Njae... inline-block fanns inte med i CSS2 utan introducerades iom CSS2.1 som jag förstår det.
Du har helt rätt. Det var compact och marker som försvann i css 2.1.

Det är lätt hänt att man blandar ihop det med tanke på den sporadiska och inkonsekventa implementeringen. Jag har i alla fall råkat ut för att ett inline-block som fungerat i IE6 inte längre fungerade i IE7.

Det verkar som Safari just nu ligger i absoluta framkanten vad det gäller standard…


Alla tider är GMT +2. Klockan är nu 19:50.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson