2011-08-19 19 views
10
bu formu var

... Bu CSS ileAkışkan giriş elemanları

<form method="post" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>"> 
    <fieldset> 
     <legend>Who are you?</legend> 
     <label for="first-name">First name</label><input type="text" name="first_name" required /><br /> 
     <label for="last-name">Surname</label><input type="text" name="last_name" required /><br /> 
     <label for="email">E-mail</label><input type="email" name="email" required /><br /> 
     <input type="button" name="submit1" id="submit1" value="Next" /> 
     <input type="button" name="clear" id="clear" value="Clear" /> 
    </fieldset> 
</form> 

...

form { 
    margin: 24px 0 0 0; 
} 

form legend { 
    font-size: 1.125em; 
    font-weight: bold; 
} 

form fieldset { 
    margin: 0 0 32px 0; 
    padding: 8px; 
    border: 1px solid #ccc; 
} 

form label { 
    float: left; 
    width: 125px; 
} 

form label, form input { 
    margin: 5px 0; 
} 

sıvıyı alanları genişliği böylece giriş elemanları her zaman fieldet öğesinin genişliğine göre değişir. Başka bir deyişle, etiketin (125px) ve giriş elemanının genişliği, her zaman tarla elemanının genişliğinin% 100'ü olmalıdır. Bunu yapmak için kolay bir yol var mı (div eklemeden)?

+0

Eğer girişini ifade ediyor mu eleman kalan genişliği kullanmalıdır (yani, width genişliği ve etiket genişliği arasındaki fark) Girdi, alan kümesinin genişliğinin% 100'ü olmalı? – Spycho

+0

[Bu soru] 'na benzer (http://stackoverflow.com/questions/1030793/input-with-displayblock-is-not-a-block-why-not) – Spycho

+0

Evet, demek istediğim buydu - eğer öyleyse özür dilerim net değildi ... – rkhff

cevap

25

Bkz: Sen etrafında küçük zararsız span ekleyerek yapabilirsiniz http://jsfiddle.net/thirtydot/pk3GP/

her input:

<span><input type="text" name="first_name" required /></span> 

Ve bu yeni CSS:

form input { 
    width: 100%; 
} 
form span { 
    display: block; 
    overflow: hidden; 
    padding: 0 5px 0 0; 
}