Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据浏览器调整图像大小,无需裁剪或降低纵横比_Javascript_Jquery_Css_Image Resizing - Fatal编程技术网

Javascript 根据浏览器调整图像大小,无需裁剪或降低纵横比

Javascript 根据浏览器调整图像大小,无需裁剪或降低纵横比,javascript,jquery,css,image-resizing,Javascript,Jquery,Css,Image Resizing,我正在制作一个响应模板。 我有带有图像的页面,我希望它们看起来像这样: 我想不出一个css的方法来实现它,所以我尝试jquery,虽然我不是最好的jquery程序员 这就是我的结局: html 当我放大浏览器时,这似乎起作用,但当我使它更小巧时,图像会闪烁,其丑陋 如果某位专业jquery程序员能向我解释这个问题,我会非常高兴。如果您下载Google Chrome,再次浏览该页面,并在“开发人员工具”中的“资源”选项卡下查看作者的style.css文件。在第800行或更低的位置,您将看到作者正在

我正在制作一个响应模板。 我有带有图像的页面,我希望它们看起来像这样:

我想不出一个css的方法来实现它,所以我尝试jquery,虽然我不是最好的jquery程序员

这就是我的结局: html

当我放大浏览器时,这似乎起作用,但当我使它更小巧时,图像会闪烁,其丑陋


如果某位专业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;
}