Javascript 我正在编写一个jQuery插件,它将为页面上的每个图像添加一个父div。。我应该考虑哪些CSS问题?

Javascript 我正在编写一个jQuery插件,它将为页面上的每个图像添加一个父div。。我应该考虑哪些CSS问题?,javascript,jquery,css,Javascript,Jquery,Css,我正在编写我的第一个jQuery插件,部分功能涉及围绕页面上的每个图像动态生成一个“frame div”。框架必须围绕图像“紧贴”,因为它是动态添加的绝对定位覆盖图像的相对父对象 我希望这显然是不引人注目的。我能做些什么来最小化它对用户自己的CSS的副作用?我想有些问题是不可避免的,对吧?我在考虑例如,如果用户CSS有针对性的图像与 div.gallery > img …子选择器,为其提供边框/边距等,例如 在未知页面上,是否不可能以“安全”的方式动态生成元素的父div?是否总是有破坏

我正在编写我的第一个jQuery插件,部分功能涉及围绕页面上的每个图像动态生成一个“frame div”。框架必须围绕图像“紧贴”,因为它是动态添加的绝对定位覆盖图像的相对父对象

我希望这显然是不引人注目的。我能做些什么来最小化它对用户自己的CSS的副作用?我想有些问题是不可避免的,对吧?我在考虑例如,如果用户CSS有针对性的图像与

div.gallery > img 
…子选择器,为其提供边框/边距等,例如

在未知页面上,是否不可能以“安全”的方式动态生成元素的父div?是否总是有破坏用户CSS的风险

我想我总是可以在文档中给出一个警告,但如果可能的话,我很想让它成为傻瓜式的


我突然想到,我可以使用JQ来读取包含的IMG上的任何CSS。。然后将任何属性“向上”传输到新的父div。这疯了吗?

您可以使用选择器.css或.height或.width来获取图像的任何维度属性,然后根据这些属性生成div。 比如说,

thisWidth = $('theImage').width();
thisHeight = $('theImage').height();

$('yourFrame').css({'height':thisHeight,'width':thisWidth});

希望这对你有所帮助。

理论上,你可以复制所有样式。甚至显示了一个插件,可以跨浏览器获取所有计算样式。但那是一种过分的杀伤力,不是吗?如果您真的想这样做,请将其添加为一个选项(默认为
false
)。然后让用户通过设置您提供的类的样式来修复它,就像Blender在评论中建议的那样

你可以给你修改过的元素一个类,然后让用户修复它。这就是我目前的方向。。用户将一类“foo”添加到他们想要影响的图像中,然后我生成一个“fooFrame”。但我突然想到,我还没有想到所有的CSS的后果。所以我想知道是否有任何秘密的回应。对所有可能的风格这样做会有点无聊。这是一个起点。如果对每个图像使用for-each循环,那么它非常方便。但也许我没有抓住你问题的关键……我明白你的意思,这是一种让框架“舒适”的方法但是如果用户的图片上留有30像素的空白,那就没什么用了。所以我想我只需要在文档中添加一个额外的div,然后让用户处理它。我会把这个标记为解决方案。似乎任何其他策略都远比它的价值更麻烦。