För enkelhetens skull har jag kortat ner den inre tabellen som egentligen är mer omfattande än så.
Problemet är nu att jag inte får ha en table innanför a-taggen. Har provat att lägga table inom en div som ligger inom a men det fick jag inte heller göra. Span får jag ha inom a men vidare får jag inte ha en table innanför span. En aning rörigt va?
Hur kan jag lösa det så att jag får fram min popup innehållande en tabell?
Det kan inte vara så att valideraren klagar på ditt mig veterligen felaktiga användande av <div><a></div></a>?
Tack för noteringen men den var kvar där efter att jag försökte trixa mej runt felet. Den är inte där längre men table får fortfarande inte vara inom a. Har redigerat ovanstående inlägg.
En länk (ett a-element) får innehålla en hel massa olika sorters HTML-element (betydligt fler än vad jag trodde, när jag kollade upp det), men table är inte ett av dem.
Du kan alltså inte lägga tabellen i en länk, utan får lösa det hela på något annat sätt (t ex genom JavaScript).
När jag kollade efter vilka element som får finnas i en länk visade det sig att det är hela 32 olika HTML-element som får finnas där, nämligen följande:
br | span | bdo | map | object | img | tt | i | b |
big | small | em | strong | dfn | code | q | samp |
kbd | var | cite | abbr | acronym | sub | sup | input |
select | textarea | label | button | ins | del | script
Att få lägga script- och formulärs-element i en länk var något helt nytt för mig, och även om det kan låta konstigt validerar följande dokument som XHTML 1.0 Strict:
Att en </tr> har försvunnit beror nog bara på att jag inte kollade så mycket på tabellen när jag strippade ner den.
Men nu har du nog missförstått mej en aning. Jag vill inte ha en hel div länkbar. Jag vill ha en liten popupruta som ska synas när man för muspekaren över en viss text. Min första kod är för att göra detta enbart med CSS. Men nu visar det sig att jag måste göra det med JS istället, för att validera korrekt. Antagligen får jag väl växla en div synbar eller icke med hjälp av ett javascript som är kopplat till texten i fråga.
?
För att förtydliga. Så här är det nu. För muspekaren över texterna till vänster så ser ni. Problemet är att det som poppar upp är tabeller som inte får vara där dom är. Kolla mot valideringen får ni se.
Sorry, jag läste "Jag vill ha en liten popupruta som ska synas när man för muspekaren över en viss text." utanför sitt sammanhang.
Hade IE fixat :hover för andra element än a hade det gått bra, men nu är det inget möjlighet.
Genom JavaScript (onmouseover) går det bra att utelämna länken och därmed få koden att validera.
Jo, men nu blir det genast mycket jobbigare då jag måste, dynamiskt, ge alla olika popuplager som genereras ett varsitt ID för att kunna nå dom med getElementById. Och isåfall måste jag först kolla hur många lager som behövs genereras (med en sql-fråga) för att sedan skapa dessa lager och ge dom unika namn. Hmm...
Nu har jag löst det. Vet inte om det är en fullösning men den validerar iaf!
Tabellen satte jag inom <object> ... </object> och saken var löst.
Tittade lite på var man får sätta taggar och såg att den enda utvägen (tillbaka till flow) var genom object-taggen.
red/ Jaha, då fungerade inte hover-effecten längre.
Okej, med hjälp av <map id=".."><table>...</table></map> så har jag nu fått det att både validera och se bra ut ... i Opera. Trötta IE hänger såklart inte med i svängarna.
Sidan ser ni här. Koden är en aning rörig, ja, men det är för att den körs ut av php. Har inte orkat med det estetiska ännu. Förslag på hur man ska få det snyggt i IE, där texten inte ens syns och blocket inte är absolut-positionerat? Jämför gärna mellan Opera / IE för att se skillnaderna.
Själv skulle jag hellre svälja min stolthet och lägga <table> direkt under <a>, istället för att lägga in helt ologiska html-element (<map><div>) bara för att få koden att validera, men det är kanske snarare en smaksak.
Tack! Det är det jag är lite inne på. Får nog erbjuda IE en specifik kod och resten den "vanliga".
Får känslan av att IE inte klarar av fler än 3 taggar i en CSS-deklaration. Tänker då på 'div.rrExpand a map table'