响应式图片不适合手机屏幕
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 将定位您的图片。
我有这段代码(一小段)。问题是,图像不适合屏幕,即使我正在使用媒体查询。谁能告诉我如何解决这个问题,以适应屏幕?我使用的图片比屏幕大,所以它越过屏幕迫使人们水平滚动,这是不应该的 - 它应该自动适合屏幕。
这是我的代码:
.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 将定位您的图片。