2011-08-19 9 views
10

mam ten formularz ...płyn elementów wejściowych

<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> 

Dzięki tej CSS ...

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; 
} 

szukam łatwy sposób dokonać pól wejściowych płynu tak, że szerokość elementy wejściowe są zawsze w stosunku do szerokości elementu fieldset. Innymi słowy, szerokość etykiety (125px) i element wejściowy powinny zawsze wynosić 100% szerokości elementu fieldset. Czy istnieje prosty sposób to zrobić (bez dodawania elementów div)?

+0

Czy oznacza wejście element powinien raczej używać pozostałej szerokości (tj. różnicy między szerokością zestawu pól a szerokością etykiety) niż to, że wejście powinno wynosić 100% szerokości zestawu pól? – Spycho

+0

Podobny do [to pytanie] (http://stackoverflow.com/questions/1030793/input-with-displayblock-is-not-a-block-why-not) – Spycho

+0

Tak, właśnie o to mi chodziło - przepraszam, jeśli to nie było jasne ... – rkhff

Odpowiedz

25

Patrz:http://jsfiddle.net/thirtydot/pk3GP/

Można to zrobić poprzez dodanie nieszkodliwe mało span wokół siebie input:

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

A ten nowy CSS:

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