Hoofdcategorieën
Device Settings
Topicacties

[HTML] Basistabel wil niet mooi werken

Pagina: 1

Reageer Nieuw Topic
Berichten: 417
Reg. datum: 21 februari 2003

Hallo,

ik was net even bezig met iets (heeel) basis te proberen. Normaal lukt html toch redelijk goed enzo maar hier kom ik zelf dus niet uit.


code:
1
2
3
4
5
6
7
8
<table border="0" cellspacing="0" cellpadding="0" width="100%">
  <tr>
    <td colspan="2" background="header_background.jpg">[img]"header.jpg"></td[/img]  
  </tr>
  <tr>
    <td background="menu_background.jpg" width="163">MenuMenu</td>
    <td align="center">Inhoud</td>
  </tr>
</table>

Zoals je ziet heel simepele code, die in FF ook werkt. Maar in IE geeft dit dus een heel raar resultaat. Hier te bekijken: http://pconfig.no-ip.org/omm/index1.htm
(Afbeeldingen kloppen nog niet helemaal maar dat zijn zorgen voor later)

Mvg
Thomas
 
Berichten: 45.304
Reg. datum: 25 februari 2004

Standaardantwoord: tabellen zijn voor tabulaire data, niet voor opmaak. ;) Lees eens wat over divs en CSS, en pas dat liever toe. :)

Daarnaast maakt IE blijkbaar je linkerkolom breder dan ie moet zijn. Probeer eens een vaste grootte op te geven voor de rechterkolom?

Morituri Nolumus Mori 10-man WoW raiding guild op Doomhammer
Standeman: Ik wil mijn ballen ook wel doneren hoor, ik doe er toch ook niets meer mee.

zie 23648

quote:
-NMe- schreef op dinsdag 07 februari 2006 @ 18:20:
Standaardantwoord: tabellen zijn voor tabulaire data, niet voor opmaak. ;) Lees eens wat over divs en CSS, en pas dat liever toe. :)
wat minder standaard antwoord: divs zijn voor hoofdstuk indeling en globale structuren, niet voor opmaak ;) Lees wat over semantiek en CSS en pas dat liever toe :) :P

var _ = {_: 'unreadable code detected!'};
alert(_._);

Berichten: 417
Reg. datum: 21 februari 2003

Hm dus ik doe eigelijk niets fout, alleen IE interpreteert de code gewoon verkeerd?
 
Berichten: 45.304
Reg. datum: 25 februari 2004

quote:
mophor schreef op dinsdag 07 februari 2006 @ 18:58:
wat minder standaard antwoord: divs zijn voor hoofdstuk indeling en globale structuren, niet voor opmaak ;) Lees wat over semantiek en CSS en pas dat liever toe :) :P
Flauwerd. :P
quote:
Thomson schreef op dinsdag 07 februari 2006 @ 20:26:
Hm dus ik doe eigelijk niets fout, alleen IE interpreteert de code gewoon verkeerd?
Semantisch gezien doe je zelfs heel veel fout. :P Waarom IE het verkeerd doet weet ik niet, maar misschien gaat het wel goed als je breedtes en achtergronden met CSS opgeeft in plaats van in je HTML (zoals het ook hoort ;)). Als je dan toch tabellen wil blijven gebruiken voor je layout, kijk dan dus liever toch even naar wat CSS voor je kan doen. :)

Morituri Nolumus Mori 10-man WoW raiding guild op Doomhammer
Standeman: Ik wil mijn ballen ook wel doneren hoor, ik doe er toch ook niets meer mee.

Berichten: 417
Reg. datum: 21 februari 2003

Ok, als ik even op tutorial van CSS zoek dan wordt het vooral gebruikt voor tekstdecoratie. Nu zie ik ook wel in dat je bijvoorbeeld met divs kunt gaan werken en die op een bepaalde plaats gaat zetten mbh van CSS. Is dat dan meer zoals het moet? Lijkt me veel extra werk, het is natuurlijk wel allemaal wat eleganter maar toch :)
 
Splitting the thaum.
Berichten: 8.054
Reg. datum: 20 augustus 2003

( o Y o )

Onthou ook even dat zodra je met colspans gaat werken zonder expliciet overal width's te specificeren, de standaarden niet duidelijk zijn hoe precies te renderen. Browsers doen dat dus naar eigen inzicht.

NEW: Herbie vs AC/DC - Right Type of Thunder (RUINMYTUNE MashUp)
You've moved up on my notch-list. You now have 1 notch...
I have a black belt in Kung Flu!


Acties:


crisp
Devver / Moderator DevschuurŽ
Proud Daddy™
Berichten: 38.024
Reg. datum: 24 februari 2000

Sowieso zijn afmetingen voor tabel-cellen enkel een richtlijn voor de render-engine tenzij table-layout:fixed is opgegeven. Je maakt het hier al moeilijk voor de render-engine door je eerste row te beginnen met 1 enkele cel met een colspan, daardoor weet de browser nog niet wat de breedte van de individuele cellen moet worden. Browsers worden gemaakt op performance en reflow is kostbaar.

Al zou een tabel hier wel het geschikte element zijn, en zou fixed layout dan ook echt noodzakelijk zijn inclusief de colspan in de eerste row, dan zou je nog een colgroup kunnen definieren met de juiste afmetingen:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
<table style="table-layout: fixed; width: 500px;">
  <colgroup>
    <col width="200">
    <col width="300">
  </colgroup>
  <tr>
    <td colspan="2">bla</td>
  </tr>
  <tr>
    <td>bla</td>
    <td>bla</td>
  </tr>
</table>

crisp wijzigde dit bericht 07-02-2006 22:26 (6%)

Vandaag @ kraagjes.nl:
Berichten: 12.290
Reg. datum: 18 september 2001

quote:
Thomson schreef op dinsdag 07 februari 2006 @ 21:00:
Ok, als ik even op tutorial van CSS zoek dan wordt het vooral gebruikt voor tekstdecoratie. Nu zie ik ook wel in dat je bijvoorbeeld met divs kunt gaan werken en die op een bepaalde plaats gaat zetten mbh van CSS. Is dat dan meer zoals het moet? Lijkt me veel extra werk, het is natuurlijk wel allemaal wat eleganter maar toch :)
CSS wordt onder andere gebruikt voor tekstdecoratie. Je kan (lees: wil / moet) het echter ook inzetten voor de volledige opmaak van je pagina. Op deze manier kan je de inhoud (HTML) volledig gescheiden houden van de opmaak (CSS).

Het is in het begin misschien wat meer werk omdat je goed door moet hebben hoe het werkt, maar als je eenmaal een degelijke opzet hebt, kan het je bijzonder veel werk uit handen nemen.

Vergeet vooral niet bovenstaand linkje (http://home.parse.nl/~michiel/semantiek.html) door te lezen!


kraagjes.nlHaarlemVoices.nlTwitter • Social Analytics: react.com

Berichten: 628
Reg. datum: 02 juli 2004

quote:
mophor schreef op dinsdag 07 februari 2006 @ 18:58:
[...]
wat minder standaard antwoord: divs zijn voor hoofdstuk indeling en globale structuren, niet voor opmaak ;) Lees wat over semantiek en CSS en pas dat liever toe :) :P
Div's zijn voor logische secties van je pagina. Typische secties zijn headers, menu's en footers. Niks hoofdstukindelingen dus. Wat betreft semantiek: als je div's moet gaan toevoegen om louter opmaakredenen is dat onjuist. Echter door de verschillende browsers ben je daartoe soms wel genoodzaakt.
 
zie 23648

quote:
ZeilDude schreef op woensdag 08 februari 2006 @ 11:33:
[...]

Div's zijn voor logische secties van je pagina. Typische secties zijn headers, menu's en footers. Niks hoofdstukindelingen dus. Wat betreft semantiek: als je div's moet gaan toevoegen om louter opmaakredenen is dat onjuist. Echter door de verschillende browsers ben je daartoe soms wel genoodzaakt.

correct, maar toch echt wel ook voor hoofdstukindeling hoor

http://www.w3.org/TR/html401/struct/global.html#h-7.5.5


code:
1
2
3
4
5
6
7
8
9
10
<div>
  <h1>
  <p>
  <p>
  <ul>
  <div>
    <h2>
    <p>
    <p>
  </div>
</div>


dat is typisch (correct) divgebruik (heb er al eens wat uitgebreider over geschreven: http://www.rikkertkoppes.com/thoughts/about-div)

overigens is "headers en footers denken" ook iets te opmaakgericht ergens, een groep elementen dat visueel een header vormt hoeft structureel niets met elkaar te maken te hebben, een div om je header te markeren is dus niet altijd nodig (ok, vaak is het gewoon wel het geval, maar wat ik probeer te bedoelen is: niet opmaakdenken, maar structuurdenken)

mophor wijzigde dit bericht 08-02-2006 11:49 (25%)

var _ = {_: 'unreadable code detected!'};
alert(_._);

Berichten: 111
Reg. datum: 28 augustus 2004

Ik heb voorheen ook altijd sites gemaakt met tables, nog steeds vind ik dit erg handig werken. Maar div'jes hebben ook zijn voordelen. En ik moet toch eens de overstap maken. Nu lukken layouts wel aardig met css maar ik zit nu toch echt met een probleem.
Ik probeer de volgende layout te maken:

http://members.lycos.nl/nbmedia/layout.jpg

Hij moet dus ongeacht de resolutie in het midden blijven staan, dus is position: absolute niet mogelijk, met tables zou dit geen probleem zijn. Alleen ik kom er echt niet uit in css.
Is het wel mogelijk om zo'n design te maken met css?
En zo ja, kan iemand me dan op weg helpen want het wilt echt niet lukken :&#039;(

Amd Athlon 3500+ @ 2,4 | Asus A8N-SLI | Club3d X800 256MB GDDR3 1.6ns Vivo | (2x512) Corsair CMX512-3200C2 | 160 Gig Maxtor Diamond Plus 10 | M-Audio Audiophile 24/69 | Antec Sonata Lifestyle

Berichten: 1.611
Reg. datum: 31 augustus 2001

quote:
Niek-X schreef op donderdag 09 februari 2006 @ 00:37:
Ik heb voorheen ook altijd sites gemaakt met tables, nog steeds vind ik dit erg handig werken. Maar div'jes hebben ook zijn voordelen.
tabellen werken helemaal niet handig. Los daarvan, met semantische html, divs en css heb je veel sneller resultaat, plus dat het nog veel andere voordelen heeft (betere SEO, veel lichtere paginas - laden sneller etc)
quote:
En zo ja, kan iemand me dan op weg helpen want het wilt echt niet lukken :&#039;(
probeer eens faux columns
 
( o Y o )

Of je kijkt naar dit veel nieuwer artikel (theorie is al redelijk oud): http://www.positioniseverything.net/articles/onetruelayout/

NEW: Herbie vs AC/DC - Right Type of Thunder (RUINMYTUNE MashUp)
You've moved up on my notch-list. You now have 1 notch...
I have a black belt in Kung Flu!

Vandaag @ kraagjes.nl:
Berichten: 12.290
Reg. datum: 18 september 2001

quote:
Niek-X schreef op donderdag 09 februari 2006 @ 00:37:
Ik heb voorheen ook altijd sites gemaakt met tables, nog steeds vind ik dit erg handig werken. Maar div'jes hebben ook zijn voordelen. En ik moet toch eens de overstap maken. Nu lukken layouts wel aardig met css maar ik zit nu toch echt met een probleem.
Ik probeer de volgende layout te maken:

[afbeelding]

Hij moet dus ongeacht de resolutie in het midden blijven staan, dus is position: absolute niet mogelijk, met tables zou dit geen probleem zijn. Alleen ik kom er echt niet uit in css.
Is het wel mogelijk om zo'n design te maken met css?
En zo ja, kan iemand me dan op weg helpen want het wilt echt niet lukken :&#039;(
Dit is wel een erg basisvraag over 1 van de meest gebruikte layouts. Kijk bijvoorbeeld eens naar GoT, daar wordt dit ook gebruikt (mits je 'gecentreerd' aan hebt staan in je preferences). Zorg dat de gehele layout in een containerdiv staat, en geef die margin:0px auto 0px auto; en een fixed breedte als width:800px; mee, en voilŕ! Je zou die aparte div zelfs nog weg kunnen laten, en voorgaande properties aan het body element hangen :)


kraagjes.nlHaarlemVoices.nlTwitter • Social Analytics: react.com

Pagina: 1



VNU Media logo Hosted by True

© 1998 - 2012 Tweakers.net B.V. - Alle rechten voorbehouden - Contact - Jouw privacy - Algemene Voorwaarden

Uitgever van:

Website van het jaar 2011