Flexbox 高度和背景图片高度
Flexbox height and background image height
我是html和CSS的初学者,我会尝试制作一个带有可点击点的地图,但我做不对。
我收到了使用 flexboxes 并创建一个以地图作为背景图像的容器,以及创建单独的容器来容纳可点击点的图像按钮的提示。该解决方案必须具有响应能力并且适用于桌面和移动设备。
我已经开始尝试让背景图像和点/(框)平均调整大小,然后尝试在点/(框)上设置位置,但是我已经遇到了背景图像的问题和父容器。
因为我无法将父容器的高度设置为与背景图片相同的高度,所以现在只显示了一半的图片。
如果我插入父容器的高度等于背景图片的像素,背景图片将不会调整响应大小。
有谁知道如何将背景图像和容器的高度设置为相同,或者知道更好的解决方案吗?
在那种情况下,我很高兴收到你的来信:-)
到目前为止我的编码:
.map-container {
display: flex;
justify-content: center;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-image: url("Images/home/map_front.jpg");
background-size: cover;
background-repeat: no-repeat;
}
.flexbox-point {
width: 20%;
margin: 20px;
border: 3px solid #B90F12; /* Color to see the points/boxes */
}
.flexbox-point1 {
min-height: 100px;
}
.flexbox-point2 {
min-height: 100px;
}
.flexbox-point3 {
min-height: 100px;
}
<!-- Test for flexbox with map as BG-picture*---->
<div class="map-container">
<div class="flexbox-point flexbox-point1"></div>
<div class="flexbox-point flexbox-point2"></div>
<div class="flexbox-point flexbox-point3"></div>
</div>
我建议在 child 上使用固定宽度而不是 %,因为 % 意味着它将占用向上 20%
的屏幕宽度,在调整浏览器大小时可能会变得非常小。要使背景图片居中,您可以使用 background-position: center;
见下文。
.map-container{
display: flex;
justify-content: center;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-image: url("https://dummyimage.com/400x400/000/fff");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
.flexbox-point{
width: 400px;
margin: 20px;
border: 3px solid #B90F12; /* Color to see the points/boxes */
}
.flexbox-point1 {
min-height: 100px;
}
.flexbox-point2 {
min-height: 100px;
}
.flexbox-point3 {
min-height: 100px;
}
<div class="map-container">
<div class="flexbox-point flexbox-point1"></div>
<div class="flexbox-point flexbox-point2"></div>
<div class="flexbox-point flexbox-point3"></div>
</div>
EX 具有不同高度的背景图像。
.map-container{
display: flex;
justify-content: center;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-image: url("https://upload.wikimedia.org/wikipedia/commons/c/cc/ESC_large_ISS022_ISS022-E-11387-edit_01.JPG");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
.flexbox-point{
width: 400px;
margin: 20px;
border: 3px solid #B90F12; /* Color to see the points/boxes */
}
.flexbox-point1 {
min-height: 100px;
}
.flexbox-point2 {
min-height: 100px;
}
.flexbox-point3 {
min-height: 100px;
}
.container {
height: 100vh;
}
<div class="container">
<div class="map-container">
<div class="flexbox-point flexbox-point1"></div>
<div class="flexbox-point flexbox-point2"></div>
<div class="flexbox-point flexbox-point3"></div>
</div>
</div>
我是html和CSS的初学者,我会尝试制作一个带有可点击点的地图,但我做不对。 我收到了使用 flexboxes 并创建一个以地图作为背景图像的容器,以及创建单独的容器来容纳可点击点的图像按钮的提示。该解决方案必须具有响应能力并且适用于桌面和移动设备。
我已经开始尝试让背景图像和点/(框)平均调整大小,然后尝试在点/(框)上设置位置,但是我已经遇到了背景图像的问题和父容器。 因为我无法将父容器的高度设置为与背景图片相同的高度,所以现在只显示了一半的图片。 如果我插入父容器的高度等于背景图片的像素,背景图片将不会调整响应大小。
有谁知道如何将背景图像和容器的高度设置为相同,或者知道更好的解决方案吗?
在那种情况下,我很高兴收到你的来信:-)
到目前为止我的编码:
.map-container {
display: flex;
justify-content: center;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-image: url("Images/home/map_front.jpg");
background-size: cover;
background-repeat: no-repeat;
}
.flexbox-point {
width: 20%;
margin: 20px;
border: 3px solid #B90F12; /* Color to see the points/boxes */
}
.flexbox-point1 {
min-height: 100px;
}
.flexbox-point2 {
min-height: 100px;
}
.flexbox-point3 {
min-height: 100px;
}
<!-- Test for flexbox with map as BG-picture*---->
<div class="map-container">
<div class="flexbox-point flexbox-point1"></div>
<div class="flexbox-point flexbox-point2"></div>
<div class="flexbox-point flexbox-point3"></div>
</div>
我建议在 child 上使用固定宽度而不是 %,因为 % 意味着它将占用向上 20%
的屏幕宽度,在调整浏览器大小时可能会变得非常小。要使背景图片居中,您可以使用 background-position: center;
见下文。
.map-container{
display: flex;
justify-content: center;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-image: url("https://dummyimage.com/400x400/000/fff");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
.flexbox-point{
width: 400px;
margin: 20px;
border: 3px solid #B90F12; /* Color to see the points/boxes */
}
.flexbox-point1 {
min-height: 100px;
}
.flexbox-point2 {
min-height: 100px;
}
.flexbox-point3 {
min-height: 100px;
}
<div class="map-container">
<div class="flexbox-point flexbox-point1"></div>
<div class="flexbox-point flexbox-point2"></div>
<div class="flexbox-point flexbox-point3"></div>
</div>
EX 具有不同高度的背景图像。
.map-container{
display: flex;
justify-content: center;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background-image: url("https://upload.wikimedia.org/wikipedia/commons/c/cc/ESC_large_ISS022_ISS022-E-11387-edit_01.JPG");
background-size: cover;
background-repeat: no-repeat;
background-position: center;
}
.flexbox-point{
width: 400px;
margin: 20px;
border: 3px solid #B90F12; /* Color to see the points/boxes */
}
.flexbox-point1 {
min-height: 100px;
}
.flexbox-point2 {
min-height: 100px;
}
.flexbox-point3 {
min-height: 100px;
}
.container {
height: 100vh;
}
<div class="container">
<div class="map-container">
<div class="flexbox-point flexbox-point1"></div>
<div class="flexbox-point flexbox-point2"></div>
<div class="flexbox-point flexbox-point3"></div>
</div>
</div>