Autor Zpráva
m
Profil *
Ahoj, mam nasledujici formular a potreboval bych nejak zarovnat ty textove pole aby byly pod sebou a neprecnivali. Da se to nejak udelat pomoci CSS, nebo to musim narvat do tabulky?


<fieldset> 
	<legend>Nastavení</legend> 
	<form name="wan-nastaveni" method="post" action="/martin/index.php?akce=wan&zpracovano=ano"> 
		
		<label onClick="onOff(document.getElementById('staticky-schovat'), 0)">DHCP 
			<input 
				type="radio" 
				name="protokol" 
				value="dhcp"
				  /> 
		</label> 
<div class="odsaditShora"></div> 
		<label onClick="onOff(document.getElementById('staticky-schovat'), 1)">Staticky 
			<input 
				type="radio" 
				name="protokol" 
				value="static"
				checked="checked"  /> 
		</label> 
		
		
<div id="staticky-schovat">			 
			<div class="odsaditZleva"> 
				<label class="povinne">IP adresa 
					<input 
						type="text" 
						name="ipaddr" 
						value="192.168.1.7" /> 
				</label>
				<label class="povinne">Maska 
					<input 
						type="text" 
						name="netmask" 
						value="255.255.255.0" /> 
				</label> 
				<label class="povinne">Brána 
					<input 
						type="text" 
						name="gateway" 
						value="192.168.1.1" /> 
				</label> 
				<label class="povinne">1. DNS 
					<div class="nezalamovat">					
					<input 
						type="text" 
						name="dns1" 
						value="8.8.8.8" /> 
					<div class="nepouzity"> 
											<img src="img/nepouzivat.png" width="16" height="16" alt="Tyto DNS záznamy nebudou použity." /> 
											Tyto DNS záznamy nebudou použity.</div>					</div> 
				</label>
				<label>2. DNS 
					<div class="nezalamovat">					
					<input 
						type="text" 
						name="dns2" 
						value="8.8.4.4" /> 
					<div class="nepouzity"> 
											<img src="img/nepouzivat.png" width="16" height="16" alt="Tyto DNS záznamy nebudou použity." /> 
											Tyto DNS záznamy nebudou použity.</div>					</div> 
				</label> 
				<label>Broadcast 
					<input 
					type="text" 
					name="broadcast" 
					disabled="disabled" 
					value="" /> 
				</label> 
			</div> 
</div> 
 
 
<div class="odsaditShora"></div> 
		<label>Změnit MAC adresu 
			<input 
			type="checkbox" 
			name="mac-check" 
			checked="checked"			onClick="zobrazit(document.getElementById('zmenit-mac-schovat'))" /> 
		</label> 
<div class="odsadit"> 
			<input 
				type="text" 
				id="zmenit-mac-schovat"
				name="mac" 
				value="a:b:c:d" /> 
</div> 
 
<div class="odsaditShora"></div> 
		<label>Použít vlastní DNS
			<input 
			type="checkbox" 
			name="vlastni-dns-check" 
			checked="checked"			onClick="zobrazit(document.getElementById('vlastni-dns-schovat'))" /> 
		</label> 
<div class="odsadit" id="vlastni-dns-schovat"> 
				<label class="povinne">1. DNS 
					<input 
						type="text" 
						name="dns1-vlastni" 
						value="8.8.8.8" /> 
				</label>
				<label>2. DNS 
					<input 
						type="text" 
						name="dns2-vlastni" 
						value="8.8.4.4" /> 
				</label>				
				
				
</div> 
		<input type="submit" value="Odeslat" /> 
		<!-- <input type="reset" value="Smazat" /> --> 
	</form> 
</fieldset> 
Venca V
Profil
Udělat pomocí CSS to jde, ovšem toto je případ, kdy je použití tabulky naprosto v pořádku.
m
Profil *
Venca V:
A muzes mi prosim poradit, jak to pomoci CSS udelat? Me se do ty tabulky moc nechce.
m
Profil *
Uz jsem to nasel - http://www.webcredible.co.uk/user-friendly-resources/css/css-forms.shtml
m
Profil *
Tak si s tim porad hraju a porad mi to nejde :-(
Mam nasledujici formular:


#prihlasovaciFormular	{
	margin-top: 5em;
	margin-left: auto;
	margin-right: auto;
	width: 11em;
	padding: 1em;
	font-size: 125%;	
	background-color: white;
}
#prihlasovaciFormular legend	{
	border-width: 1px;
	border-style: solid;
	padding: 0em 0.25em 0em 0.25em;
	background-color: #ffc3c3;	
}
#prihlasovaciFormular label input	{
	width: 10em;
	float: right;
	margin-right: 0.5em;
	text-align: right;
	display: block;
}
#prihlasovaciFormular .submit input	{
	margin-left: 4.5em;
}
#prihlasovaciStranka	{
	background-image: url("img/login-pozadi.png");
	background-repeat: repeat-x;
}


<body id="prihlasovaciStranka"> 
<fieldset id="prihlasovaciFormular">
	<legend>Přihlášení</legend>
	<form method="post" action="<?php echo ($_SERVER["PHP_SELF"])?>"> 
		<label>Jméno <input type="text" name="login" value="admin" disabled="disabled" /> </label> 
		<label>Heslo <input type="password" name="pass" /> </label> 
		<div class="submit">
			<input type="submit" value="Odeslat" /> 
			<input type="reset" value="Smazat" />		
		</div>		
	</form> 
</fieldset>
</body>  


Nemuzete mi nekdo poradit? Ja uz jsem vazne bezradnej :-(
Melo by to vypadat nejak podobne:
Kolda
Profil *
Doporucuji tabulky, jinak me jeste napada to narvat do divu, kterym nastavis pevnou sirku.

Dalsi moznost je, ze urcit labelum napevno odsazeni z leva, takze projde i pres text a nebude na textu zavisle...
xmark
Profil
m:
Máš nějaký zvláštní důvod dávat inputy do labelů?
m
Profil *
xmark:
Nevim. Myslel jsem, ze kdyz uzivatel klikne na ten popisek, tak se mu hned aktivuje vstupni pole. Vadi to necemu?
xmark
Profil
m:
To sice nevím, nechce se mně zkoumat ty kilometry kódu, ale vzhledem k tomu, že se to snažíš pozicovat tak nějak vůči sobě, řekl bych že ano.
http://www.jakpsatweb.cz/html/formulare.html#label
habendorf
Profil
Input v labelu je zcela v pořádku, ale pro tuto situaci je lepší ho mít mimo label.

Pokud nechceš použít tabulku, tak label i input nafloatovat doleva se zadanou šířkou, labelu dát text-align:right a padding-right. Plus clearovat.
m
Profil *
habendorf:

>>Input v labelu je zcela v pořádku, ale pro tuto situaci je lepší ho mít mimo label.
Kdyz to jen trochu pujde, tak chci mit input v labelu.


Tak jsem to zkusil, ale porad mi to nejde .Muzes se na to prosim podivat?
habendorf
Profil
m:

Já jsem popisoval jak to udělat, je-li label před inputem (myšleno v kódu). Pokud trváš na inputu uvnitř labelu, byla by dobrá struktura třeba

label
span Jméno /span
input
/label

a v mé větě label i input nafloatovat doleva se zadanou šířkou, labelu dát text-align:right a padding-right si namísto label dej ten span.
Medvídek
Profil
m:
Kdyz to jen trochu pujde, tak chci mit input v labelu.

Můžu se zeptat proč? :)
habendorf
Profil
Medvídek:

Občas k tomu je dobrý důvod. Ale tenhle případ to není.
m
Profil *
Medvídek:
Kdyz uzivatel klikne na ten popisek, tak se mu hned aktivuje vstupni pole.
habendorf
Profil
m:

To se aktivuje i když input není uvnitř labelu. Je to svázáno atributy for a id.
m
Profil *
habendorf:
A v cem je to lepsi/horsi, nez zanorit input do labelu?
<fieldset id="prihlasovaciFormular">
    <legend>Přihlášení</legend>
    <form method="post" action="neco-nekde.php"> 
        <label for="a">Jméno <input type="text" name="login" id="a" value="admin" /> </label> 
        <label for="b">Heslo <input type="password" id="b" name="pass" /> </label> 
        <div class="submit">
            <input type="submit" value="Odeslat" /> 
            <input type="reset" value="Smazat" />        
        </div>        
    </form> 
</fieldset>
Venca V
Profil
m:
A v cem je to lepsi/horsi, nez zanorit input do labelu?

V tvém případě je to naprosto jasné - kdybys měl label zvlášť před inputem, stačí ti dát oběma prvkům float: left; labelu pevnou šířku a clear: left; a máš problém se zarovnáním vyřešen, jak ti psal už habendorf přede mnou...
m
Profil *
Venca V:
Udelal jsem to tak, ale porad neni ten text na stejnym radku s tim polem.
xmark
Profil
input už není v labelu, oprav si to v css:

#prihlasovaciFormular input	{

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0