【问题标题】:How to set custom CSS for data-src如何为 data-src 设置自定义 CSS
【发布时间】:2019-12-05 07:48:34
【问题描述】:

我知道我们可以通过 id 或其类为图像设置 css。我在网站上的图片编码如下

    <img class="img-responsive" id="loader" src="{{asset('img/loader.gif')}}" data-src="{{asset('uploads/banner01.jpg')}}" >

图片的属性

  • 加载器.gif

        Width:200px
        Height:200px
    
  • banner01.jpg

       Width:500px
       Height:400px
    

通过加载器 id 添加的自定义 CSS

#loader{
    width: 200px;
    height: 200px;
      }

我的问题是,当我添加这个自定义 CSS 时,它适用于宽度 200px 和高度 200px,但它也适用于 banner01.jpg。

意味着即使横幅宽度为 500 像素,高度为 400 像素,在加载图像后它显示为 200 像素 X 200 像素的图像。

我想知道的

有没有办法给data-src添加自定义css?


【问题讨论】:

    标签: html css image frontend


    【解决方案1】:

    有一种更好的解决方案可以在页面渲染后加载图像、视频和内容,称为延迟加载。 有一个非常简单的 JQuery 插件,只需几行代码即可实现。

    http://jquery.eisbehr.de/lazy/

    只有三个步骤。

    1. 添加CDN或下载并链接插件。

      2.img标签的class属性添加“lazy”

      例如: &lt;img class="lazy" data-src="images/1.jpg" /&gt;

    3.添加这个JQuery函数。

    <script>
      $(function() {
        $('.lazy').lazy();
      });
           </script>
    

    要添加用于加载的 gif,只需将您的函数更改为此。

    // plugin build-in placeholder management
        $(function() {
            $('.lazy').lazy({
                placeholder: "data:image/gif;base64,R0lGODlhEALAPQAPzl5uLr9Nrl8e7..."
            });
        });
    

    要查看演示,请查看此链接。 http://jquery.eisbehr.de/lazy/example_basic-usage

    【讨论】:

      【解决方案2】:

      您将尝试以下自定义 css

      img:not([data-src$="loader.gif"]) {
         Width:500px
         Height:400px
      }
      

      【讨论】:

      • 感谢您的重播。但我的网站包含 100 多张图像,它们是从数据库生成的。所以很难说哪个图像可以加载。有时它可能会banner01.jpg,有时它可能会banner100.jpg。你有什么想法吗]
      • 你可以试试 :not 如下 img:not([class="top-text"]) {//你的 css}
      • 你可以简单地使用img[data-drc*="banner"]{ }这将匹配所有包含data-src名称的横幅
      【解决方案3】:

      我认为您应该将这两个图像加载到两个图像标签中。并将其放在同一个div中。 并将这个 css id 放到 div 中。

      <div id="loader">
      
         <img class="img-responsive" src="{{asset('img/loader.gif')}}">
         <img class="img-responsive" data-src="{{asset('uploads/banner01.jpg')}}" style="width:500px;height:400px">
      
      </div>
      

      【讨论】:

      • 它不工作。当我更新我的代码时,正如你提到的 loading.gif 加载但图像永远不会在 div 中可见。它总是只显示 loader.gif
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多