响应式图像不适合手机屏幕
Posted
技术标签:
【中文标题】响应式图像不适合手机屏幕【英文标题】:Responsive image won't fit mobile screen 【发布时间】:2016-07-18 06:04:16 【问题描述】:我有一小段代码(它的一个 sn-p)。问题是,即使我使用媒体查询,图像也不适合屏幕。谁能告诉我如何解决这个问题,以适应屏幕?我使用的图像比屏幕大,所以它会在屏幕上移动,迫使人们水平滚动,这是不应该的 - 它应该自动适应屏幕。
这是我的代码:
.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>
【问题讨论】:
【参考方案1】:你的问题是投资组合类在图像上,并且在代码中你有 .portfolio img 这意味着图像在具有类投资组合的 div 中,试试这个:
<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>
只需从图像中删除类组合并将图像包装在具有类组合的 div 中,其他解决方案是放入您的 css
body .portfolio
改为
.portfolio img
【讨论】:
【参考方案2】:您应该重写您的 CSS,因为以下内容不会针对您的图片:
.portfolio img
浏览器将尝试在父元素中使用 portfolio
类设置图像的样式
你应该重写你的 CSS 如下:
img.portfolio
以上将针对您的图像,该图像当前具有portfolio
类。
或者用一个投资组合类将图片包裹在一个元素中:
<div class="portfolio">
<img src="">
</div>
在这种情况下,您现有的 CSS 将定位到您的图像。
【讨论】:
以上是关于响应式图像不适合手机屏幕的主要内容,如果未能解决你的问题,请参考以下文章