jquery - 使用css自动调整背景图像

标签 jquery html css

我有以下用于上传背景图片的代码。

<input type='file' onchange="readURL(this);" />

我使用的脚本是:

function readURL(input) {
            if (input.files && input.files[0]) {
                var reader = new FileReader();

                reader.onload = function (e) {

                    $('#myframe')

                    .css({
                    background:'url('+e.target.result +') left top no-repeat',
                    background-size:'400px 400px'

                    });

                };

               reader.readAsDataURL(input.files[0]);//To display images uncomment this
            }
        }

有一个问题。如果我删除 background-size,上面的代码可以工作。我想减小我正在上传的图像的大小和分辨率。这里$('#myframe') 是我要上传的区域的div id。另外,让我知道如何将 multiple 属性传递给 .css() 函数。我尝试了以下代码,但没有效果:

.css(background:transparent url('+e.target.result +') left top no-repeat,background-size:200px 300px);

最佳答案

您的问题是 background 是一个 super 属性,它会重置 background-size,将 background-size 放在 background< 之后.

所以在你的情况下你想要:

$('#myframe')
    .css('background', 'transparent url('+e.target.result +') left top no-repeat')
    .css('background-size', '200px 300px');

查看此帖子 background overwrites background-size

css 来传递多个属性,您只需传入一个对象即可。请参阅文档 http://api.jquery.com/css/

关于jquery - 使用css自动调整背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24219280/

相关文章:

html - 删除图像周围的白边

javascript - 有什么方法可以将自定义元素的模板标记和样式保留在 JavaScript 字符串之外?

html - 使用 XPATH 定位嵌套的 HTML 数据属性

css - @-moz-document url-prefix() 有什么作用?

javascript - 根据过滤器输入更改排序顺序

javascript - 为什么点击事件在这里立即注册?

java - 如何通过另一个表值的文本单击复选框

javascript - 显示图像加载进度条

javascript - 迷你图具有误导性

jquery - 如何将不同的菜单样式应用到首页?