04. juni 2004 - 19:34Der er
18 kommentarer og 3 løsninger
Hvordan styrer man indhold i tabel med CSS
Jeg forsøger at få styr på indhold i tabeller med CSS.
Jeg vil ha indhold i en tabel at begynde helt oppe i venstre hjørne, har forsøgte med diverse class bl.a. denne som ikke er OK: <table class="tabel_hvid_bagrund">
I body er der ikke noget problem med class <body class="body_hvid_baggrund"> Så får man teksten til at starte helt oppe i venstre hjørne, og man kan styre den 100% med:
har din body også en margin på nul, så der står sådan cirka: body {margin:0px;} .tabel_hvid_bagrund { background-color: #FFFFFF; margin-top: 0px; margin-left: 0px; margin-right: 0px; margin-bottom: 0px; padding-top: 0px; padding-left: 0px; padding-right: 0px; padding-bottom: 0px; font-family :Verdana, Sans-serif; color: #000000; font-size: 12px; width:100% height:100%; cell-spacing:0px cell-padding:0px cell-border:0px }
Jeg har brug for at kunne styre det hele med CSS, men det vil ikke lykkes. Jeg tænker specielt på når man sætter border cellspacing og cellpadding i en tabel, som f.eks: <table border="2" cellspacing="3" cellpadding="3"> <tr> <td>Test</td> </tr> </table>
Hvordan styrer man de tre værdier med CSS - det er ? :)
dan_d >> Aaahhh, fortid og fortid. Er det noget ikke så groft sagt endda?
Vi kan klart blive enige om at div'er og layers er enormt smart og fedt at designe med, men hvis man så kigger på mulighederne, så understøtter Opera og Mozilla, mig bekendt, ikke 50% af de features som div'er har, hvorimod tabeller er næsten fuld understøttet.
Selv har jeg leget en del med div'er og layers, men bruger stadig tabeller til betalende kunder, da jeg finder det mest sikkert af hensyn til kompabilitet. Det ville være perfekt, hvis alle brugte IE6, men sådan hænger verden jo desværre nu engang ikke sammen. Men hør - Det er en helt anden diskussion. Lad os tage den i en anden tråd, og få løst disdis' eksakte problem i stedet, hva? :-)
disdis >> Der findes mig bekendt, ingen metoder til at styre cellpadding og cellspacing på en tabel via CSS. Det jeg plejer at gøre er, konsekvent at sætte cellspacing, cellpadding og border til 0 i HTML'en, og dernæst bruge css til at definere padding-left, padding-top, margin-left, border-left-color, osv. På den måde har du alle muligheder åbne, og behøves ikke at hæfte dig selv fast ved at have en fast værdi for padding på alle celler i hele tabellen. :-)
Se følgende sted for en gennemgribende dansk tutorial om CSS. http://www.html.dk/tutorials/css/ W3C – World Wide Web Consortium – har oplysningerne om hvad der er W3C valideret. Inden for specifikationerne CSS1 CSS2.1 eller de nye CSS3 http://www.w3.org/Style/CSS/ Vil stærkt anbefale dig at rette dig efter disse, da det giver den bredeste browser kompatibilitet. Og du undgår at din side ikke virker i andet end I.E
frosteyes >> Altså, det er nogle meget pæne links du har, men du hjælper ikke rigtigt disdis med hans problem, og du bekræfter egentligt bare min påstand om, at man ikke kan definere cellpadding og cellspacing vha. css.
Til gengæld skal jeg blankt erkende at i dit sidste link, eksisterede flere styles til tabeller, end jeg kendte, så dem vil jeg da klart lige skimme igennem i morgen med friske øjne. Tak for det.
...men ellers er der ikke nogen mulighed for at styre cellspacing med CSS som darkey skriver... altså hvis man vil have det til at virke i IE og den slags
Nu ville jeg jo have jer til at læse hvad der stod under W3C. Der står netop at man ikke kan bruge border-collapse: separate; , og derved border-spacing under I.E. At I.E. aldrig overholder reglerne er ikke noget nyt.
Til gengæld hvis jeg bruger border-collapse: collapse; så er der intet problem. Jeg bruger bare en bredde på kanten i stedet for en afstand imellem. Og cellpadding havde du jo selv regnet ud at man kunne skifte ud med padding
Hvis i ser på følgende kode, med den kan CSS styre det samme som cellspacing, og cellpadding gør. Endda noget mere præcis, da jeg kan styre både toppen, og bunden samt højre og venstre side.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head> <title>Nyt dokument</title> <style type="text/css"> #test { border: 1px solid blue; }
Det skal lige siges at jeg har testet det under Internet Explorer og Mozilla, og det virker begge steder. Men det kunne være lettere hvis Internet Explorer valgte at følge de samme retningslinier som andre, så man kunne bruge border-spacing
undskyld jeg spørger - men hvad mente du egentlig med at man ikke kunne bruge border-collapse:seperate - er det i forlhold til denne her løsning eller... ;-?
Og du har helt ret i at man bør holde sig til standarderne - også selvom browserne ikke altid selv gør det ;-)
Ville egentlig ikke blande mig i diskutionen/besvaringsprocessen, men jeg kom lige i tanke om noget som jeg funderet en del over, og gerne vil ha' svar på...
Hvorfor overhovedet bruge en anden browser end IE??? Den følger med som standard i alle nyere Windows styresystemer, og opfylder (næsten) alle de behov en bruger har... Kan selvfølgelig godt se problemet med Linux og IE, men hvorfor bruge andet end IE hvis man bruger Win9x/2000/ME/XP??? En browser er og bli'r en browser... Eller hva???
There are two distinct models for setting borders on table cells in CSS. One is most suitable for so-called separated borders around individual cells, the other is suitable for borders that are continuous from one end of the table to the other. Many border styles can be achieved with either model, so it is often a matter of taste which one is used.
Den første bruger border-collapse: separate; den anden model bruger border-collapse: collapse; Med den første model har du muligheder for at bruge bl.a.: outset, inset, border-spacing ("hvis browseren understøtter det")
Den anden model (border-collapse: collapse;) regner bredden ud på følgende måde:
frosteyes >> Havde læst det - men jeg ville bare være klar over at det var ud fra dette problem at seperate ikke kunne (eller skulle) bruges. Ellers en fin måde at løse det på ;-)
mireigi >> Jeg bruger Mozilla Firefox af flere grunde, bla. har den indbygget popupstopper, kan bruge tabs, opfylder W3C's standarder bedre og er lækker at lege med ;-) Altså kort sagt: Mozilla kan mere end IE = Brug mozilla :-) Sådan ser jeg på det i hvert fald - enhver har jo deres grund til at bruge det software de nu og en gang har.
Hvilken browser man vælger, er helt op til en selv, og selvfølgelig af ens styresystem. Du nævner selv Linux, hvor den mest brugte browser er Mozilla, men også Konqueror er der. Af andre browser der skal nævnes er Opera og Netscape. Til Unix/Linux server miljøer er de mest brugte W3M og Lynx ”begge kommandolinie baseret”. Så allerede der er en masse at vælge imellem. Og hvis vi går over til MAC Os så er der jo safari browseren.
Det der typisk får en til at vælge en anden browser, er nogen specielle krav, f.eks. med java understøttelse, eller andet. En anden mulighed er dem som ligger i tweaking. At kan downloade kilekoden, og så tweake den op til din PC, så den loader grafik hurtigere. Det kan gå hen og blive en sport at tweake software, så det kører hurtigst muligt. (Hvis du kender til OC-miljøet). En anden ting kan være at man synes at browseren simpelthen er bedre – mere brugervenligt, flere muligheder, bedre struktur. Men alt det er forskelligt fra person til person. Jeg kan nævne at i Mozilla browser er der f.eks. mulighed for at lukke sider op i nye tabs, som man hele tiden kan bladrer imellem, og i nye applikationer. Og det er noget federe end i I.E. hvor den bare smider dem i en stak nede på startlinien. Derudover er der IRC chat i Mozilla, password manager, og andet godt som ikke findes i I.E.
og sådan kan man jo finde en mængde af software der er bedre end den der følger med Windows som standard - selvom Windows-programmerne måske opfylder de mest basale behov ;-)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.