2013-07-09 7 views
5

İçinde, bir ölçek dönüştürme uygulandığında karmaşık içeriğin oluşturulduğu bir var. Benim sorunum, 'un hiçbir dönüşüm uygulanmamış olsa bile alacağı alanın aynısını almasıdır. Ne demek istediğimi göstermek için bir jsFiddle snippet yaptım.Bir kapsayıcıyı ölçeklenmiş (veya başka bir şekilde dönüştürülmüş) içeriğine göre ölçeklendirebilir miyim?

I think I can understand why the behavior is like this ancak uygulandığı (mümkünse ve diğer dönüşümler) konteyner olarak ölçekleme ile içeriği kadar yer kaplıyor böylece yapmak için herhangi bir yolu var mı?

Bunu açıkça dışında ölçekli metnin içeriğini etkiler <div> ait width ve height ayarı (ve bu benim durumumda davranışı istenen değildir) dikkat edilmelidir. Ölçeklendirilmiş içeriğin bir içine koyulması, kaçınmak istediğim bir şeydir.

+1

Sana üzerinde test yapıyorlar tarayıcı emin değilim, ama benim için, ben Dönüşüm etkisini gerçekten görmek için [bu] 'a (http://jsfiddle.net/7HhpM/15/) değinmek zorundasınız. Düzenleme: Chrome/Firefox'un "display: inline" üzerindeki dönüşümü kabul etmediği anlaşılıyor. Opera 12 iyi çalışıyor. – Passerby

+0

@Passerby Evet, Opera ile çalışıyorum ve snippet'imi diğer tarayıcılarda test etmeyi unuttum. Onları sadece görsel olarak daha iyi tanıyabilmem için inline ettim, ama bu kısım soru için kritik değil. Ancak bunu işaretlediğiniz için teşekkür ederseniz, snippet'inizi buna ekleyeceğim. –

+1

dönüşüm kaynağı: sol üst; Veya koordinatlar cevabınızın başlangıcı olabilir. –

cevap

1

Javascript'e başvurmadan, bunu yapmanın bir yolu yoktur, sanmıyorum. CSS dönüşümleri, dönüştürülmüş öğelerin yakınındaki elemanlar için düzen akışını etkilemez, yalnızca bu öğedeki koordinat sistemini değiştirir; Bu nedenle çocuklar etkilenir, ancak ebeveynler veya kardeşler değil (MDN bu konuda daha fazla ayrıntıya sahiptir).

Orada sizin için JS tabanlı kısmi çözüm olabilir burada büyük cevabı: (Chrome 27/Firefox 22) https://stackoverflow.com/a/10913299/2524360

+0

Kesinlikle hiçbir şeyden daha iyi değil! –

0

Sorunun yanıtı olup olmadığını bilmiyorum, ancak 0 değerini bir değer olarak kabul etmiyor gibi görünüyor. Tarayıcılar 1'den 100'e kadar, örn. 4 veya% 400.

transform:scale(1,4); 
+0

http://www.w3schools.com/css3/css3_2dtransforms.asp – DorianHuxley

İlgili konular