2011-08-22 10 views
54

Jest trochę miejsca pod tagiem textarea. Od 1 do 4 pikseli w różnych przeglądarkach. Znacznik jest bardzo prosta:Dodatkowa przestrzeń pod polem tekstowym, różni się w zależności od przeglądarek.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 

<html> 
    <head> 
     <style> 
      body { 
       margin: 0; 
       padding: 0; 
      } 
      .main { 
       background-color: red; 
      } 
      textarea { 
       background-color: gray; 
       resize: none; 
       margin: 0; 
       border: 0 none; 
       padding: 10px; 
       height: 50px; 
       overflow: hidden; 
      } 
     </style> 
    </head> 
    <body> 
     <div class="main"> 
      <textarea></textarea> 
     </div> 
    </body> 
</html> 

Oto jak to jest renderowane w przeglądarkach:

Screenshot

Dlaczego tak się dzieje? Jak usunąć tę dodatkową przestrzeń?

Odpowiedz

133

Dodaj vertical-align: top do textarea.

Powodem jest to, że szczeliny textarea jest inline (lub inline-block) elementu oraz szczeliny stanowi obszar zarezerwowany do descenders w tekście. Nie wiem dokładnie, dlaczego różnica jest różna między różnymi przeglądarkami.

+1

Pokonaj mnie, +1! – Kyle

+9

Działa to w 100%. Jesteś geniuszem. – Roman

+3

Ogółem geniusz !!! –

7

W moim przypadku odpowiedź thirtydot nie działa dobrze z dolną granicą rodzica .

display: block dobrze mi pasował.

Powiązane problemy