【发布时间】:2014-05-21 09:48:06
【问题描述】:
此应用拍摄一张图片,这是必不可少的背景或工作区。我需要在给定特定坐标(顶部、左侧、宽度、高度)的情况下将输入文本字段添加到此工作区。这些坐标将相对于图像(上/左 = 0/0)。我将如何相对于图像定位我的字段/元素?
<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}"/>
上面的代码非常适合绝对定位,但它与图像无关。
【问题讨论】:
-
你可以使用 ng-class 来动态添加/删除类,如果你想直接绑定到样式值也可以使用 ng-style
-
这很好用,但我仍然有如何设置相对于其他元素的位置的问题。
-
你不能把 img 和 input 的列表都包装到一个具有相对位置的 div 中吗?那么输入的绝对位置将基于div?
-
我为整个页面添加了代码,以便您查看上下文。将其包装在相对位置 div 中没有任何作用。图像在正确的位置,它显示在图像之外的输入框。
-
图像应该填充 div,输入将相对于 div,因此相对于图像。如果您打算仅使用 CSS 解决它,我建议使用静态内容(无角度)处理它,然后插入模型中的 ng 样式值。通过 fiddle 或 plnkr 的示例也会有所帮助。
标签: css angularjs angularjs-directive