Varsayılan olarak, çevresinde <textarea>
öğesi bir kenarlıkla işlenir. Bununla ilgili sorun, bir öğeye width
özelliğini ayarladığınızda, yalnızca genişlik değil, içerik genişliğini ayarlamanızdır. Öğenin toplam genişliği (genişlik + kenar + dolgu + kenar boşluğu)'u <textarea>
'da% 100 olarak ayarladığınızda içerik genişliği'u 300 piksele ayarlar, ancak toplam genişlik 300px artı varsayılan sınırdır. Bu, 'un 300 piksel genişliğini aşmasına neden olur.
Sen dolgu/marjları kullanılarak <div>
bu sınırları alabilecek edersiniz, ancak daha iyi bir çözüm kadar her şeyin toplam genişliğini tanımlamak için width
özelliğini zorlamak için border-box
için <textarea>
üzerine box-sizing
özelliğini ayarlamak olacaktır ve öğenin sınırı dahil.
tüm tarayıcılar (örn
-moz-box-sizing
,
-ms-box-sizing
,
-webkit-box-sizing
, vs.) farklı olarak ilan çünkü O mülk üzerinde biraz araştırma yapmanız gerekir
. Bakmanız için Here is the QuirksMode page on box-sizing
.
Firefox için box-sizing
düzeltme işleri çalışıyor, ancak başka tarayıcılarda test etmedim. Bazıları, özellikle de quirks/legacy modundayken, öğeye bir kenar boşluğu da uygulanabilir. Bu durumda, yapmanız gereken tek şey, kenar boşluklarını CSS ile kaldırmak olacaktır (AFAIK, kenar boşluklarına uzanan, yalnızca içerik, dolgu ve kenarlık için olanlar için box-sizing
için geniş bir şekilde desteklenen bir seçenek yoktur).
Bu düzeltme ile spesifik olmak ve sadece sol/sağ kenar boşluklarını kaldırma öneririm
(yani margin-left: 0; margin-right: 0;
) onlar ve siz (isterseniz varsa (yani margin: 0;
) Herhangi alt/üst kenar boşluklarını korumak için oldukça tamamen marjları kaldırarak daha onları tutmak için). Firefox'un üst/alt kısma 1 piksellik bir marj uyguladığını ve diğer tarayıcıların da kullanılabileceğini biliyorum.
Mükemmel bir cevap. Teşekkür ederim. Bu benim soruyu mükemmel bir şekilde yanıtlıyor –
@ming yeow: Yardım etmekten memnun oldum. – AgentConundrum
Böyle bir açıklama yazmak için ne bir sabır, teşekkürler + 1 – kobe