2014-04-08 16 views
7

Bu uygulama, temel bir arka plan, veya çalışma alanı olan bir görüntü alır, temel. Belirli çalışma alanlarına (üst, sol, genişlik, yükseklik) verilen bu çalışma alanına giriş metin alanları eklemem gerekiyor. Bu koordinatlar resme göreli olarak (üst/sol = 0/0) olacaktır. Alanlarımı/öğeleri resme göre nasıl yerleştiririm?angularjs başka bir öğe

 <img id="background" ng-src="{{page.backgroundImage}}" /> 
     <input type="text" ng-repeat="field in page.fields" ng-model="field.value" 
       ng-style="{position:'absolute', 
           left:field.left, 
           top:field.top, 
          width:field.width, 
          height:field.height}"/> 

Yukarıdaki kod, mutlak konumlandırma için harika çalışıyor ancak göreli değil.

+0

ve ayrıca doğrudan stil bağlamak istiyorsanız tarzı ng Bu harika çalışıyor – Brocco

+0

orada değerleri var, hala konumunu ayarlamak için nasıl sorun var diğer öğeye rağmen. –

+0

Hem img hem de girişin listesini yalnızca, konumu göreli bir div'a sarmıyor musunuz? Daha sonra, girdilerin mutlak konumu div'a dayanacaktır. – Brocco

cevap

4
<div style="position:relative"> 
    <img id="background" ng-src="{{page.backgroundImage}}" class="course-image" /> 
    <input type="text" ng-repeat="field in page.fields" ng-model="field.value" 
      style="position:absolute" 
      ng-style="{left:field.left, 
         top:field.top, 
        width:field.width, 
        height:field.height}" />  
</div> 
dinamik eklemek/sınıfları kaldırmak için ng-sınıfını kullanabilirsiniz
+1

Sadece küçük teke tek yardımcı olabilir: O ngStyle' yönergesi 'in contant değerlerini dahil etmek daha iyi değil (örneğin' pozisyon: 'absolute''). Bu, sindirim döngüsü başına ek bir değerlendirmeye neden olur (ve her zaman devam edenlerin birkaçı vardır). Her zaman aynı değere göre değerlendirileceğinden, sadece 'style' özniteliğinde kodlayın. – gkalpak

+0

Cevabınızdaki bir nokta. Özellik stilinin ortak bir html stili olması gerekir: style = "position: absolute" – Ventura

İlgili konular