我目前有一个ng-repeat,如下所示:
<div class="repeaterDiv" data-ng-repeat="item in itemArray">
<div class="wrapper">
<img class="imageClass" ng-src="{{item.image}}"/>
<div class="corner-ribbon bottom-right sticky green shadow">Changed</div>
</div>
</div>
以下是从此codePen中提取的CSS:
.corner-ribbon{
width: 200px;
background: #e43;
position: absolute;
top: 25px;
left: -50px;
text-align: center;
line-height: 50px;
letter-spacing: 1px;
color: #f0f0f0;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.corner-ribbon.sticky{
position: fixed;
}
.corner-ribbon.shadow{
box-shadow: 0 0 3px rgba(0,0,0,.3);
}
.corner-ribbon.bottom-right{
top: auto;
right: -50px;
bottom: 25px;
left: auto;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.corner-ribbon.green{background: #2c7;}
我试图找出如何将功能区限制为包装类。有谁知道我怎么做到这一点?所以我仍然使用相同的功能区,但它不是位于屏幕的右下角,而是位于图像的右下角?
答案 0 :(得分:2)
您需要使用relative
/ absolute
position
并重置display
的{{1}}缩小图片。然后添加.wrapper
以剪切色带边缘:
overflow:hidden
&#13;
.corner-ribbon {
width: 200px;
background: #e43;
position: absolute;
top: 25px;
left: -50px;
text-align: center;
line-height: 50px;
letter-spacing: 1px;
color: #f0f0f0;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.corner-ribbon.sticky {
position: absolute;
}
.corner-ribbon.shadow {
box-shadow: 0 0 3px rgba(0, 0, 0, .3);
}
.corner-ribbon.bottom-right {
top: auto;
right: -50px;
bottom: 30px;
left: auto;
transform: rotate(-45deg);
-webkit-transform: rotate(-45deg);
}
.corner-ribbon.green {
background: #2c7;
}
.wrapper {
position: relative;
display: table-cell;/* or inline-block or float */
overflow: hidden;
}
img {
display: block;
}
&#13;
答案 1 :(得分:0)
班级有固定的定位。
.corner-ribbon.sticky{
position: fixed;
}
因此,对于精确的CSS,您可能无法将功能区附加到每个img,而功能区仅会转到窗口中的特定位置。但是,您可以稍微调整一下css。使包装类相对,和.corner-ribbon.sticky绝对位置。然后调整你的css fot top / bottom / left / right属性来对齐它们。
.wrapper{
position: relative;
}
.wrapper .corner-ribbon.sticky{
position: absolute;
/* put top/bottom/left/right values here*/
}