Html 根据屏幕调整图像

Html 根据屏幕调整图像,html,css,image,rows,Html,Css,Image,Rows,我制作了一个图像库,由两行组成,每行有树图像。我已经使我的网站响应,但由于某些原因,图像不会根据屏幕大小/调整。我已经附上了这张照片,可以看到,这些图像与屏幕不匹配 .image3{ 高度:300px; 宽度:370px; 边框:5px实心; 颜色:灰色; } 他们为什么要这么做 你可以用 max-width: 100%; /* or 33% or whatever you need */ 让它在屏幕宽度变小时收缩,但现在它将始终是您指定的大小 另外,“响应性”主要指针对不同的屏幕宽度有

我制作了一个图像库,由两行组成,每行有树图像。我已经使我的网站响应,但由于某些原因,图像不会根据屏幕大小/调整。我已经附上了这张照片,可以看到,这些图像与屏幕不匹配

.image3{
高度:300px;
宽度:370px;
边框:5px实心;
颜色:灰色;
}

他们为什么要这么做

你可以用

max-width: 100%; /* or 33% or whatever you need */
让它在屏幕宽度变小时收缩,但现在它将始终是您指定的大小


另外,“响应性”主要指针对不同的屏幕宽度有不同的布局,从而优化移动和桌面的布局。有三个图像挨在一起似乎反应不太快。相反,我会减少每行中的图像数量

像这样:

.image3{
高度:300px;
宽度:370px;
边框样式:实心;
边框宽度:5px;
颜色:灰色;
}

图像不会调整大小,因为您给了它们一个绝对宽度。如果给元素一个100%的
最大宽度
最大高度
,它应该是响应的。所以像这样:

.image3{
最大高度:100%;
最大宽度:100%;
边框样式:实心;
边框宽度:5px;
颜色:灰色;
}

似乎您正在使用
px
单位为图像指定固定大小。如果你想让你的图像反应灵敏,为了适应它们的大小,你需要使用相对单位。最常见的是:

  • 相对于容器:百分比aje%
  • 相对于容器字体大小:em
  • 相对于根元素字体大小:rem
  • 相对于视口大小:vwvh(相当于 视口(测量)
您应该将每个图像包装在一个单独的div
class:wrapper
中,并为div指定一个相对宽度

html,正文{
宽度:100%;
身高:100%;
保证金:0;
填充:0;
}
.image3{
显示:块;
最大高度:100%;
最大宽度:100%;
宽度:100%;
边框样式:实心;
边框宽度:5px;
颜色:灰色;
}
.行{
宽度:100%;
}
.包装纸{
宽度:33.33%;
浮动:左;
}

使用此代码。这里我用的是引导。。。 复制整个代码。。并另存为page.html 然后检查

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
<body>

<div class="container">
 <div class="row">
  <div class="col-lg-4 col-sm-4 col-md-4 col-xs-4">
  <img src="http://lorempixel.com/400/200/sports/" alt="" class="img-responsive">
 </div>  

  <div class="col-lg-4 col-sm-4 col-md-4 col-xs-4">
  <img src="http://lorempixel.com/400/200/sports/" alt="" class="img-responsive">
  </div>

   <div class="col-lg-4 col-sm-4 col-md-4 col-xs-4">
     <img src="http://lorempixel.com/400/200/sports/" alt="" class="img-responsive"> 
  </div>

</div>

  <div class="row">
    <div class="col-lg-4 col-sm-4 col-md-4 col-xs-4">
      <img src="http://lorempixel.com/400/200/sports/" alt="" class="img-responsive">
  </div>

    <div class="col-lg-4 col-sm-4 col-md-4 col-xs-4">
     <img src="http://lorempixel.com/400/200/sports/" alt="" class="img-responsive">
  </div>

    <div class="col-lg-4 col-sm-4 col-md-4 col-xs-4">
    <img src="http://lorempixel.com/400/200/sports/" alt="" class="img-responsive">
   </div>
  </div>
  </div> 

  </body>
 </html>

如果您希望图像具有响应性,您需要做两件主要事情:

  • 不要同时设置宽度和高度,只需设置宽度即可
  • 不要使用像素设置宽度使用百分比

  • 在你的例子中,你有3张图像,所以将100%分为3,大约33%,所以给图像33%的大小(如果容器没有框大小:border box;),它们会很好地调整。

    这不是期望的结果。如何使用
    最大宽度
    不是期望的结果?是的,这更好-谢谢!问题是,作业中明确指出:6个图像应显示在两行中:/这甚至没有响应,如果这个解决方案更好,那么你显然不知道什么是响应。我只给出了起始html。我不想为您设计任何东西,但您可以将一行中的元素数量限制为最多3个,这将导致桌面上出现“2行6个图像”,但仍然提供响应性布局。对于大图像,可以容纳小容器,但相对大小(或最小大小)也可以对于适合更大容器的小图像需要。@Maria我刚刚用更多细节更新了答案;)好的,谢谢你的提示-这是一个很好的规则要记住!实际上,我一开始是将图像大小设置为33.1%,但后来出于某种原因,我删除了它-应该坚持这一点:D-“不要使用像素设置宽度使用百分比”像素使用起来非常好…如果你想让它响应并随着窗口的变化调整大小,就像问题一样,你需要相对单位,像素大小用于设置一个大小。如果这是你想要的,像素是可以的,但如果你想让它真正响应,你需要相对单位。啊,谢谢!实际上,我已经考虑过使用bootstrap,但我还没有真正研究过它,但我肯定会的。现在它似乎是一个非常常用的框架。