Javascript 根据浏览器调整图像大小,无需裁剪或降低纵横比
我正在制作一个响应模板。 我有带有图像的页面,我希望它们看起来像这样: 我想不出一个css的方法来实现它,所以我尝试jquery,虽然我不是最好的jquery程序员 这就是我的结局: html 当我放大浏览器时,这似乎起作用,但当我使它更小巧时,图像会闪烁,其丑陋Javascript 根据浏览器调整图像大小,无需裁剪或降低纵横比,javascript,jquery,css,image-resizing,Javascript,Jquery,Css,Image Resizing,我正在制作一个响应模板。 我有带有图像的页面,我希望它们看起来像这样: 我想不出一个css的方法来实现它,所以我尝试jquery,虽然我不是最好的jquery程序员 这就是我的结局: html 当我放大浏览器时,这似乎起作用,但当我使它更小巧时,图像会闪烁,其丑陋 如果某位专业jquery程序员能向我解释这个问题,我会非常高兴。如果您下载Google Chrome,再次浏览该页面,并在“开发人员工具”中的“资源”选项卡下查看作者的style.css文件。在第800行或更低的位置,您将看到作者正在
如果某位专业jquery程序员能向我解释这个问题,我会非常高兴。如果您下载Google Chrome,再次浏览该页面,并在“开发人员工具”中的“资源”选项卡下查看作者的style.css文件。在第800行或更低的位置,您将看到作者正在使用媒体查询来获得您想要的响应性感觉。作者还利用百分比来设计元素和各种项目的宽度、高度、边距和填充。现在还不需要jQuery。只需进入媒体查询的世界,就可以感受到真正的响应性设计。然后,当你感到舒服时,继续通过jQuery应用一些创造性的动画来增加趣味性。如果你在源代码中看得更深入,你会发现作者(Clement Caillard)正在使用一些不错的javascript/jQuery函数来保持它的完整功能,就像你说的。好吧,我会仔细看一看,但是闪烁效应可以通过修改我的代码来解决吗?在各种jQuery框架中,闪烁往往是一个常见的问题。我真的不知道解决这个问题的答案。
<html>
<body>
<div class="text" >
<p>some text</p>
<div>
<div class="image" >
<img class="adapt" src="my-image.jpeg" alt="my image">
</div>
</body>
</html>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
function imageResize() {
var wrapH = $('div.image').height();
var imgH = $('img.adapt').height();
var wrapW = $('div.image').width();
var imgW = $('img.adapt').width();
$("img.adapt").css("height", (wrapH < imgH) ? wrapH : "auto");
$("img.adapt").css("width", (wrapW < imgW) ? wrapW : "auto");
}
imageResize();
$(window).bind("resize", function(){
imageResize();
});
});
</script>
div.text {
position : absolute;
width : 40%
left : 0;
top : 0;
}
div.image{
position: absolute;
top : 0;
right : 0;
left : 40%;
width : 60%;
bottom : 150px;
}