2014-07-03 28 views
7
sahip

CSS:Textarea ve giriş farklı genişlikler

textarea, input { 
    width:300px; 
} 

HTML:

<textarea id="input"></textarea> 
<br> 
<input type="submit"> 

Canlı Demo: http://codepen.io/qaz/pen/teaiG

Neden farklı genişliklerine sahip giriş ve textarea görülmektedir? Aynı genişlikte yapmak için hangi özellikleri eklemem gerekiyor?

GÜNCELLEME: Kenarlığı ve dolguyu 0px olarak ayarlayarak, bunların aynı genişlikte görüntülenmesini sağlayabilirim. Kimse yastıklama yapmak istemiyor: 0px, ve tuhaf bir şekilde, her ikisi için de 10px olduğunda, artık aynı genişlikte değiller. Şimdi bir dolgu ile bir çözüm buldum: 0px, hala bir açıklama ve hala benim hala bir dolguya sahip olmamı sağlayan bir çözüm ile ilgileniyorum.

(Ben Windows 7 üzerinde Chrome 35 kullanıyorum)

+0

Cevapla, oylama numaralarının altındaki ** Yeşil Onay kutusunu ** seçerek sorulan soruya cevap verdiğini düşündüğünüz bir yanıtı seçmeyi unutmayın. –

cevap

9

böyle ayarlamayı deneyin:

textarea, input { 
    -webkit-box-sizing: border-box; 
    -moz-box-sizing: border-box; 
    box-sizing: border-box; 
} 

http://jsfiddle.net/QV9PE/

Kutu boyutlandırma CSS3 özelliği bunu yapabilir. Sınır-kutu değeri (içerik kutusu varsayılanının tersine), nihai işlenen kutunun beyan edilen genişliği ve kutunun içinde kesilen herhangi bir kenarlık ve dolgu olmasını sağlar.

Şimdi, piksel tabanlı dolgu ve kenarlık dahil olmak üzere 300 piksel genişliğinde olmak üzere textarea'mızı güvenle ilan edebilir ve düzeni mükemmel bir şekilde tamamlayabiliriz.

+2

Bu konuda benden daha hızlısın. Lanet ipad! Her neyse hızlı bir açıklama: bu özellik, elemanın genişliğinde sınırları ve dolguları içeren eski bir kutu modelini geri getirirken, mevcut varsayılan kutu modeli, son genişliği elde etmek için elemanın genişliğini, kenar genişliğini ve dolguyu özetliyor. elemanın Textareas aslında varsayılan dolgularından dolayı daha büyüktür. Düzenleme: Daha hızlı açıkladığınız açıklamada bile kahretsin :-) –

+0

10 parmağınızla klavye her zaman 2 başparmakdan daha hızlıdır ;-) –

-3

aşağıdaki CSS ve HTML deneyin. Ben teorik cevabı bilmiyorum ama burada pratik bir çözümdür: http://codepen.io/anon/pen/BGeci

CSS:

textarea, input { 
    width:300px; 
} 

input[type=submit] { 
    width:306px; 
} 

HTML:

<textarea id="input"></textarea><br> 
<input type="text" id="input2"></textarea><br> 
<input type="submit"> 
+2

Bu, hacky/rigid bir çözümdür. Bu tür şeyler genellikle CSS'de önlenmelidir. –

İlgili konular