响应式图片不适合手机屏幕

Responsive image won't fit mobile screen

我有这段代码(一小段)。问题是,图像不适合屏幕,即使我正在使用媒体查询。谁能告诉我如何解决这个问题,以适应屏幕?我使用的图片比屏幕大,所以它越过屏幕迫使人们水平滚动,这是不应该的 - 它应该自动适合屏幕。

这是我的代码:

.portfolio img {
    max-width: 100%;
    width: 100%;
    height: auto !important;
}


@media only screen and (min-width: 1025px)
{
 #myBackground
 {
  min-height: 1000px;
 }
 
 #produkter
 {
  min-height: 1000px;
 }
 .portfolio img {
        max-width: 440px;
        max-height: 440px;
    }
 
}

@media only screen and (max-width: 1024px)
{
 #myBackground
 {
  min-height: 800px;
 }
 
 #produkter
 {
  min-height: 800px;
 }
 .portfolio img {
        max-width: 300px;
        max-height: 300px;
    }
 
 
}

@media only screen and (max-width: 640px)
{
 #myBackground
 {
  min-height: 600px;
 }
 
 #produkter
 {
  min-height: 600px;
 }
 .portfolio img {
        max-width: 240px;
        max-height: 240px;
    }
 
 
}

@media only screen and (max-width: 368px)
{
 #myBackground
 {
  min-height: 500px;
 }
 
 #produkter
 {
  min-height: 500px;
 }
 .portfolio img {
        max-width: 100px;
        max-height: 100px;
    }
 
 
}
<head>
  <meta name="viewport" content="width=device-width">
</head>

<body>
<img class="portfolio" src="images/bock1.png"/>
</body>

你的问题是投资组合 class 在图像上,在代码中你有 .portfolio img 这意味着图像在 div 中有 class 投资组合,试试这个:

 <div class="portfolio">

    <img class="portfolio_img" src="https://pixabay.com/static/uploads/photo/2015/10/01/21/39/background-image-967820_960_720.jpg"/>

    </div>

只需从图像中删除 class 投资组合并将图像包装在具有 class 投资组合的 div 中,其他解决方案是放入您的 css

body .portfolio 

改为

.portfolio img

您应该重写您的 CSS,因为以下内容不会以您的图片为目标:

.portfolio img {}

浏览器将尝试在 class 为 portfolio

的父元素中设置图像样式

您应该重写您的 CSS 如下:

img.portfolio {}

以上将针对您的图片,该图片当前的 class 为 portfolio

或者将图像包装在具有 class 投资组合的元素中:

<div class="portfolio">
    <img src="">
</div>

在这种情况下,您现有的 CSS 将定位您的图片。