在 CSS 网格中使用背景图像

问题描述 投票:0回答:2

我正在尝试使用 CSS 网格让图像填充网页。除了使用 CSS 网格之外,我还可以使用 CSS 属性“背景图像”来做到这一点。但是,一旦我尝试在容器内的项目内使用背景图像,它只会显示图像的一小部分——换句话说,它不会填满页面。有什么想法吗!?

<!DOCTYPE html>
<head>

<meta name="viewport" content="width=device-width, initial-scale=1">

<style>

    *{
        margin: 0px;
        padding: 0px;
        box-sizing: border-box;
    }

    body, html {
        width: 100%;
        height: 100%;
    }

    .grid-container {
        display: grid;
        /* grid-template-columns: repeat(12, 1fr); */
        grid-template-columns: 20% 60% 20%;
        grid-template-rows: 100px 100% 100px;
    }

    .grid-item1-header {
        grid-column: 1 / span 3;
        grid-row: 1 / 2;

        top: 0;
        background-color: #262626;
    }

    .grid-item2-main-img {
        grid-column: 1 / span 3;
        grid-row: 2 / 3;

        height: 100%;

        /*background-color: red;*/

        background-image: url("img/hole.jpg");            
        background-repeat: no-repeat;
        background-size: cover;  /* covers the entire area */
}

    .grid-item3-footer {
        grid-column: 1 / span 3;
        grid-row: 3 / 4;

        bottom: 0;
        background-color: #262626;
    }



</style>
</head>

<body>

<div class='grid-container'>

        <div class='grid-item1-header'></div>
        <div class='grid-item2-main-img'></div>
        <div class='grid-item3-footer'></div>

</div>

</body>
</html>






I have tried altering the height: 1000px; and this works, but I would like it to automatically fill the screen using an item inside CSS grid. 
css image background-image css-grid
2个回答
0
投票

几分钟前才发布这个问题,看起来我已经找到了答案。我需要将 .grid-container 设置为 height: 100%;现在效果很好。


-1
投票

您可以使用背景大小属性

background-size:cover;

覆盖所有元素或

background-size:contain;

在元素中包含图像

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.