Ik ben wat aan het klooien met de css forms van Jan.

Ik heb daar een apart CSS bestandje voor aangemaakt.
Nu wil ik dat css bestand alleen oproepen als de pagina's forms bevatten.
Moet het aanroepen van het CSS bestand in de head gebeuren of mag dit ook gewoon in de body ?

<link rel="stylesheet" type="text/css" href="formtest.css" />

Op deze manier doe ik dat nu is dit dan nog goed of niet ?
Dat stukje code moet je dan in de head plaatsen ja...

Maar waarom wil je het alleen laden op pagina's die forms bevatten?
Ja dit kan je ook veranderen doormiddel van class in de forms... (snap je wat ik bedoel?)

(zie ook dit)
@Blanche:

Om de volgende reden : Mijn html staat in 2 delen apart
in mijn lib.inc.php de header en de footer.

En op elke pagina roep ik deze functie op.
Vandaar als ik dat ook maak laad hij dze opmaak iedere keer op nieuw terwijl maar 2 pagina's van de hele site een form heeft.
Je laadt waarschijnlijk je includes op index.php (of teminste je includes include je op een pagina) hier moet <link rel="stylesheet" type="text/css" href="formtest.css" />
dit neer zetten. En alle CSS sjizzel inzetten. Dit wordt dan gebruikt voor alle pagina's.
in de html code?

met <style> en </style>
Het is veel simpeler. Via document.forms kun je kijken of je pagina forms bevat. Zoja, include je forms.css.
Waarom zou je niet op alle pagina's forms.css willen laden. Als het bestand ongewijzigd is zal de browser het niet opnieuw laden.
De bezoeker hoeft dus hoogtens bij het eerste bezoek 50 Kb meer te downloaden.
@ Jan document.forms is dat javascript ?

BTW volgend probleem ik wil mijn twee velden langs een. Ik heb het proberen aan te passen. Het eerste geeft hij perfect weer daarlang het input veld en 1 regel lager de tekst die voor het tweede input scherm moest staan.

http://www.php-design.be/test/formtest.htm

html

<form action="index.php?action=checkuser" method="post">
<fieldset>
	<legend>Loginform</legend>
		<label for="login" class="align_text">Loginnaam:</label>
		<input id="login" name="login" type="text" class="my_textfield" value="">
		<label for="passw" class="align_text">Paswoord:</label>
		<input id="passw" name="passw" type="password" class="my_textfield" value="">
		<input type="submit" value="Login">
</fieldset>
</form>
<hr class="clearer" />

CSS

form {
	margin: 10px 0px;
	padding: 15px;
}
label {
	cursor: pointer;
}
label.align_text {
	float: left;
	width: 140px;
	text-align: right;
	padding-right: 3px;
}
fieldset {
	margin: 10px 0px;
	padding: 15px;
	border: 2px solid #CCCCCC;
}
legend {
	font-weight: bold;
	background: #F0F0F0;
	padding: 5px;
}
input.my_textfield {
	color: #69c;
	font-weight: bold;
	padding: 2px;
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
hr.clearer {
	visibility: hidden;
	clear: both;
}

Ik heb al gevonden dat het aan de label.align_text ligt alleen weet ik niet wat er voor zorgt dat ze niet langs een kunnen staan ?

label.align_text {
float: left;
width: 140px;
text-align: right;
padding-right: 3px;
}

Reageren