gpt4 book ai didi

html - 是否可以在放大的动态背景图像上放置固定元素(按钮、问候语)?

转载 作者:太空宇宙 更新时间:2023-11-04 05:47:37 25 4
gpt4 key购买 nike

我正在创建网络聊天。主页有一个动态的背景图像,可以平滑地放大。有一些“欢迎”词、用户名输入字段和提交按钮。所有这些元素都与背景图像一起放大。是否可以让它们成为非动画的,固定在背景上?

这是用于使用 Flask、SocketIO、一些 Vue、html 和 css 构建的网络聊天。

HTML:

  <div class="background">
<head>
...
</head>
<body>
<div class="container" id="app">
<div v-if="state == 0">
<h2>Welcome to this chat! Please choose a username</h2>
<form @submit.prevent="setUsername">
<input type="text" placeholder="Username..." maxlength="25" v-model:value="username" />
<p><input type="submit" value="Join" v-bind:disabled = "username === ''"/></p>
</form>
</div>
<div v-if="state == 1">
<ul id="chatbox">
<li v-for="msg in this.messages">
<b>[[ msg.user ]]</b> : [[ msg.message ]]
</li>
</ul>
<form @submit.prevent="sendMessage">
<input type="text" maxlength="600" size="65" placeholder="Message..." v-model:value="message" />
<input type="submit" value="Send" v-bind:disabled = "message ===''"/>
</form>
</div>
</div>

和 CSS:

.background {
margin: 0;
padding: 0;
background-image: url('../images/music.jpg');
background-size: cover;
background-attachment: fixed;
background-repeat: no-repeat;
background-position: center;
position: absolute; left: 0; right: 0; top: 0; bottom: 0;
z-index: 1;
text-align: center;
-webkit-animation: zoomin 5s ease-in;
animation: zoomin 5s ease-in;
}


@-webkit-keyframes zoomin {
0% {transform: scale(1.15);}
100% {transform: scale(1);}
}
@keyframes zoomin {
0% {transform: scale(1.15);}
100% {transform: scale(1);}
} /*End of Zoom in Keyframes */


#app {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
height: 75vh;
width: 95vw;
position: relative;
z-index: 2;
}

我原以为按钮和输入窗口是静态的,但它们与背景一起放大了。

另一个问题是背景图像在执行放大动画时会“跳”回来一点。

最佳答案

父容器上的动画会影响内部元素。您可以尝试向 .background 添加一个伪元素,这样它只会影响该元素。

.background:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-image: url('../images/music.jpg');
background-size: cover;
background-attachment: fixed;
background-repeat: no-repeat;
background-position: center;
z-index: 1;
-webkit-animation: zoomin 5s ease-in;
animation: zoomin 5s ease-in;
}

关于html - 是否可以在放大的动态背景图像上放置固定元素(按钮、问候语)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58584615/

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