代码之家  ›  专栏  ›  技术社区  ›  Sydney

角度数据处理

  •  0
  • Sydney  · 技术社区  · 8 年前

    flag-icon-css 对于某些标志,由于 background-image 不同解释的属性。我没有成功地创建一个Stackblitz,所以这里是复制的最小步骤:

    ng new bug-so
    cd bug-so
    npm install flag-icon-css
    

    在角度.json,我添加了CSS:

            "styles": [
              "src/styles.css",
              "node_modules/flag-icon-css/css/flag-icon.min.css"
            ],
    

    在应用程序组件.html

    <div style="padding: 5em">
      <span class="flag-icon flag-icon-es" style="border: 1px solid black"></span><br/>
      <span class="flag-icon flag-icon-fr" style="border: 1px solid black"></span><br/>
    </div>
    

    运行应用程序

    ng serve
    

    .flag-icon-es {
        background-image: url(es.svg);
    }
    

    .flag-icon-fr {
        background-image: url(data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%2…830%22 d%3D%22M426.662 0H640v480H426.662z%22%2F%3E %3C%2Fg%3E%3C%2Fsvg%3E);
    }
    

    如果背景图像是数据URL,则显示正确。我尝试不使用angular,样式是来自原始CSS文件的样式,两个标志都正确显示:

    .flag-icon-fr {
        background-image: url(../flags/4x3/fr.svg);
    }
    
    .flag-icon-es {
        background-image: url(../flags/4x3/es.svg);
    }
    

    With Angular

    无棱角 Without Angular

    1 回复  |  直到 8 年前
        1
  •  1
  •   Robert    8 年前

    我不知道为什么但是从文件夹里 node_modules\flag-icon-css\flags\1x1 不是正确的 node_modules\flag-icon-css\flags\4x3

    这是因为第二个小于10kb,所以它将被嵌入而不是单独提供服务(并且出于某种原因,它将嵌入正确的图像)

    https://github.com/angular/angular-cli/wiki/build#css-resources

    我认为你应该在回购协议中提出一个问题