图像变得比带边框的 div 容器大并溢出
Image gets bigger than a div container with a border and overflows
这里有一个简单的问题需要您解决。
图片应为 90vw,容器应为图片添加边框。
边框不能直接应用于图像,因为在进一步的编码步骤中,图像的某些样式将直接应用于 html。
当前的实现导致边框小于图像。怎样才能很好地包裹图像?
我真的想要一些简单的东西,让它像我这样的新手保持轻便和容易理解,所以请不要像我通常在 Stack Overflow 上看到的那样做三重翻转和长矛跳,轻柔、优雅地着陆。
HTML:
<div id="main-image-container-slideshow">
<img id="main-image-slideshow" src="http://localhost:8888/image/jpeg/campus1.jpg">
</div>
CSS:
#main-image-container-slideshow {
border: 5px solid black;
}
#main-image-slideshow {
width: 90vw;
}
我会让容器为 90vw 并让容器有边框。然后图像将是 90vw 容器的整个宽度。我将图像制作成一个块,以删除下面任何可能不需要的 space。
#main-image-container-slideshow
{ border: 5px solid black;
box-sizing: border-box;
width: 90vw;
/* If you want the container to be centered, add this, otherwise skip */
margin: 0 auto;
}
#main-image-slideshow
{
width: 100%;
display: block;
}
您可以将包装器的 display
属性 设置为 flex
并将 flex-direction
属性 设置为 column
。而且,如果您决定更改图像的宽度,则不必更改 CSS 中的 display
属性。
#main-image-container-slideshow {
display: flex;
flex-direction: column;
border: 2px solid white;
}
#img {
width: 90vw;
}
html {
background-color: black; /* sets the background color to black to make it easier to see the border */
}
<div id="main-image-container-slideshow">
<img id="main-image-slideshow" src="https://img.freepik.com/free-photo/wall-wallpaper-concrete-colored- painted-textured-concept_53876-31799.jpg?size=626&ext=jpg">
</div>
代码段中使用的图片是在 freepik 找到的。
您可以将容器宽度设置为 100vw,将图像宽度设置为容器宽度的 90%,即 90vw。
.image-container {
width: 100vw;
border: 5px solid #000000;
}
.image {
width: 90%;
}
<div class="image-container">
<img src="https://Whosebug.design/assets/img/logos/so/logo-Whosebug.png" class="image"/>
</div>
这里有一个简单的问题需要您解决。 图片应为 90vw,容器应为图片添加边框。
边框不能直接应用于图像,因为在进一步的编码步骤中,图像的某些样式将直接应用于 html。
当前的实现导致边框小于图像。怎样才能很好地包裹图像?
我真的想要一些简单的东西,让它像我这样的新手保持轻便和容易理解,所以请不要像我通常在 Stack Overflow 上看到的那样做三重翻转和长矛跳,轻柔、优雅地着陆。
HTML:
<div id="main-image-container-slideshow">
<img id="main-image-slideshow" src="http://localhost:8888/image/jpeg/campus1.jpg">
</div>
CSS:
#main-image-container-slideshow {
border: 5px solid black;
}
#main-image-slideshow {
width: 90vw;
}
我会让容器为 90vw 并让容器有边框。然后图像将是 90vw 容器的整个宽度。我将图像制作成一个块,以删除下面任何可能不需要的 space。
#main-image-container-slideshow
{ border: 5px solid black;
box-sizing: border-box;
width: 90vw;
/* If you want the container to be centered, add this, otherwise skip */
margin: 0 auto;
}
#main-image-slideshow
{
width: 100%;
display: block;
}
您可以将包装器的 display
属性 设置为 flex
并将 flex-direction
属性 设置为 column
。而且,如果您决定更改图像的宽度,则不必更改 CSS 中的 display
属性。
#main-image-container-slideshow {
display: flex;
flex-direction: column;
border: 2px solid white;
}
#img {
width: 90vw;
}
html {
background-color: black; /* sets the background color to black to make it easier to see the border */
}
<div id="main-image-container-slideshow">
<img id="main-image-slideshow" src="https://img.freepik.com/free-photo/wall-wallpaper-concrete-colored- painted-textured-concept_53876-31799.jpg?size=626&ext=jpg">
</div>
代码段中使用的图片是在 freepik 找到的。
您可以将容器宽度设置为 100vw,将图像宽度设置为容器宽度的 90%,即 90vw。
.image-container {
width: 100vw;
border: 5px solid #000000;
}
.image {
width: 90%;
}
<div class="image-container">
<img src="https://Whosebug.design/assets/img/logos/so/logo-Whosebug.png" class="image"/>
</div>