2014-04-08 21 views
7

Ứng dụng này có một hình ảnh, điều cần thiết là nền hoặc không gian làm việc. Tôi cần thêm các trường nhập văn bản vào vùng làm việc này cho các tọa độ cụ thể (trên cùng, bên trái, chiều rộng, chiều cao). Các tọa độ này sẽ liên quan đến hình ảnh (trên cùng/bên trái = 0/0). Làm cách nào để tôi định vị các trường/phần tử của mình liên quan đến hình ảnh?AngularJS đặt vị trí cố định của phần tử dựa trên một phần tử khác

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

Mã trên hoạt động tuyệt vời để định vị tuyệt đối nhưng không liên quan đến hình ảnh.

+0

Bạn có thể sử dụng ng-class để tự động thêm/gỡ bỏ các lớp học và cũng có của ng-phong cách nếu bạn muốn để ràng buộc trực tiếp đến phong cách đánh giá cao – Brocco

+0

này hoạt động tuyệt vời, tôi vẫn còn có vấn đề làm thế nào để thiết lập vị trí của tôi tương đối với yếu tố khác. –

+0

Bạn không thể bọc cả danh sách img và đầu vào vào một div có vị trí tương đối? Sau đó, vị trí tuyệt đối của các yếu tố đầu vào sẽ được dựa trên div? – Brocco

Trả lời

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> 
+1

Chỉ cần một chút thông báo: Tốt nhất là không bao gồm giá trị contant trong chỉ thị 'ngStyle' (ví dụ:' position: 'absolute''). Điều này gây ra một đánh giá thêm cho mỗi vòng lặp digest (và có một số trong những người đi vào tất cả các thời gian). Vì nó sẽ luôn luôn đánh giá cùng một giá trị, chỉ cần mã hóa nó trong thuộc tính 'style'. – gkalpak

+0

Chỉ là một điểm trong câu trả lời của bạn. Kiểu thuộc tính cần phải là kiểu html phổ biến như: style = "position: absolute" – Ventura

Các vấn đề liên quan