当前位置: 首页 > 面试题库 >

使用JavaScript获取CSS背景图像的大小?

顾永福
2023-03-14
问题内容

是否可以使用JavaScript获取CSS引用的背景图片的实际大小(以像素为单位的宽度和高度)?


问题答案:

是的,我会这样做…

  window.onload = function() {

    var imageSrc = document
                    .getElementById('hello')
                     .style
                      .backgroundImage
                       .replace(/url\((['"])?(.*?)\1\)/gi, '$2')
                        .split(',')[0];

    // I just broke it up on newlines for readability

    var image = new Image();
    image.src = imageSrc;

    var width = image.width,
        height = image.height;

    alert('width =' + width + ', height = ' + height)

}

一些注意事项…

  • 我们需要删除url()JavaScript返回的部分以获取正确的图像源。,如果元素具有多个背景图像,我们需要分割。
  • 我们创建一个新Image对象并将其设置src为新图像。
  • 然后,我们可以读取宽度和高度。

jQuery可能不会让您头痛不已。



 类似资料:
  • 问题内容: 我正在使用ASP NetSprites包在我的网站上创建CSSSprites。 它正在工作,但是生成的图像在打印时不会出现。 在HTML级别生成的代码是: 当用户打印页面时,如何显示徽标图像? 我尝试将其添加到我的print.css样式表中,但没有成功: print.css工作正常,它正在格式化页面,如我所希望的那样,用于页面上的其他元素。我唯一的问题是在打印时无法显示网站徽标图像。

  • 下面的外部CSS页面示例中的快速简单问题; 我知道它们会影响不同的元素选择器,我的问题是使用背景和背景图像有什么区别?一方可以访问另一方的特定属性吗?谢谢你。

  • 问题内容: 我想居中背景图像。没有使用div,这是CSS样式: 上面的CSS会全部平铺并将其居中,但是看不到一半的图像,只是向上移动了一点。我想做的就是将图像居中。我可以在21英寸的屏幕上观看图像吗? 问题答案: background-image: url(path-to-file/img.jpg); background-repeat:no-repeat; background-position

  • 在使用WordPress时,是否可以像通常在HTML中一样在CSS中获得背景图像。我试过这么做,但没用。

  • 问题内容: 我有这个HTML: 使用此CSS: 我正在应用的背景图像是200x100像素,但我只想显示200x50像素的背景图像的裁剪部分。 似乎不是正确的CSS属性。我该怎么用呢? 不应使用,因为我在Sprite上下文中使用了上述CSS,在该Sprite上下文中,我要显示的图像部分小于定义CSS的元素。 问题答案: 您可以将图形放置在具有其自身尺寸上下文的伪元素中: 浏览器支持很好,但是如果需要

  • 我想在Android中创建不同分辨率的背景图像。所以我需要ldpi,mdpi,hdpi,xhdpi和xxhdpi的值(以像素为单位)。重要的是图像不会模糊。 我已经阅读了有关多屏幕支持的文档,但dp中的尺寸而不是像素。