【问题标题】:Icon not showing properly on Image图标在图像上未正确显示
【发布时间】:2020-07-12 05:39:13
【问题描述】:

我正在使用新的 Instagram 插件(无需 API 即可使用)来显示与 Instagram 帐户相关的内容,除了插件不显示与内容相关的图标(例如 cardsvideos 等)外,所有插件都可以正常工作

代码不会添加与内容相关的图标,但我没有注意到插件生成的 html 代码将 CSS 类添加到锚元素为 instagram-videoinstagram-imageinstagram-sidecar

基于此,我虽然使用 CSS 功能来检测元素的 css,例如 .instagram_gallery > a[class*="instagram-video"] ,如果锚元素具有视频类等,则添加相关 css 以显示视频图标。

我的代码没有正确显示图标,正如在codepen example 中看到的那样

代码示例

(function($){
            $(window).on('load', function(){
                $.instagramFeed({
                    'username': 'instagram',
                    'container': "#instafeed",
                    'display_profile': false,
                    'display_biography': false,
                    'display_gallery': true,
                    'callback': null,
                    'styling': true,
                    'items': 16,
                    'items_per_row': 4,
                    'margin': 1
                }); 
            });
        })(jQuery);
@media (max-width:768px)
    {
    .instagram_gallery > a {
    width: 50% !important;
    display: inline-block;
}
.instagram_gallery > a > img {
    width: 100% !important;
    padding: 15px;
}
    }

    @media (max-width:500px)
    {
    .instagram_gallery > a {
    width: 100% !important;
    display: inline-block;
}
.instagram_gallery > a > img {
    width: 100% !important;
    padding: 15px;
}
    }
.instagram_gallery > a
    {
   
    }
.instagram_gallery > a[class*="instagram-video"] {
  border: 1px solid #f00;
  background-image:url('https://image.flaticon.com/icons/svg/860/860832.svg')
}
<script src="https://www.sowecms.com/demos/jquery.instagramFeed/jquery.instagramFeed.min.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<section class="container-fluid section-80">
    <div class="row photos-wrap">
         <div id="instafeed"></div>
     </div>
</section>

【问题讨论】:

    标签: javascript html css instagram


    【解决方案1】:

    看看这个 CodePen https://codepen.io/DavidSanek/pen/GRoGVrV。我使用伪元素:after 来显示你的图标。

    $(window).on("load", function() {
        $.instagramFeed({
          username: "instagram",
          container: "#instafeed",
          display_profile: false,
          display_biography: false,
          display_gallery: true,
          callback: null,
          styling: true,
          items: 16,
          items_per_row: 4,
          margin: 1
        });
      });
    .instagram_gallery {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
    }
    
    .instagram_gallery a {
      position: relative;
      width: 25%;
      padding: 10px;
    }
    
    .instagram_gallery img {
      width: 100%!important;
      margin: 0!important;
    }
    
    .instagram_gallery .instagram-video:after {
      content: '';
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(255, 255, 255, 0.5);
      background-image: url('https://image.flaticon.com/icons/svg/860/860832.svg');
      background-repeat: no-repeat;
      background-position: center;
      background-size: 30%;
    }
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <script src="https://www.sowecms.com/demos/jquery.instagramFeed/jquery.instagramFeed.min.js"></script>
    
    <div id="instafeed"></div>

    【讨论】:

    • 我看不到视频图标,因为第二个项目是视频,它显示显示视频图标。我在你的 codepen 示例中看不到它
    • 虽然看的很清楚,但还是做了一些改动。你能再试一次吗?
    • 现在我可以看到它了,不知道为什么它之前没有显示.. 为了清楚起见,您能否在解决方案中添加代码 sn-p。也改变显示作为 flex 已经破坏了移动性,因为它应该在小屏幕上只显示两列。我将解决只是想分享的问题,以便解决方案完成..
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多