Metin alanı altındaki ekstra alan, tarayıcılara göre farklılık gösterir


85

Metin alanı etiketinin altında fazladan boşluk var. Farklı tarayıcılarda 1 ila 4 piksel. Biçimlendirme çok basit:

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

Tarayıcılarda şu şekilde işlenir:

Ekran görüntüsü

Bu neden oluyor? Bu fazladan boşluk nasıl kaldırılır?

Yanıtlar:


210

Ekle vertical-align: topiçin textarea.

Boşluğun nedeni textarea, bir inline(veya inline-block) eleman olmasıdır ve boşluk, metindeki alt satırlar için ayrılan boşluktur . Farklı tarayıcılar arasındaki farkın neden farklı olduğunu tam olarak bilmiyorum.


17

Benim durumumda, otuz noktanın cevabı ebeveynin <div>alt sınırıyla pek iyi sonuç vermedi .

display: block bana çok yakıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.