webForumDet fria alternativet

Lämpligaste sätt att koda formulär

HTML & CSSur HTML, XHTML & CSS

17 svar · 1 258 visningar · startad av J.N.

J.N.Medlem sedan apr. 20031 660 inlägg
#1

HEJ!

Jag har satt ihop ett formulär med utgångspunkt från http://www.picment.com/articles/css/funwithforms/, men jag får inte ihop det riktigt.

1. Är font rätt (=på bästa sätt) beskrivet i Body? Letade förgäves efter tråden som beskrev vad de 70 procenten utgår från. Har för mig att de skrev att man skulle utgå från 62.5 istället, enklare att räkna om till pixlar.

2. Textrutorna har bredd i pixel, hur översätter man det till em? Dessa borde ju också ändra storlek när fontstorleken ändras? Gäller även de 80px för Label.

3. Om man ändrar radhöjden i body till 1.3em eller mer, hamnar text och textrutor snett nedanför varandra. Hur löser man det?
Detsamma inträffar när man ändrar fontstorleken.

4. Kan man få texten till radioknappen (label) att hamna mer i linje med varandra? Den ligger lite under centrumlinjen nu. Jag gissar att det beror på fontstorleken?

5. Något annat att justera?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<html>
<head>
<title>Untitled</title>
<style type="text/css">
FIELDSET{
	width:400px;
	border:0px;
}

.fieldset LABEL{
	width:80px;
	float:left;
	margin-top:5px;
}

.nobr{
	display:none;
}

.textfield{
	margin:1px;
	width:200px;
	border:solid 1px #1860AB;
	font:1em Verdana, Arial, Helvetica, sans-serif;
}

.textfield50{
	margin:1px;
	width:50px;
	border:solid 1px #1860AB;
	font:1em Verdana, Arial, Helvetica, sans-serif;
}

.submit{
	margin:5px 0px 0px 84px;
	border:solid 1px #aaa;
	background-color:#1860AB;
	color:#fff;
	font:1em Verdana, Arial, Helvetica, sans-serif;
}

body{
	margin:0px;
	padding: 0px;
	font:70%/1.2 Verdana, Arial, Helvetica, sans-serif;
}

H1{
	font-size:1.3em;
}
</style>
</head>

<body>

<h1>Mer expedit distinct.</h1>

<form name="form" method="post" action="send.asp">
<fieldset>
Et harumd dereud facilis est er expedit distinct?<br />
<input type="radio" id="rb11" name="q1" value="1" title="eligend optio" />
<label for="rb11">eligend optio</label><br />
<input type="radio" id="rb12" name="q1" value="2" title="comque nihil" />
<label for="rb12">comque nihil</label><br />
<input type="radio" id="rb13" name="q1" value="3" title="a impedit anim" />
<label for="rb13">a impedit anim</label>
<br /><br />
Temporem autem quinsud et aur office debit aut
tum rerum necesit atib saepe eveniet ut er
repudiand sint et molestia non este recusand.
</fieldset>
<br />
<fieldset class="fieldset">
<label for="namn">Namn</label><br class="nobr" />
<input type="text" name="namn" class="textfield" title="Namn" /><br />
<label for="adress">Adress</label><br class="nobr" />
<input type="text" name="adress" class="textfield" title="Adress" /><br />
<label for="postnr">Postnummer</label><br class="nobr" />
<input type="text" name="postnr" class="textfield50" title="Postnummer" /><br />
<label for="ort">Ort</label><br class="nobr" />
<input type="text" name="ort" value="" class="textfield" title="Ort" /><br />
<input type="submit" name="submit" value="Klar" class="submit" title="Klar" />
</fieldset>
</form>
</div>

</body>
</html>
zcorpanMedlem sedan dec. 20042 245 inlägg
#2
  1. 62.5% är samma sak som 10px, om default är 16px.
  2. 200px => 20em, 80px => 8em, om textstorleken är 10px.
  3. Det händer inte för mig...?
  4. input, label { vertical-align:middle; }
    
  5. XHTML är lägeskänsligt när det tolkas som XML, så du får använda genemer i CSS-selektorerna ifall du vill att det ska matcha något. ;)
J.N.Medlem sedan apr. 20031 660 inlägg
#3

HEJ!

1. Okej, ser bra ut. Men, vad är default? Dvs, var och hur bestämmer jag det? Eller "mellan" i webbläsarna är 16px?

2. Okej, har räknat om till em. Padding på någon pixel har jag behållit, men egentligen ska ju de också förändras? Det är ju lika lätt att skriva em som px när man kodar, menar jag.

3. Konstigt? I Firefox spricker formuläret när jag ändrar fontstorlek.

4. Suveränt!

5. Okej, har skrivit tex body och h1 med versaler tidigare, när det är "original-taggar" som definieras. Dags att ändra på det alltså!

6. Ny! Av någon anledning kommer submit-knappen på olika positioner i IE resp Firefox, Varför?

Justerade lite annat, så nu är den Valid XHTML 1.0 Strict! också!

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled</title>
<style type="text/css">
fieldset{
	width:40em;
	border:0px;
}

.fieldset label{
	width:8em;
	float:left;
	margin-top:5px;
}

input, label{
	vertical-align:middle;
}

.nobr{
	display:none;
}

.textfield{
	margin:1px;
	width:20em;
	border:solid 1px #1860AB;
	font:1em Verdana, Arial, Helvetica, sans-serif;
}

.textfield50{
	margin:1px;
	width:5em;
	border:solid 1px #1860AB;
	font:1em Verdana, Arial, Helvetica, sans-serif;
}

.submit{
	margin:0.5em 0px 0px 8.4em;
	border:solid 1px #aaa;
	background-color:#1860AB;
	color:#fff;
	font:1em Verdana, Arial, Helvetica, sans-serif;
}

body{
	margin:0px;
	padding:0px;
	font:62.5%/1.3 Verdana, Arial, Helvetica, sans-serif;
}

h1{
	font-size:1.3em;
}
</style>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>

<body>

<h1>Mer expedit distinct.</h1>

<form name="form" method="post" action="send.asp">
<fieldset>
Et harumd dereud facilis est er expedit distinct?<br />
<input type="radio" id="rb11" name="q1" value="1" title="eligend optio" />
<label for="rb11">eligend optio</label><br />
<input type="radio" id="rb12" name="q1" value="2" title="comque nihil" />
<label for="rb12">comque nihil</label><br />
<input type="radio" id="rb13" name="q1" value="3" title="a impedit anim" />
<label for="rb13">a impedit anim</label>
<br /><br />
Temporem autem quinsud et aur office debit aut
tum rerum necesit atib saepe eveniet ut er
repudiand sint et molestia non este recusand.
</fieldset>
<br />
<fieldset class="fieldset">
<label for="namn">Namn</label><br class="nobr" />
<input type="text" id="namn" class="textfield" title="Namn" /><br />
<label for="adress">Adress</label><br class="nobr" />
<input type="text" id="adress" class="textfield" title="Adress" /><br />
<label for="postnr">Postnummer</label><br class="nobr" />
<input type="text" id="postnr" class="textfield50" title="Postnummer" /><br />
<label for="ort">Ort</label><br class="nobr" />
<input type="text" id="ort" value="" class="textfield" title="Ort" /><br />
<input type="submit" id="submit" value="Klar" class="submit" title="Klar" />
</fieldset>
</form>

</body>
</html>
m_soderlundMedlem sedan sep. 20026 425 inlägg
#4

1. I

body{
	margin:0px;
	padding:0px;
	font:62.5%/1.3 Verdana, Arial, Helvetica, sans-serif;
}

bestämmer du default-storleken på texten. Jag är inte inne på vad 62.5%/1.3 exakt betyder dock, det kanske någon annan vänlig själ vill förklara? :)

Har du sidan online nånstans så att man kan kika på den?

zcorpanMedlem sedan dec. 20042 245 inlägg
#5

m_soderlund skrev:

Jag är inte inne på vad 62.5%/1.3 exakt betyder dock, det kanske någon annan vänlig själ vill förklara? :)

http://www.webforum.nu/showthread.php?p=1086844#post1086844 :)

J.N.Medlem sedan apr. 20031 660 inlägg
#6

HEJ!

Som zcorpan skriver, är 1.3 radhöjden. Dock kan man undra varför den inte ska ha en enhet, testde lite med 1.3 em eller 130%, blir samma, och det tycker w3c också! http://www.w3.org/TR/CSS21/visudet.html#propdef-line-height.

Jag tycker inte jag bestämmer någon storlek, 62.5% av vad, tydligen 16px, men var kommer de ifrån. Det står inte 16px någonstans i css-koden.

Koden för sidan är allt det som är inklistrat, det är bara copy/paste i lämpligt program.

martinMedlem sedan apr. 2000313 inlägg
#7

Att inte använda em eller procent på line-height påverkar arvet (grejer som är mindre/större inuti det aktuella dokumentet), så om du t ex bara sätter line-height:1.2em på body, blir det samma radavstånd i hela dokumentet oavsett storlekar på rubriker och annat. Om du sätter line-height:1.2 på body blir radavståndet relativt till alla styckestorlekar. Knöligt att förklara, läs mer på http://www.autisticcuckoo.net/arkiv.php?id=2005/05/05/radavstand.

16px finns inte med i stilmallen, men är default i de flesta moderna browsrarna.

J.N.Medlem sedan apr. 20031 660 inlägg
#8

HEJ!

Läste artikeln, inte alldeles enkelt.
Men, jag sluter mig till att man bör inte använda någon enhet alltså.

Tack för de 16px, det var det jag var ute efter!

Inga kommentarer på övriga punkter, särskilt att formuläret spricker?

Eller det är att föredra att använda <legend> för att beskriva vad som ska matas in, alternativt (snyggare?) att lägga texten på raden ovanför?
Tyvärr innebär det att formuläret blir högre.

zcorpanMedlem sedan dec. 20042 245 inlägg
#9

Varje FIELDSET måste börja med en LEGEND. Det går dock inte att uttrycka i en XML DTD (det går att uttrycka i en SGML DTD) så validatorn ger falskt positivt resultat. :)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Untitled</title>
<style type="text/css">
fieldset{
	border:none;
}

fieldset#et-harumd label::after{
	content:"\A";
	white-space:pre;
}

fieldset#porsonuppgifter label{
	width:8em;
	float:left;
	clear:left; /* förhindra att "formuläret spricker" */
	margin-top:5px;
}

input, label{
	vertical-align:middle;
}

input{
	font:1em Verdana, Arial, Helvetica, sans-serif;
	/* om det inte vore för IE kunde vi använda 'font:inherit' */
}

.textfield{
 display:block;
 margin:1px 1px 1px 8em;
	width:20em;
	border:solid 1px #1860AB;
}

.t50{
	width:5em;
}

.submit{
	margin:0.5em 0 0 8.4em;
	border:solid 1px #aaa;
	background-color:#1860AB;
	color:#fff;
}

body{
	width:40em;
	margin:0;
	padding:0;
	font:62.5%/1.3 Verdana, Arial, Helvetica, sans-serif;
}

h1{
	font-size:1.3em;
}
</style>
</head>

<body>

<h1>Mer expedit distinct.</h1>

<form method="post" action="send.asp">
<fieldset id="et-harumd">
<legend>Et harumd dereud facilis est er expedit distinct?</legend>
<input type="radio" id="rb11" name="q1" value="1" checked="checked" />
<label for="rb11">eligend optio</label>
<input type="radio" id="rb12" name="q1" value="2" />
<label for="rb12">comque nihil</label>
<input type="radio" id="rb13" name="q1" value="3" />
<label for="rb13">a impedit anim</label>
</fieldset>
<p>Temporem autem quinsud et aur office debit aut
tum rerum necesit atib saepe eveniet ut er
repudiand sint et molestia non este recusand.</p>
<fieldset id="porsonuppgifter">
<legend>Personuppgifter</legend>
<label for="namn">Namn</label>
<input type="text" id="namn" class="textfield" />
<label for="adress">Adress</label>
<input type="text" id="adress" class="textfield" />
<label for="postnr">Postnummer</label>
<input type="text" id="postnr" class="textfield t50" />
<label for="ort">Ort</label>
<input type="text" id="ort" value="" class="textfield" />
</fieldset>
<p><input type="submit" id="submit" value="Klar" class="submit" /></p>
</form>

</body>
</html>
J.N.Medlem sedan apr. 20031 660 inlägg
#10

HEJ!

Så många möjligheter, hur ska man kunna greppa css-design?! §jr

Tyckte också att Fieldset-frågan var konstig, men eftersom det validerade även när de togs bort, så lät jag det bero. Stoppar in dem igen.

1. Det finns naturligtvis mer än en fråga, ska man göra respektive fråga till ett Fieldset?
Problemet är att de läggs på rad efter varandra i IE, FF är rätt. Eftersom de ska ligga i samma lager löser det sig i detta fall, men hur får man de vänsterjusterade annars?

2. ...label::after... läste jag om på Devguru, intressant funktion. Men, vad gör du med "\A";, en matchning?

3. Denna fiffiga lösning fungerar inte i IE, men väl i FF. Det står på Devguru NS6+, att det inte blir under vartannat i IE var alltså medvetet?

4. Om Legend-texten är lång, ska man bryta den med <br />? Stylade till den med line-height, ser bra ut. Eller ska man använda <p> istället, som zcorpan gör för texten?

5. Behöver man gömma Legend med display:none;, eller skriver man att den inte är något, <legend></legend>?
Ser att FF HTML Validator inte gillar denna tomma tagg. Det är alltså fel?

6. Texten Personuppgifter är inte i lod med Förnamn etc, går det att komma åt, lyckades inte själv.

7. Submit kan man få i lod med textrutan, men enbart i IE eller FF. (Ej testat andra än.) Kan man komma åt detta? Tyvärr har inte zcorpan heller det exakt rätt.

zcorpanMedlem sedan dec. 20042 245 inlägg
#11
  1. Fieldset används för att gruppera formulärobjekt... Hur det grupperas på bästa sätt är upp till dig. Vad du menar sen förstår jag inte riktigt.
  2. "\A" är en U+000A LINE FEED.
  3. ::after funkar inte i IE, nej. :(
  4. LEGEND får bara innehålla inline-element och text.
  5. Hmm... om du inte vill ha någon legend kanske du inte vill ha någon fieldset heller? Man kan gruppera fomulärobjekt med P också.
  6. Tja... LEGEND är väldigt dum när det kommer till CSS och webbläsare. Det lättaste tror jag är att lägga en SPAN inuti LEGEND och positionera den så den hamnar rätt.
  7. Du kan väl ange en vänstermarginal?
J.N.Medlem sedan apr. 20031 660 inlägg
#12

HEJ!

Tack zcorpan för svaren, har använt en del av dina förslag i lösningen.
Det ser bra ut i det mesta, förutom Opera5. (Ev Netscape6 också, ej testat själv.)

Som ni ser är textboxarna med text helt ojämna, vad ska fixas?
Det felet är det viktigaste att jag får hjälp med, men har ni även andra synpunkter, är de också välkomna!

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
<title>Tävling</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<style>
body{
	margin:0px;
	padding: 0px;
	font:62.5%/1.3 Verdana, Arial, Helvetica, sans-serif;
}

fieldset{
	border:0px solid #ccc;
}

legend, p.bold{
	font-weight:bold;
	margin:0 0 0 0;
	line-height:1.8;
}

#tavling fieldset{
	margin:0.5em 0 0 0;
}

fieldset#personuppgifter label{
	float:left;
	clear:left; /* förhindra att "formuläret spricker" */
	margin:0.2em 0 0 0;
}

input, label{
	vertical-align:middle;
	
}

input{
	font:1em Verdana, Arial, Helvetica, sans-serif;
}

.textfield{
	display:block;
	border:solid 1px #C8272F;
	margin:0.2em 0 0 8em;
	width:15em;
}

.t5{
	width:5em;
}

.textarea{
	display:block;
	width:29em;
	height:4em;
	font:1em Verdana, Arial, Helvetica, sans-serif;
	border:solid 1px #C8272F;
	margin: 0 0 0.5em 0;
}

.ta15{
	width:15em;
	height:4em;
}

.submit{
	margin:0.5em 0 0 8.2em;
	border:solid 1px #ccc;
	background-color:#C8272F;
	color:#fff;
	font:1em Verdana, Arial, Helvetica, sans-serif;
}
</style>
</head>
<body>

<form method="post" action="tavla_spara.asp">

<div id="tavling" style="position:absolute; top:115px; left:20px; width:300px; z-index:40;">
<fieldset>
<legend>Fråga 1?</legend>
<input type="radio" id="rb11" name="q1" value="1" title="Fråga 1, alternativ 1" /><label for="rb11">8</label><br />
<input type="radio" id="rb12" name="q1" value="2" title="Fråga 1, alternativ 2" /><label for="rb12">3</label><br />
<input type="radio" id="rb13" name="q1" value="3" title="Fråga 1, alternativ 3" /><label for="rb13">5</label>
</fieldset>
<fieldset>
<legend>Fråga 2?</legend>
<input type="radio" id="rb21" name="q2" value="1" title="Fråga 2, alternativ 1" /><label for="rb21">Vit</label><br />
<input type="radio" id="rb22" name="q2" value="2" title="Fråga 2, alternativ 2" /><label for="rb22">Blå</label><br />
<input type="radio" id="rb23" name="q2" value="3" title="Fråga 2, alternativ 3" /><label for="rb23">Svart</label>
</fieldset>
<fieldset>
<p class="bold">Varför ska du vinna??</p>
<textarea id="motivering" name="motivering" rows="3" cols="30" class="textarea" title="Fyll i din motivering"></textarea>
Motivera med max 25 ord.
</fieldset>
</div>

<div style="position:absolute; top:260px; left:410px; width:300px; z-index:40;">
<fieldset id="personuppgifter">
<label for="fornamn">Förnamn</label>
<input type="text" id="fornamn" name="fornamn" class="textfield" title="Förnamn" />
<label for="efternamn">Efternamn</label>
<input type="text" id="efternamn" name="efternamn" class="textfield" title="Efternamn" />
<label for="ort">Adress</label>
<input type="text" id="adress" name="adress" class="textfield" title="Adress" />
<label for="ort">Postnummer</label>

<input type="text" id="postnr" name="postnr" class="textfield t5" title="Postnummer" />
<label for="ort">Ort</label>
<input type="text" id="ort" name="ort" class="textfield" title="Ort" />
<label for="epost">E-post</label>
<input type="text" id="epost" name="epost" value="" class="textfield" title="E-post" />
<label for="epost">Telefon</label>
<input type="text" id="telefon" name="telefon" value="" class="textfield" title="Telefon" />
<input type="submit" name="submit" value="Skicka" class="submit" title="Skicka" />
</fieldset>
<fieldset>
<input type="checkbox" id="merinfo" name="merinfo" value="-1" title="Nej tack till information" /><label for="merinfo">Nej tack, jag vill inte få information eller erbjudanden.</label>
</fieldset>
</div>
</form>

</body>
</html>
opera5.gif
zcorpanMedlem sedan dec. 20042 245 inlägg
#13

Som tur är är Opera-användare snabba på att uppdatera så jag skulle personligen inte bry mig om Opera5. Men om jag inte minns fel så blir det knas när man flyter en LABEL i NS6 och kanske även Opera5, så om du bryr dig om dessa webbläsare kan du lägga en SPAN inuti LABEL och ange stilreglerna på label span istället. Dessutom kan en doctype-deklaration som inte triggrar Quirks mode göra underverk i vissa lägen. ;)

Det ser ut som

<p class="bold">Varför ska du vinna??</p>

borde vara

<legend>Varför ska du vinna??</legend>

:)

J.N.Medlem sedan apr. 20031 660 inlägg
#14

HEJ!

Efter (en kort) diskussion med kunden, kom vi (jag iallafall) överrens om att Opera 5 är en gammal version. Kunden går efter sina loggar för att veta vad webbplatserna ska byggas efter, de skulle kontrollera om Opera-nivån kan flyttas uppåt.

Installerade Opera8, där fungerar det perfekt!

Du har helt rätt i att det borde vara en Legend istället, men dels är texten längre, dvs jag behöver två rader, och man får inte ha <br> där. Dessutom blir inte texten i lod, och det gillade inte AD:n. Du tipsade om att styla den (pkt 4, 5, 6 nedan), men jag lade inte tid på det.

Jag har ändrat Doctype till

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="sv">

är det bättre?

En sak lyckades jag inte få rätt på, style på Label:n jag stoppade dit, för det ska det ju finnas för att validera. Jag använde alla varianter utom den rätta för att komma åt taggen, och fick lägga en vanlig class istället. x(

<div id="tavling" style="position: ... ;">
<fieldset><label for="motivering" class="bold">Varför ska jag vinna
lång lång text!?<span class="star">*</span></label></fieldset></div>

Tips och trix-fråga:
Stjärnan visar nödvändiga fält, classen star är margin-left 0.2em (kom jag själv på :) ) och röd färg.
Kan man inte göra en class som innehåller stjärnan också, dvs liknande :after, men som fungerar i det mesta?

zcorpanMedlem sedan dec. 20042 245 inlägg
#15

J.N. skrev:

Du har helt rätt i att det borde vara en Legend istället, men dels är texten längre, dvs jag behöver två rader, och man får inte ha <br> där.

BR är ett inline-element, så tekniskt sett är det tillåtet att lägga en BR inuti LEGEND. (P är inte tillåten eftersom P är ett blockelement.)

J.N. skrev:

Jag har ändrat Doctype till

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="sv">

är det bättre?

Japp, den doctypen triggar "standards mode" i IE6. :)

J.N. skrev:

En sak lyckades jag inte få rätt på, style på Label:n jag stoppade dit, för det ska det ju finnas för att validera. Jag använde alla varianter utom den rätta för att komma åt taggen, och fick lägga en vanlig class istället. x(

#tavling label { font-weight:bold; }

?

J.N. skrev:

Tips och trix-fråga:
Stjärnan visar nödvändiga fält, classen star är margin-left 0.2em (kom jag själv på :)) och röd färg.
Kan man inte göra en class som innehåller stjärnan också, dvs liknande :after, men som fungerar i det mesta?

Ja, det går väl, men det är ju en fördel om den informationen är tillgänglig även utan CSS eller om man använder en skärmläsare. Ett sätt att lösa det på är att använda en bild med en röd stjärna på

<label for="motivering">Varför ska jag vinna
lång lång text!? <img src="stjarna" alt="(nödvändigt fält)"></label>

eller helt enkelt använda ren text.

<label for="motivering">Varför ska jag vinna
lång lång text!? (nödvändigt fält)</label>
J.N.Medlem sedan apr. 20031 660 inlägg
#16

HEJ!

Jag är inte helt med på elementtyper än, använder <br> i Legend nästa gång.

zcorpan skrev:

#tavling label {font-weight:bold;}

Jo, det fungerar, men för bra!

I samma lager ligger även radiobuttons, och då blir de label:arna också bold, och det ska de inte.

<div id="tavling" ...>
<fieldset id="et-harumd">
<legend>Et harumd dereud facilis est er expedit distinct?</legend>
<input type="radio" id="rb11" name="q1" value="1" checked="checked" />
<label for="rb11">eligend optio</label>
<input type="radio" id="rb12" name="q1" value="2" />
<label for="rb12">comque nihil</label>
<input type="radio" id="rb13" name="q1" value="3" />
<label for="rb13">a impedit anim</label>
</fieldset>
<fieldset><label for="motivering" class="bold">Varför ska jag vinna
lång lång text!?<span class="star">*</span></label>
</fieldset>
</div>

Kan man inte komma åt det utan att bryta upp div:en?

zcorpan skrev:

Ja, det går väl, men det är ju en fördel om den informationen är tillgänglig även utan CSS eller om man använder en skärmläsare. Ett sätt att lösa det på är att använda en bild med en röd stjärna på.

Nej, du har helt rätt, det "fungerar ju inte i det mesta" om man lägger den i css:et. Anledning till att du vill ha en bild, är väl att få fram att det betyder "nödvändigt" genom alt-texten; endast en stjärna behöver ju inte betyda det.

zcorpanMedlem sedan dec. 20042 245 inlägg
#17

J.N. skrev:

Kan man inte komma åt det utan att bryta upp div:en?

Jo då:

label[for=motivering] { font-weight:bold; }

;)

...men om det ska fungera i IE får man nog använda en klass ändå. :(

J.N.Medlem sedan apr. 20031 660 inlägg
#18

HEJ!

Din variant visste jag inte att man kunde göra, men intressant att se.
Jag fortsätter med min class.
Tack för hjälpen!

Det fungerar, som du säger, inte i IE6, men i FF och Opera8.

148 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
145 ms — hämta tråd, inlägg och bilagor (db)