Responsive design 具有中央/外罩的响应性背景图像

Responsive design 具有中央/外罩的响应性背景图像,responsive-design,background-image,Responsive Design,Background Image,我有以下html语法: <div class="kalis-img" style="background-image: url(https://example.com/myimage.jpg);"></div> 如果我想得到300px的图像,这很好。我尝试设置宽度:100%;高度:自动使此响应,但我得到一个空白图像。有没有一种方法可以使背景图像具有响应性?这里有一个想法给你: HTML <div class="kalis-img" ></div&g

我有以下html语法:

<div class="kalis-img" style="background-image: url(https://example.com/myimage.jpg);"></div>

如果我想得到300px的图像,这很好。我尝试设置
宽度:100%;高度:自动使此响应,但我得到一个空白图像。有没有一种方法可以使背景图像具有响应性?

这里有一个想法给你:

HTML

<div class="kalis-img" ></div>  
.kalis-img {   
 background:url(path_to_image) center center/cover no-repeat;
 width: 100%;
 /*     height: auto; */
 /*     display: inline-block; */
 height:66.67vw;
}  
<div class="wrapper">
  <div class="image image1" ></div>
   ...
  <div class="image image4" ></div>
</div> <!-- end wrapper -->  
您将看到,我将高度设置为66.67vw,相当于视口宽度的2/3,请选择对您的设计有意义的内容

编辑


现在它是4个相邻的矩形,每个300像素,取一个 最大宽度为1200px。当屏幕变小时,我希望 这4个矩形的宽度和高度变小,以便 他们仍然在同一排

看看这是否对你有用:

代码的重要部分是:
HTML

<div class="kalis-img" ></div>  
.kalis-img {   
 background:url(path_to_image) center center/cover no-repeat;
 width: 100%;
 /*     height: auto; */
 /*     display: inline-block; */
 height:66.67vw;
}  
<div class="wrapper">
  <div class="image image1" ></div>
   ...
  <div class="image image4" ></div>
</div> <!-- end wrapper -->  

祝你好运

给你一个想法:

HTML

<div class="kalis-img" ></div>  
.kalis-img {   
 background:url(path_to_image) center center/cover no-repeat;
 width: 100%;
 /*     height: auto; */
 /*     display: inline-block; */
 height:66.67vw;
}  
<div class="wrapper">
  <div class="image image1" ></div>
   ...
  <div class="image image4" ></div>
</div> <!-- end wrapper -->  
您将看到,我将高度设置为66.67vw,相当于视口宽度的2/3,请选择对您的设计有意义的内容

编辑


现在它是4个相邻的矩形,每个300像素,取一个 最大宽度为1200px。当屏幕变小时,我希望 这4个矩形的宽度和高度变小,以便 他们仍然在同一排

看看这是否对你有用:

代码的重要部分是:
HTML

<div class="kalis-img" ></div>  
.kalis-img {   
 background:url(path_to_image) center center/cover no-repeat;
 width: 100%;
 /*     height: auto; */
 /*     display: inline-block; */
 height:66.67vw;
}  
<div class="wrapper">
  <div class="image image1" ></div>
   ...
  <div class="image image4" ></div>
</div> <!-- end wrapper -->  

祝你好运

您好,David,您的解决方案会动态更改高度。相反,我希望宽度动态变化。我试图交换您的解决方案,但没有成功。顺便说一下,我在同一行中有4个元素。因此,我希望宽度更小,这样当屏幕变小时它们不会分开。嗨@JoannaMikalai,我不清楚你想要什么,是4列,覆盖屏幕的全宽,每列都是屏幕的全高吗?现在是4个相邻的矩形,每个300px,最大宽度为1200px。当屏幕变小时,我希望这4个矩形的宽度和高度变小,这样它们仍然在同一行上。嗨,大卫,你的解决方案动态地改变了高度。相反,我希望宽度动态变化。我试图交换您的解决方案,但没有成功。顺便说一下,我在同一行中有4个元素。因此,我希望宽度更小,这样当屏幕变小时它们不会分开。嗨@JoannaMikalai,我不清楚你想要什么,是4列,覆盖屏幕的全宽,每列都是屏幕的全高吗?现在是4个相邻的矩形,每个300px,最大宽度为1200px。当屏幕变小时,我希望这4个矩形的宽度和高度变小,以便它们仍然在同一行上。