du kan ikke sætte width på et span element da det som default er et inline element. hvis din width skal slå igennem bliver du nødt til at sætte style="display:block;" på det, men så kan du lige så godt bruge et div element. problemet med block elementer er at de ombryder linien, så vi er ude i noget float, for at få elementerne til at stå rigtigt.. som her:
<!DOCTYPE HTML PUBLIC "-//w3c//dtd html 4.01 transitional//en" "
http://www.w3.org/tr/html4/loose.dtd"><html>
<head>
<title>Untitled</title>
</head>
<div style="height:40px">
<div style="width:80px;float:left;">navn:</div>
<div style="width:120px;float:left;"><input type="text" name="navn"></div>
</div>
<div style="height:40px">
<div style="width:80px;float:left;">kodeord:</div>
<div style="width:120px;float:left;"><input type="password" name="kodeord"></div>
</div>
</body>
</html>
Men jeg er som udgangspunkt enig med nielle - hvorfor ikke bruge en tabel, da det _præcis_ er en tabels egenskaber du efterspørger.