/ 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
En lille udfordring
Fra : Jonas Koch Bentzen


Dato : 24-03-04 17:40

Det bliver rimelig tit prædiket, at tabeller kun skal bruges til egentlige
tabellignende strukturer, ikke til design. Selv har jeg brugt div-baseret
design i lang tid - men til formularer a la

Navn: [____________]
Alder: [____________]

bruger jeg stadig tabeller - simpelthen fordi, jeg ikke kan finde nogen måde
at gøre det på med div'er, der er fleksibel nok. Med fleksibel mener jeg,
at løsningen skal

- Være hurtig at lave (dvs. ikke mange CSS-linjer for hver div, men derimod
én klasse for div'erne i venstre side og én klasse for dem i højre)
- Hvis f.eks. teksten "Alder" bliver længere, skal hele samlingen af
inputfelter rykkes til højre, så de stadig er parallelle.
- Helst ikke position: absolute (det tvinger én nemlig til også at bruge
absolut positionering på selve sidens hovedelementer).

Jeg har forsøgt noget med at have en float: left på div'erne på venstre
side, mens hvis en af div'erne indeholder meget tekst, går designet
fuldstændig i kage.

Kan man på en fleksibel måde lave en formular med div'er?

--
- Jonas Koch Bentzen

http://understroem.dk/
http://findhim.com/

 
 
Anders Thorsen Holm (24-03-2004)
Kommentar
Fra : Anders Thorsen Holm


Dato : 24-03-04 17:42

Jonas Koch Bentzen wrote:

> Det bliver rimelig tit prædiket, at tabeller kun skal bruges til
> egentlige tabellignende strukturer, ikke til design.
[snip om brug af tabeller til forms]
> Kan man på en fleksibel måde lave en formular med div'er?

Forms/formularer er for mig undtagelsen, der bekræfter reglen.

Oftest er layoutet af en formular af væsentlig betydning for om
brugeren vil være i stand til at udfylde formularen korrekt. Nok burde
man kunne angive rækkefølgen nogenlunde sigende med basal (X)HTML og
sætte det op med CSS, men som du selv har påpeget, kan det give bøvl
med arbitrært lange tekster.

Emnet er tidligere blevet diskuteret her i gruppen, og så vidt jeg
husker, kom vi til nogenlunde enighed om, at formularer og dertil
hørende input-felter er at betragte som tabulære data.

Der er således ikke så meget, der taler imod at benytte tabeller til at
opstille formularer - når blot man sørger for at udnytte <th> og
<label>-elementer på passende vis og kombinerer tabellens fleksibilitet
med CSS' formatteringsegenskaber.

--
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/

Erik Ginnerskov (24-03-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 24-03-04 20:00


"Jonas Koch Bentzen" <ingen.email@eksempel.dk> skrev
....
> Det bliver rimelig tit prædiket, at tabeller kun skal bruges til egentlige
> tabellignende strukturer, ikke til design. Selv har jeg brugt div-baseret
> design i lang tid - men til formularer a la
>
> Navn: [____________]
> Alder: [____________]
>
> bruger jeg stadig tabeller - simpelthen fordi, jeg ikke kan finde nogen
måde
> at gøre det på med div'er, der er fleksibel nok. Med fleksibel mener jeg,
> at løsningen skal

Svaret må være fieldset, legend og label. Se kildekoden i
http://www.hjemmesideskolen.dk/kontakt.asp og den dertil hørende css
http://www.hjemmesideskolen.dk/hss.css

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



Anders Wegge Jakobse~ (24-03-2004)
Kommentar
Fra : Anders Wegge Jakobse~


Dato : 24-03-04 20:32

"Erik" == Erik Ginnerskov <egin@spam.invalid> writes:

> "Jonas Koch Bentzen" <ingen.email@eksempel.dk> skrev

[Om formularer]

>> at gøre det på med div'er, der er fleksibel nok. Med fleksibel mener jeg,
>> at løsningen skal

> Svaret må være fieldset, legend og label. Se kildekoden i
> http://www.hjemmesideskolen.dk/kontakt.asp og den dertil hørende css
> http://www.hjemmesideskolen.dk/hss.css

Prøv at se på din formular, når man tekster den for synshandicappede,
og fortæl mig så hvor godt det udseende overholde kravet om
fleksibilitet?

--
/Wegge <http://outside.bakkelygaard.dk/~wegge/>
echo mail: !#^."<>"|tr "<> mail:" dk@wegge

Jens Gyldenkærne Cla~ (24-03-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-03-04 23:12

Erik Ginnerskov skrev:

> Svaret må være fieldset, legend og label.

Det opfylder ikke de krav til fleksibilitet som Jonas stillede op
(og som jeg i øvrigt er helt enig i). Problemet er at du sætter en
fast bredde på label - det betyder at en ændring af en labeltekst
også vil fordre en ændring af den css-definerede bredde på label
(hvis man ikke bare laver rigelig plads fra starten).

Med en tabel sikrer man at kolonnen med inputfelter begynder præcis
der hvor den længste label slutter (fraregnet evt. padding). Det
giver en fleksibilitet man ikke får uden tabellen.

NB: De tre elementer du nævner er bestemt stadig oplagte at benytte
til en form - jeg vil blot lægge label og input i hver deres
tabelcelle.
--
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

Erik Ginnerskov (25-03-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 25-03-04 10:11


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev

> > Svaret må være fieldset, legend og label.
>
> Det opfylder ikke de krav til fleksibilitet som Jonas stillede op
> (og som jeg i øvrigt er helt enig i). Problemet er at du sætter en
> fast bredde på label - det betyder at en ændring af en labeltekst
> også vil fordre en ændring af den css-definerede bredde på label
> (hvis man ikke bare laver rigelig plads fra starten).

Jeg skulle mene, at hvis man sætter bredden på label mv. i 'em', i stedet
for som jeg i 'px', skulle problemet være løst.
Når jeg henviste til min egen css, var det blot for at synliggøre, hvordan
de enkelte classes og id'er er defineret - ikke fordi jeg vil hævde, at px
er det eneste rigtige.

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



Jens Gyldenkærne Cla~ (25-03-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-03-04 12:08

Erik Ginnerskov skrev:

> Jeg skulle mene, at hvis man sætter bredden på label mv. i
> 'em', i stedet for som jeg i 'px', skulle problemet være løst.

Jeg er uenig. Hvis du definerer label-længden til fx 15em, så er
dit indhold nødt til at holde sig under 15 tegn hvis det skal se
fornuftigt ud.

Idealet (i hvert fald mit ideal) må være at visningskoden (css)
ikke medfører restriktioner for indholdet.

Uden en tabel kan man vælge to fremgangsmåder. Enten lægger man
labelteksterne fast fra starten og sætter en passende længde så det
svarer til to kolonner. Eller også lægger man en god portion luft
(ekstra længde) ind i css-definitionen på label og sørger for at
fremtidige labeltekster holder sig under den fastsatte længde.

Ingen af de to muligheder er helt gode. Hvis css-definitionen er
skrevet specifikt til de nuværende labeltekster, betyder det at de
kun kan opdateres af en person der også kan rette i css-arket. På
mange større sites vil der være en del flere personer der kan/må
rette i indhold end der er personer der kan rette i css-
definitionerne. Lægger man ekstra luft ind fra starten, vil
opstillingen fylde mere end nødvendigt og det store mellemrum vil
sjældent være kønt.

Når man stiller en form op i rækker af label + inputelement - og
gerne vil have at inputelementerne flugter pænt - så udgør
opstillingen jo netop en tabel med to kolonner (label og input) og
en række pr. formelement. Selv om man godt _kan_ lave en sådan
opbygning uden en tabel, har jeg svært ved at se hvorfor man skulle
gøre det. HTML-tabeller er blevet misbrugt til mange ting - men
opstilling af formulardata i rækker og kolonner er ikke en af dem.
--
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

Erik Ginnerskov (25-03-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 25-03-04 12:39


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> skrev

> Uden en tabel kan man vælge to fremgangsmåder. Enten lægger man
> labelteksterne fast fra starten og sætter en passende længde så det
> svarer til to kolonner. Eller også lægger man en god portion luft
> (ekstra længde) ind i css-definitionen på label og sørger for at
> fremtidige labeltekster holder sig under den fastsatte længde.

Her kunne en højrejustering af indholdet i labels måske bruges.

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



Jens Gyldenkærne Cla~ (25-03-2004)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-03-04 12:53

Erik Ginnerskov skrev:

> Her kunne en højrejustering af indholdet i labels måske
> bruges.

Jo - hvis man synes det er kønt. Men så kommer den ekstra luft bare
på venstre side (hvor den dog ikke vil genere helt så meget).
--
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 : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408540
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste