2014-04-08 2 views
7

이 앱은 필수적인 배경 또는 작업 영역 인 이미지를 사용합니다. 특정 좌표 (위쪽, 왼쪽, 너비, 높이)가 주어진이 작업 영역에 입력 텍스트 필드를 추가해야합니다. 이 좌표는 이미지에 상대적입니다 (상단/왼쪽 = 0/0). 필드/요소를 이미지에 상대적으로 배치하려면 어떻게해야합니까?AngularJS 요소 고정 위치 다른 요소를 기반으로

 <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}"/> 

위 코드는 절대 위치 지정에 유용하지만 이미지와 관련이 없습니다.

+0

도 직접 스타일을 결합하려면 스타일을 겨하는이 위대한 작품을 – Brocco

+0

이 값이야, 난 여전히 내 위치를 설정하는 방법의 문제가 하지만 다른 요소. –

+0

img와 입력의 목록을 상대적인 위치의 div로 그냥 감쌀 수 없습니까? 그러면 입력의 절대 위치는 div에 기반 할 것입니까? – Brocco

답변

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> 
당신은 동적으로 추가/클래스를 제거하는 NG-클래스를 사용할 수 있습니다
+1

약간의 헤즈 업 : 'ngStyle'지시어에 연속 값을 포함하지 않는 것이 좋습니다 (예 :'position : 'absolute''). 이로 인해 다이제스트 루프 당 추가 평가가 발생합니다 (그리고 그 중 몇 가지가 항상 진행됩니다). 항상 동일한 값으로 평가 될 것이기 때문에'style' 속성에 하드 코딩하십시오. – gkalpak

+0

답변에 한 지점. 속성 스타일은 다음과 같이 일반적인 HTML 스타일이어야합니다. style = "position : absolute" – Ventura

관련 문제