2011-06-18 9 views
6

Próbuję napisać formularz kontaktowy, ale moje szerokości etykiet nie są wymuszane w przeglądarce Firefox lub Chrome - IE wydaje się działać w porządku (choć raz). Tu jest mój HTMLDlaczego IE szanuje szerokość CSS etykiety, ale nie Firefox czy Chrome?

<form name="" id="" action="" method="post"> 

      <div id="my_form"> 

       <div> 
        <label for="username">Username:</label> 
        <input type="text" name="username" id="username" /> 
       </div> 
      <div> 
<form> 

i tu jest mój CSS

#my_form div label{width:200px;display:inline-block;} 

jakieś pomysły w jaki sposób można wymusić szerokość etykiety, wydają się zwinąć

+3

Works w FF 4.0.1: http://jsfiddle.net/fy3NC/ –

+0

wygląda OK, a także działa w Chrome z wklejonym kodem Nikity. – 2ndkauboy

+0

@Nikita - uzgodniono. Wygląda mi dobrze, Firefox 3.6. – Spudley

Odpowiedz

13

Wypróbuj :

#my_form div label{width:200px; display:block; float:left;} 

Zobacz to działa (http://jsfiddle.net/jrpab/), działa dobrze w Chrome.

2

try:

#my_form label{width:200px;display:block; clear:left; float:left; } 
#my_form input{display:block; float:left; width:auto;} 
+0

właśnie pierwsza linia, szczególnie, 'clear: left' pomógł mi w moim znaczniku (etykiety i dane wejściowe są wewnątrz zestawu pól - brak elementów div) – ruruskyi

1

Po pewnym drapania głowy i badań, znalazłem to dlatego etykiety są elementy wbudowane, które według dokumentacji CSS powinien zignorować szerokość stylizacji. Więc, jak zwykle, IE robi to źle i Chrome i Firefox robią to dobrze.

...

Ustaw właściwość wyświetlania na coś innego niż wbudowane. Znalazłem wyświetlacz : blok inline jest najlepszy do osiągnięcia tego, co masz zamiar.

http://doctype.com/firefox-chrome-ignore-widths-my-labels

Powiązane problemy