gpt4 book ai didi

html - 根据背景图像中央的屏幕尺寸水平/垂直组织图像

转载 作者:行者123 更新时间:2023-12-04 15:20:40 26 4
gpt4 key购买 nike

<body> <section>我有背景图片:

<img src="img/background.png" class="back-img">
css:
.back-img {
width: 100%;
height: auto;
overflow:hidden;
}
像这样:
<section> 
<div id="topLine">
<img src="img/background.png" class="back-img">
</div>
</section>
我正在尝试使用 position: fixed; 在浏览器窗口中背景图像的中央水平对齐不同大小的方形图像通过滚动将其保持在屏幕中央并在移动屏幕上垂直组织:

   <img src="img/square1.png" class="image">
<img src="img/square2.png" class="image">
<img src="img/square3.png" class="image">

.css:
.image {
position: fixed;
width: 69px;
height: auto;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
存档这样的东西:
enter image description here
背景颜色表示背景图片,白色方块是相同大小的图片。
我试过这个 example :
<div class="row">
<div class="column">
<img src="img/square1.png">
</div>
<div class="column">
<img src="img/square1.png">
</div>
<div class="column">
<img src="img/square1.png">
</div>
</div>
和:
* {
box-sizing: border-box;
}

.column {
float: left;
width: 33.33%;
padding: 5px;
}

.row::after {
content: "";
clear: both;
display: table;
}
在我的情况下,它没有按照要求组织图像,应该将图片对齐在一行中,但使用 position: fixed;我的屏幕上只有一张图片。
我试图找到一些正确的方法来获得结果,也许使用 <table> , <tr> , <td>根据屏幕大小从水平到垂直组线自动组织不同的图像,浏览器窗口手动缩小。
首先,我必须在固定位置的背景图像的中心水平线上重复相同的图像:
enter image description here
任何指南或示例都会有所帮助

最佳答案

CSS grid 或 flex 将是理想的(假设现代浏览器)。
我不清楚您为什么需要 img背景图片的元素,但我过去有很多原因,所以这需要一点额外的使用 img元素 。
这是我对您要查找的内容的解释的最基本示例:https://codepen.io/Ilkai/pen/abNdZQK
基本上:

  • 设置您的 sectionbackground-image ,并将其用作容器大小的来源(全屏显示 100 vw/vh )

  • <section class="bg">
    ...
    </section>
    .bg {
    background-image: url('...');
    background-size: cover;
    width: 100vw;
    height: 100vh;
    }
  • 使用 display: flex/grid 创建一个专门用作布局父级的 div。 (Flexbox 比 Grid 稍早,所以它有更好的支持)。中心 child 用align-itemsjustify-content .

  • <section class="bg">
    <div class="layout">
    ...
    </div>
    </section>
    .bg { ... }

    .layout {
    width: inherit;
    height: inherit;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    }
  • 您还将媒体查询应用到布局 div。

  • .bg {...}

    .layout {...}

    @media (min-width: 720px) {
    .layout {
    flex-direction: row;
    }
    }
  • 添加您的 img元素作为布局 div 的子元素,相应地调整大小。

  • <section class="bg">
    <div class="layout">
    <img src="..." />
    <img src="..." />
    <img src="..." />
    <img src="..." />
    </div>
    </section>
    .bg {...}

    .layout {...}

    @media (...) {}

    .layout img {
    width: 6rem;
    height: 6rem;
    object-fit: cover;
    margin: 1rem;
    }
    如果我误解了你的意思,请在评论中告诉我

    关于html - 根据背景图像中央的屏幕尺寸水平/垂直组织图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63386632/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com