【问题标题】:Not getting Text on my Image in AngularJS?没有在 AngularJS 中的图像上显示文本?
【发布时间】:2017-02-07 03:10:29
【问题描述】:
 .relative{
    position:relative; 
    width:600px;
}
.absolute-text{
    position:absolute; 
    bottom:0; 
    font-size:24px; 
    font-family:"vedana"; 
    background:rgba(251,251,251,0.5);
    padding:10px 20px; 
    width:100%; 
    text-align:center;
}
.absolute-text a{
    font-size:16px; 
    color:#b92b27;
}

我想在来自后端的图像上写电影名和电影明星名,但我不能这样做。

 <div class="relative">
      <img src="{{{movie.Poster}}" alt="">
      <p class="absolute-text">{{movie.Title}} </p>
</div>

【问题讨论】:

    标签: html angularjs css angular-ui-bootstrap


    【解决方案1】:

    我注意到了几个错别字。首先,relative 类需要一个句点。

    .relative{
        position:relative; 
        width:600px;
    }
    

    其次,您的图像源中的花括号太多:

    <div class="relative">
          <img src="{{movie.Poster}}" alt="">
          <p class="absolute-text">{{movie.Title}} </p>
    </div>
    

    假设这些不是罪魁祸首,您是否检查了absolute-text 元素以查看它是否出现在 DOM 中?如果它出现在 DOM 中但你在页面上看不到它,你可以尝试给它一个大于 0 的 z-index 属性,例如:

    .absolute-text{
        position:absolute; 
        bottom:0; 
        font-size:24px; 
        font-family:"vedana"; 
        background:rgba(251,251,251,0.5);
        padding:10px 20px; 
        width:100%; 
        text-align:center;
        z-index: 10;
    }
    

    最后,您的movie.Title 范围是否正确?我的意思是你的控制器中是否有类似于$scope.movie.Title = 的东西?

    【讨论】:

    • 是的,它出现在页面中。
    • 进展。所以,要清楚一点,您看到的是页面上出现的元素,而不是电影的文本,对吗?尝试为您的 .absolute-text 元素提供显示属性,例如 display: inline-block;
    • 是的,这就是问题所在。
    • 您会检查font-family 属性的拼写是否为.absolute-text?它应该是 verdana 并且不需要引号。此外,还要添加一个 height 属性,例如 30px,用于测试目的。
    • 您是否看到正确的电影标题出现在 DOM 中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-06
    • 2017-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-17
    相关资源
    最近更新 更多