/ 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
stylesheet, div eller class?
Fra : Martin Jeppesen


Dato : 31-08-03 15:10

Hej,

Jeg kunne godt tænke mig, at jeg havde forskellige opførseler for
links. En standard link opførsel, og en defineret af mig, som jeg kalder
"test".

Det har jeg prøvet i mit stylesheet på følgende måde:

div#test a{
color: #000000;
display: block;
text-decoration: none;
}

div#test a:hover{
background: #f11;
color: #000000;
text-decoration: none;
}

I min html har jeg skrevet:

<TABLE id="list">
<tr> <TD id="sd"><a href="">col1</a>
<TD id="sd"><a class="test" href="">col2</a>
<TD id="sd"><div id="test"><a href="">col3</a></div>
<TD id="sd">col4
</TABLE>

Jeg har prøvet både med CLASS og DIV, men det virker ikke.

Er der nogen der kan hjælpe mig?

Martin



 
 
Anders Thorsen Holm (31-08-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 31-08-03 15:27

Martin Jeppesen wrote:

> Jeg kunne godt tænke mig, at jeg havde forskellige opførseler for
> links. En standard link opførsel, og en defineret af mig, som jeg
> kalder "test".

Hvorfor skriver du

> div#test a

når det er en <table>, du vil påvirke?

> <TABLE id="list">

Endvidere skriver du jo íkke det rigtige id i din css.
Skriv blot #list a i din CSS, så burde det virke.

Endvidere gør du brug af id'et "sd" mere en et sted - et id må kun
benyttes een gang.

Forresten kan jeg ikke lige se ideen i at bruge en tabel til en så
simpel punktopstilling - hvorfor ikke benytte HTMLs udmærkede
listeelementer til det formål?

> Jeg har prøvet både med CLASS og DIV, men det virker ikke.

Øh? En <div> er et block-element i HTML, class er noget CSS-
relateret: http://www.w3.org/TR/CSS2/selector.html#class-html

--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fona!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/fona/

Martin Jeppesen (31-08-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 31-08-03 21:49

> Hvorfor skriver du
>> div#test a
> når det er en <table>, du vil påvirke?

Det er åbenbart ikke det rigtige at skrive. Hvad burde jeg have skrevet?

> Endvidere skriver du jo íkke det rigtige id i din css.
> Skriv blot #list a i din CSS, så burde det virke.

Det virker! Tak.

Jeg har skrevet div#NAVN flere steder i min CSS. Skal det rettes til #NAVN ?

> Endvidere gør du brug af id'et "sd" mere en et sted - et id må kun
> benyttes een gang.

Problemet er, at jeg har ikke helt forstået forskellen på en DIV og en
CLASS.

Det skulle vel aldrig være sådan, at jeg i min
table#list{
border: outset 0px; /*border*/
border-spacing: 2px; /*cellspacing*/
margin-left: auto;
margin-right: auto;
}
kan angive at alle celler skal eks.vis være blå?

> Forresten kan jeg ikke lige se ideen i at bruge en tabel til en så
> simpel punktopstilling - hvorfor ikke benytte HTMLs udmærkede
> listeelementer til det formål?

Tabellen bliver størrere senere=)

>> Jeg har prøvet både med CLASS og DIV, men det virker ikke.
>
> Øh? En <div> er et block-element i HTML, class er noget CSS-
> relateret: http://www.w3.org/TR/CSS2/selector.html#class-html

Nu har jeg læst linket.

Så .NAVN (i CSS) er altså en CLASS og bruges sådan:
<div class="NAVN">
</div>

Hvornår bruger man så #NAVN (i CSS) og <div id="NAVN"></div>

Venlig hilsen,
Martin







Benny Nissen (31-08-2003)
Kommentar
Fra : Benny Nissen


Dato : 31-08-03 22:05

> > Øh? En <div> er et block-element i HTML, class er noget CSS-
> > relateret: http://www.w3.org/TR/CSS2/selector.html#class-html
>
> Nu har jeg læst linket.
>
> Så .NAVN (i CSS) er altså en CLASS og bruges sådan:
> <div class="NAVN">
> </div>
>
> Hvornår bruger man så #NAVN (i CSS) og <div id="NAVN"></div>
>
Det bruger du, hvis du har et element, som _kun_ foreklommer én gang på
siden.
Ellers er funktionen den samme som class.


--
Benny Nissen
http://web.bennynissen.dk



Martin Jeppesen (01-09-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 01-09-03 19:33

> Det bruger du, hvis du har et element, som _kun_ foreklommer én gang på
> siden.
> Ellers er funktionen den samme som class.

Jeg er nu gået over til at bruge class såmeget som muligt, for overholde
standarden.

Jeg vil gerne have at min hjemmeside kan gå igennem W3C uden fejl=)



Erik Ginnerskov (02-09-2003)
Kommentar
Fra : Erik Ginnerskov


Dato : 02-09-03 01:28


"Martin Jeppesen" <7t1tng0mgq02@sneakemail.com> skrev
>
> Jeg vil gerne have at min hjemmeside kan gå igennem W3C uden fejl=)

Velkommen i klubben

--
Med venlig hilsen
Erik Ginnerskov
http://www.hjemmesideskolen.dk - http://www.html-faq.dk
http://hjem.get2net.dk/egin



Martin Jeppesen (02-09-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 02-09-03 19:05

>> Jeg vil gerne have at min hjemmeside kan gå igennem W3C uden fejl=)
>
> Velkommen i klubben

Tak tak=) Jeg så lige på din hjemmmeside, at du havde nogle count'erne.
Det var lige hvad jeg manglede=)



Anders Thorsen Holm (31-08-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 31-08-03 23:34

Martin Jeppesen wrote:

> Problemet er, at jeg har ikke helt forstået forskellen på en DIV
> og en CLASS.

De to har intet med hinanden at gøre. En <div> er et HTML (Hyper Text
Markup Language)-element, der typisk bruges til at opdele dokumentet:

http://www.w3.org/TR/html4/struct/global.html#edef-DIV

Eksempelvis benytter jeg det til min egen hjemmeside til at inddele
dokumentet i en menu, hovedindhold og footer. Derved bliver siden
mere overskuelig, og delene kan placeres og arrangeres via CSS
(Cascading Style Sheets).

En class/klasse er derimod en abstraktion, man her bruger i
forbindelse med CSS. Tilsvarende er et id en art abstraktion.
Forskellen mellem class og id er, at class kan benyttes generelt,
mens id er forbehold eet og kun eet element i et HTML-dokument.

Når man skriver

<p class="anderledes">Denne tekst skal vises anderledes fra anden
brødtekst</p>
<p>Mens den her tekst vises normalt.</p>

vil den første <p> kunne præsenteres anderledes alt efter, hvad der
står defineret i et style sheet.

Dette kunne gøres sådan her:

p.anderledes {
   color: #0000ff; /* blå tekst */
   font-style: italic; /* kursiv */
}

Denne CSS-regel vil matche alle <p>-elementer med klassen
"anderledes".

Hvis man derimod har følgende i sit style sheet:

..anderledes {
   color: #ff0000; /* rød tekst */
   font-weight: bold; /* fed */
}

vil reglen matche alle slags elementer, der har fået tildelt klassen
"anderledes".

> Det skulle vel aldrig være sådan, at jeg i min
> table#list{
[snip]
> }
> kan angive at alle celler skal eks.vis være blå?

Jo, du kan bl.a. gøre sådan her, hvis du vil have blå baggrundsfarve
til dine celler i tabellen med id "list":

table#list td {
   background-color: #0000ff;
}

>> Forresten kan jeg ikke lige se ideen i at bruge en tabel til en
>> så simpel punktopstilling - hvorfor ikke benytte HTMLs udmærkede
>> listeelementer til det formål?
>
> Tabellen bliver størrere senere=)

Okay, du skulle bare lige kende alternativerne til så enkle "lister".

> Så .NAVN (i CSS) er altså en CLASS og bruges sådan:
> <div class="NAVN">
> </div>

Ja, eller <p class="klassenavn">, <em class="klassenavn">,
<td class="klassenavn"> og så videre.

> Hvornår bruger man så #NAVN (i CSS) og <div id="NAVN"></div>

Det gør man, for at skrive regler for de *unikke* elementer, der har
fået tildelt et bestemt id. Forskellen mellem class og id er ikke så
stor. Class kan man have mange af, mens man kun kan have eet id
(hvilket ligger nærmest implicit i betegnelsen).

Af praktiske forskelle er der, at id kan benyttes som interne ankre i
dokumenter:

<h1>Titel</h1>

<p>Klik på punkterne i listen for at springe ned til de relevante
afsnit:</p>
<ul>
<li><a href="#afsnit1">Første afsnit</a></li>
<li><a href="#afsnit2">Andet afsnit</a></li>
....
<li><a href="#afsnitN">N'te afsnit</a></li>
</ul>

<h2 id="afsnit1">Første afsnit</h2>
<p>bla bla...</p>

<h2 id="afsnit2">Andet afsnit</h2>
<p>bla bla...</p>

....

<h2 id="afsnitN">N'te afsnit</h2>
<p>bla bla...</p>

--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fona!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/fona/

Martin Jeppesen (01-09-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 01-09-03 19:26

> De to har intet med hinanden at gøre. En <div> er et HTML (Hyper Text
> Markup Language)-element, der typisk bruges til at opdele dokumentet:
>
> http://www.w3.org/TR/html4/struct/global.html#edef-DIV

Jeg har nu læst dit link, dit og Jens' inlæg, og det står mig nu
klart. Så mange tak for det. Mit problem var, at jeg kigget på andres
hjemmesider, hvor jeg troede at CSS: <div> og HTML: div#NAVN havde noget
med hinanden at gøre. Det voldte store forståelsesproblemer for mig.

> Eksempelvis benytter jeg det til min egen hjemmeside til at inddele
> dokumentet i en menu, hovedindhold og footer. Derved bliver siden
> mere overskuelig, og delene kan placeres og arrangeres via CSS
> (Cascading Style Sheets).

Jeg har kigget på den, og jeg må sige, at jeg også gerne have have delt
min CSS op lige som dig. Altså:

@import "layout.css";
@import "fonts.css";
@import "tables.css";
@import "special.css";

> <p class="anderledes">Denne tekst skal vises anderledes fra anden
> brødtekst</p>
> <p>Mens den her tekst vises normalt.</p>
>
> vil den første <p> kunne præsenteres anderledes alt efter, hvad der
> står defineret i et style sheet.

Okay.

<SNIP>
> vil reglen matche alle slags elementer, der har fået tildelt klassen
> "anderledes".

Det læste jeg godt på det første link du sendte, og jeg har rettet min
CSS efter det. Det hjalp en del.

> Jo, du kan bl.a. gøre sådan her, hvis du vil have blå baggrundsfarve
> til dine celler i tabellen med id "list":
>
> table#list td {
> background-color: #0000ff;
> }

DET ER FOR SEJT! Jeg har prøvet at indsætte background-color i CSS:
table#list, og så blev baggrund og cellspacing samme farven, og det var
jo ikke det jeg ville have. Så nu slipper jeg for at ahve id="NAVN" med i
alle <td> =)

> Okay, du skulle bare lige kende alternativerne til så enkle "lister".

Ville man kunne undvære en tabel, hvis jeg skal skrive A B C D E ... Z
på en linie som links? Lige nu ville jeg gøre det sådan:

<div class="alpha">
<table border="0" cellspacing="0">
<tr><td>
<a href="moviewallpapersA.htm">A</a> <a href="moviewallpapersB.htm">B</a> ...
<a href="moviewallpapersZ.htm">Z</a>
</table> </div>

Jeg kan se, at du bruger <li> på din hjemmeside. Kan jeg også bruge det,
eller skal jeg lave en tabel?


>> Så .NAVN (i CSS) er altså en CLASS og bruges sådan:
>> <div class="NAVN">
>> </div>
>
> Ja, eller <p class="klassenavn">, <em class="klassenavn">,
> <td class="klassenavn"> og så videre.

Okay, så er det på plads!

>> Hvornår bruger man så #NAVN (i CSS) og <div id="NAVN"></div>

<SNIP>
> <h2 id="afsnit1">Første afsnit</h2>
> <p>bla bla...</p>
> <h2 id="afsnit2">Andet afsnit</h2>
> <p>bla bla...</p>
> ...
> <h2 id="afsnitN">N'te afsnit</h2>
> <p>bla bla...</p>

Smart!




Jens Gyldenkærne Cla~ (31-08-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 31-08-03 23:16

Martin Jeppesen skrev:

> Jeg har skrevet div#NAVN flere steder i min CSS. Skal det
> rettes til #NAVN ?

Enten #NAVN eller table#navn, hvis du vil præcisere at id'et "navn"
er en tabel. Syntaksen med en foranstillet kode er praktisk med
klasser - her kan man fx angive følgende:

div.boks {
   border: 1px solid blue;
}

table.boks {
   color: green;
   background-color: gray;
}

- altså at forskellige koder med samme klasse skal behandles
forskelligt. Man kan i princippet gøre det samme med id'er - men da
alle id-værdier skal være unikke på en side, er der ikke det samme
behov for at kvalificere en id-selector.


> Det skulle vel aldrig være sådan, at jeg i min
> table#list{

....
> kan angive at alle celler skal eks.vis være blå?

Jo, du sætter bare color og background-color ind i definitionen.

> Hvornår bruger man så #NAVN (i CSS) og <div id="NAVN"></div>

Som Benny skriver kan man bruge det til elementer der kun
forekommer én gang på en side. Til den slags kan man dog også
sagtens benytte klasser - der er ikke noget krav om flere
forekomster før man må bruge en klasse

I mange tilfælde kan man helt undvære id-selectoren. Men den kan
bruges til at override andre css-indstillinger - her kan den nemlig
noget som en normal klassetildeling ikke kan. Tildelinger på id-
niveau vægtes nemlig højere end tildelinger på klasseniveau. Hvis
jeg fx skriver

CSS:
   table#list{
    background-color: green;
    color: red;
   }

   table.list {
       color: blue;
       background-color: red;
   }

HTML
   <table id="list" class="list">

- så er det id-definitionen der "vinder" - uanset rækkefølgen i
css-arket og rækkefølgen af parametrene i html-koden.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Martin Jeppesen (01-09-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 01-09-03 19:32

>> Jeg har skrevet div#NAVN flere steder i min CSS. Skal det
>> rettes til #NAVN ?
>
> Enten #NAVN eller table#navn, hvis du vil præcisere at id'et "navn"
> er en tabel. Syntaksen med en foranstillet kode er praktisk med
> klasser - her kan man fx angive følgende:
>
> div.boks {
>    border: 1px solid blue;
> }
>
> table.boks {
>    color: green;
>    background-color: gray;
> }
>
> - altså at forskellige koder med samme klasse skal behandles
> forskelligt. Man kan i princippet gøre det samme med id'er - men da
> alle id-værdier skal være unikke på en side, er der ikke det samme
> behov for at kvalificere en id-selector.

Det var nok her mit forståelsesproblem lå. Jeg troede at CSS: div.navn
og HTML <div> havde noget tilfælles, men det har de jo så ikke. Og det
har gjort mit stylesheet en DEL pænere=)

> Jo, du sætter bare color og background-color ind i definitionen.

Det virker. Tak.

> I mange tilfælde kan man helt undvære id-selectoren. Men den kan
> bruges til at override andre css-indstillinger - her kan den nemlig
> noget som en normal klassetildeling ikke kan. Tildelinger på id-
> niveau vægtes nemlig højere end tildelinger på klasseniveau. Hvis
> jeg fx skriver

<SNIP>

> - så er det id-definitionen der "vinder" - uanset rækkefølgen i
> css-arket og rækkefølgen af parametrene i html-koden.

Det er da for sejt! Der er virkelig blevet tænkt over tingne, da man
lavede HTML4 =)




Jens Gyldenkærne Cla~ (01-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 01-09-03 22:10

Martin Jeppesen skrev:

>> table#list td {

> DET ER FOR SEJT!

Det er ikke så tosset med contextual selectors. Der findes flere
avancerede selectors [1], men mange af dem er desværre ikke understøttet
i IE. Det er den kontekstuelle heldigvis - i hvert fald i IE6[2]

> Så nu slipper jeg for at ahve id="NAVN" med i alle <td> =)

Det er godt det samme - for et id må jo kun stå én gang i et
dokument. Du kunne lave en klasse med baggrundsfarven og så tildele
samtlige td'er denne klasse - men det er unægtelig noget lettere
med syntaksen ovenfor.

> Ville man kunne undvære en tabel, hvis jeg skal skrive A B C D
> E ... Z på en linie som links?

Har du flere rækker i din tabel? Med andre ord, har du brug for at
kunne skrive noget præcis neden under B, C, D, etc. - eller er det
bare en lang linje?

Jeg ville bare skrive linkene på en linje - lidt a la:

<p class="menu"><a href...>A</a> <a href...>B</a>...</p>

Hvis linjen ikke må ombrydes, kan det lægges ind i menuklassen.

> Jeg kan se, at du bruger <li> på din hjemmeside. Kan jeg også
> bruge det, eller skal jeg lave en tabel?

Du kan godt bruge <li> - men så skal du ændre standardudseendet
noget, fordi lister som standard vises lodret - altså med et punkt
pr. linje.

Det kan klares med:

      li {
         display: inline;
         list-style: none;
      }

Noter:
======

[1] se <http://www.w3.org/TR/CSS21/selector.html#adjacent-selectors>
[2] Er der nogen der ved om det også virker i tidligere IE'er?
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Martin Jeppesen (02-09-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 02-09-03 02:14

> Det er ikke så tosset med contextual selectors. Der findes flere
> avancerede selectors [1], men mange af dem er desværre ikke understøttet
> i IE. Det er den kontekstuelle heldigvis - i hvert fald i IE6[2]

Nu har jeg læst meget af [1] linket for at se, om jeg kunne løse et
andet stort problem jeg har. Hvis jeg skriver:

<table border="0" cellspacing="0" cellpadding="0">
<tr><td>en masse tekst og celler her
</table>

Så ser min tabel rigtig ud, men hvis jeg skriver i HTML:

<table class="space">
<tr><td>en masse tekst og celler her
</table>

og i CSS:

table.space{
border: 0px;
border-spacing: 0px;
padding: 0px;
}

Så ser det helt forkert ud. Er det oplagt, hvorfor det ikke bliver
rigtigt?


> Jeg ville bare skrive linkene på en linje - lidt a la:
>
> <p class="menu"><a href...>A</a> <a href...>B</a>...</p>

Okay, det er uendelig meget nemmere og pænere, så det gør jeg=)


> Du kan godt bruge <li> - men så skal du ændre standardudseendet
> noget, fordi lister som standard vises lodret - altså med et punkt
> pr. linje.
>
> Det kan klares med:
>
>       li {
>          display: inline;
>          list-style: none;
>       }

Det er smart! Jeg vil prøve mig lidt frem, om jeg ikke kan fjerne nogle
af min andre tabeler til fordel for det her hack.

Tak!!


> Noter:
> ======
>
> [1] se <http://www.w3.org/TR/CSS21/selector.html#adjacent-selectors>
> [2] Er der nogen der ved om det også virker i tidligere IE'er?


Erik Ginnerskov (02-09-2003)
Kommentar
Fra : Erik Ginnerskov


Dato : 02-09-03 18:30


"Martin Jeppesen" <7t1tng0mgq02@sneakemail.com> skrev

>
> <table border="0" cellspacing="0" cellpadding="0">
> <tr><td>en masse tekst og celler her
> </table>
>
> Så ser min tabel rigtig ud, men hvis jeg skriver i HTML:
>
> <table class="space">
> <tr><td>en masse tekst og celler her
> </table>
>
> og i CSS:
>
> table.space{
>

Ikke at det har noget med din fejl at gøre, det har du vist også allerede
fået hjælp til. Men du mangler at afslutte cellen og rækken i tabellen:

<table border="0" cellspacing="0" cellpadding="0">
<tr><td>en masse tekst og celler her</td></tr>
</table>


IE er som regel ligeglad, men andre browsere kan ikke finde ud af det, når
der ikke afsluttes korrekt.

--
Med venlig hilsen
Erik Ginnerskov
http://www.hjemmesideskolen.dk - http://www.html-faq.dk
http://hjem.get2net.dk/egin



Martin Jeppesen (02-09-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 02-09-03 19:04

> Ikke at det har noget med din fejl at gøre, det har du vist også
> allerede fået hjælp til. Men du mangler at afslutte cellen og rækken
> i tabellen:
>
> <table border="0" cellspacing="0" cellpadding="0"> <tr><td>en masse
> tekst og celler her</td></tr> </table>
>
> IE er som regel ligeglad, men andre browsere kan ikke finde ud af det,
> når der ikke afsluttes korrekt.

Jeg synes også det er mærkeligt, men W3C gør det tit. Se her:

http://www.w3.org/TR/REC-CSS2/tables.html#q1


Anders Thorsen Holm (02-09-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 02-09-03 19:10

Martin Jeppesen wrote:

>> Men du mangler at afslutte cellen og rækken i tabellen:
[snip]
>
> Jeg synes også det er mærkeligt, men W3C gør det tit. Se her:
>
> http://www.w3.org/TR/REC-CSS2/tables.html#q1

Mon ikke det hænger sammen med at XHTML 1.0-specifikationen først var
på plads i 2000, hvor man for alvor begyndte at fokusere på at lukke
elementer korrekt? CSS 2-specifikationen er fra 1998.

--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fona!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/fona/

Knud Gert Ellentoft (02-09-2003)
Kommentar
Fra : Knud Gert Ellentoft


Dato : 02-09-03 19:59

Anders Thorsen Holm <zoolook@daimi.au.dkx> skrev :

>Mon ikke det hænger sammen med at XHTML 1.0-specifikationen først var
>på plads i 2000, hvor man for alvor begyndte at fokusere på at lukke
>elementer korrekt? CSS 2-specifikationen er fra 1998.

Hvad har lukning af elementer med css at gøre?
--
Knud

Anders Thorsen Holm (02-09-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 02-09-03 20:12

Knud Gert Ellentoft wrote:

> Hvad har lukning af elementer med css at gøre?

Martin henviste til

http://www.w3.org/TR/REC-CSS2/tables.html#q1

hvor de i (HTML 4.0) eksemplet ikke lukker tabellens elementer.

--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fona!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/fona/

Andreas Haugstrup Pe~ (02-09-2003)
Kommentar
Fra : Andreas Haugstrup Pe~


Dato : 02-09-03 19:48

Martin Jeppesen <7t1tng0mgq02@sneakemail.com> wrote in
news:pan.2003.09.02.18.03.36.726344@sneakemail.com:

>> IE er som regel ligeglad, men andre browsere kan ikke finde ud af det,
>> når der ikke afsluttes korrekt.
>
> Jeg synes også det er mærkeligt, men W3C gør det tit. Se her:
>
> http://www.w3.org/TR/REC-CSS2/tables.html#q1

I HTML 4 er slut-tag for <td> og <th> valgfrit:
<http://www.w3.org/TR/html401/struct/tables.html#h-11.2.6>

Det er det naturligvis ikke i xhtml!

--
Personal: <http://www.solitude.dk>
File Thingie - PHP File Manager <http://www.solitude.dk/filethingie/>

Jens Gyldenkærne Cla~ (02-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-09-03 12:40

Martin Jeppesen skrev:

> <table border="0" cellspacing="0" cellpadding="0">
> <tr><td>en masse tekst og celler her
> </table>

Faktisk kan alle ovenstående attributter til table godt validere
som XHTML 1.0 strict.

> table.space{
> border: 0px;
> border-spacing: 0px;
> padding: 0px;
> }

Prøv at læs siden her:
   <http://tom.me.uk/html-to-css/cellspacing.html>

Du mangler en border-collapse: collapse;

Det klarer så vidt jeg kan se cell-padding. For at få cell-spacing
med skal du skrive:

   table.space td { padding: 0px; }


Prøv at se eksemplet her:
<http://damu.dk/jc/usenet/cellspacing.shtml>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Martin Jeppesen (02-09-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 02-09-03 19:01

> Faktisk kan alle ovenstående attributter til table godt validere
> som XHTML 1.0 strict.

Jeg har godt set, at en del hjemmesider går for at være XHTML valideret.
XHTML er det noget der er kommet for at erstatte HTML4?

> Prøv at læs siden her:
>    <http://tom.me.uk/html-to-css/cellspacing.html>
>
> Du mangler en border-collapse: collapse;
>
> Det klarer så vidt jeg kan se cell-padding. For at få cell-spacing
> med skal du skrive:
>
>    table.space td { padding: 0px; }
>
>
> Prøv at se eksemplet her:
> <http://damu.dk/jc/usenet/cellspacing.shtml>

Det virker helt perfekt!!! Tak=)

Jeg må nok sige, at det første link har jeg virkelig lært meget af. Hvis
man går en side op, så forklare han, hvordan man løser andre HTML->CSS
problemer. Jeg synes ofte W3C er tung at læse, men det er ikke desto
mindre min lærebog=)

Der er et andet, og sidste, problem jeg heller ikke har kunne løse selv:

Kan man koble nogle <div> sammen, så det bliver pænere at kigge på?
Det var lykkes mig nogen steder i følgende kode, men ikke alle=(

<div class="space">
<table class="tablespace">
<tr> <td><div class="space11"></div></td> <td class="space12">Home</td> <td><div class="space13"></div></td></tr>
<tr> <td class="space21"></td><td class="space22">
----Tekst her----
</td><td class="space23">&nbsp;</td></tr>
<tr><td class="space31"></td><td class="space32"></td><td class="space33"></td></tr>
</table>
</div>

Hvis jeg retter den første række til:
<tr> <td class="space11"></td> <td class="space12">Home</td> <td class="space13"></td></tr>
, så bliver tabellen forkert.

I mit stylesheet står der:

table.tablespace{
border: 0px; /*border*/
border-spacing: 0px; /*cellspacing*/
padding: 0px;
border-collapse: collapse; /*remove padding*/
}

..space{
margin-top: 17px;
padding-top: 0px;
padding-left: 0px;
}

..tablespace{
border: 0px; /*border*/
border-spacing: 0px; /*cellspacing*/
border-collapse: collapse; /* remove cell padding */
}

..tablespace td{
padding: 0px;
}

..space11{
text-align: left;
width: 12px;
height: 36px;
background: URL(images/11.png);
}

..space12{
text-align: center;
font-family: Trebuchet MS;
font-weight: Bold;
background: URL(images/12.png);
}

..space13{
text-align: right;
width: 12px;
height: 36px;
background: URL(images/13.png);
}

..space21{
background: URL(images/21.png);
}

..space22{
background: #c4cace;
font-size: 14px;
font-weight: Bold;
text-align: center;
padding-top: 30px;
}

..space23{
background: URL(images/23.png);
}

..space31{
background: URL(images/31.png);
}

..space32{
background: URL(images/32.png);
height: 36px;
width: 100%;
}

..space33{
background: URL(images/33.png);
}



Martin Jeppesen (03-09-2003)
Kommentar
Fra : Martin Jeppesen


Dato : 03-09-03 00:49

> Hvis jeg retter den første række til:
> <tr> <td class="space11"></td> <td class="space12">Home</td> <td class="space13"></td></tr>
> , så bliver tabellen forkert.

Jeg er kommet en del længere med det her problem. Jeg har fundet udaf, at
hvis jeg indsætter &nbsp;&nbsp;, så går det godt i venstre side af
tabellen. I højre side kan jeg ikke lave &nbsp; tricket, så der skal jeg
stadig have min <div class..> inden i min <td>.

Så min konklusion er, at det nok ikke kan være anderledes. Og det er jo
stadig pæn HTML4 =)

Ellers har jeg lige fået brugt Jens' trick med at man kan override en
CLASS med en ID. Problemet var, at jeg havde en tabel, hvor alle
celler havde padding: 0px. En af dem skulle have padding: 10px, så den
bliv lige ændret fra CLASS til ID, og så var det ordnet=)

I skal alle sammen have mange tak for Jeres meget hurtige svar og meget
lange og fyldsgørende svar!!!

Så må jeg, om jeg kan hjælpe en anden gang=)

Martin



Jens Gyldenkærne Cla~ (02-09-2003)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 02-09-03 21:46

Andreas Haugstrup Pedersen skrev:

> I HTML 4 er slut-tag for <td> og <th> valgfrit:

Jep. Det gælder i øvrigt også for <tr>.

Når vi nu er ved det valgfri, vil jeg også lige nævne at det også
er valgfrit at have samme antal td'er i en række (det er en anden
hyppig misforståelse).

Eksemplet herunder er altså (med forbehold for slåfejl) helt legalt
- også i XHTML strict.

<table>
   <tr>
       <td>1</td><td>2</td>
   </tr>
   <tr>
       <td>3</td>
   </tr>
</table>
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

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

Månedens bedste
Årets bedste
Sidste års bedste