我如何让一个按钮用css关键帧淡入?

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

我试图让我的按钮用关键帧淡入,但它不工作,我知道我做错了什么。我最终得到了动画文本的工作,但这是给我一个头痛的问题,我不能找到任何地方的信息,已帮助我... 我是网络开发的新手,所以不要对我或我的代码(可能是丑陋的和无组织的)太苛刻了lol。我正在努力学习尽可能多的东西,所以如果你能解释为什么它不工作,为什么别的东西可能?谢谢大家<3

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="style.css">
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@300&display=swap" rel="stylesheet">

    <title>Welcome! | Video Editing by Scottis</title>

</head>
<body>
    <!-- Header -->
<div class="container">
    <span class="text1">Video Editing by Scottis</span>
</div>


    <!-- Buttons -->
    <style>
        .btn {
           background-color: white;
           color: rgb(133, 4, 255);
           text-align: center;
           font-size: 15px;
           font-weight: bold;
           margin-right: -250px;
           margin-top: 600px;
           margin-left: 515px;
           padding: 30px;
        }




     </style>
  </head>
  <body>
    <button class="btn">Portfolio</button>
    <button class = "btn">Pricing</button>
    <button class="btn">Contact</button>


</body>
</html>

我的CSS。

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-family: sans-serif;
}

body {
  margin: 0;
  font-family: 'Roboto', sans-serif;
}

body {
    background-image: url("./assets/background.png");
    background-color: #cccccc;
    background-repeat: no-repeat;
  }

  /* Create three equal columns that floats next to each other */
.col-md-3 {
    float: left;
    width: 15%;
    padding: 15px;
    padding: 10px;
    margin: auto;
    display: block;
  }

  /* Clear floats after the columns */
  .row:after {
    content: "";
    display: table;
    clear: both;
  }

  /* Responsive layout - makes the three columns stack on top of each other instead of next to each other */
  @media screen and (max-width:768px) {
    .col-md-3 {
      width: 100% auto;
    }
  }

.col-md-12 {
  text-align: center;
}

.card-title {
  text-align: center;
}

.container{
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.container span{
  color: white;
  text-transform: uppercase;
  display: block;

}

.text1{
  color: white;
  font-size: 60px;
  font-weight: 700;
  letter-spacing: 8px;
  margin-bottom: 20px;
  position: relative;
  animation: text 3s 1;
}


@keyframes text {
  0%{
    margin-bottom: -20%;
  }
  30%{
    letter-spacing: 25px;
    margin-bottom: -40px;
  }
  85%{
    letter-spacing: 15px;
    margin-bottom: -40px;
  }

  }
}

@keyframes button {
  0%{
    opacity: 0%;
  }
  0%{
    opacity: 0%;
  }
  25%{
    opacity: 25%;
  }
  50%{
    opacity: 50%;
  }
  75%{
    opacity: 75%;
  }
  100%{
    opacity: 100%;
  }
}

html css button fadein fading
1个回答
0
投票

首先,你的代码有一些问题。你重复的head和body标签不符合正确的有效html顺序。仔细看看下面MDN的页面和资源。https:/developer.mozilla.orgen-USdocsWebHTMLElement。

至于你的关键帧问题,在你的css中定义你想用序列控制的类,然后用一个独特的调用名添加动画,我用的是 fadeIn. 下面我添加了Mozilla, webkit, opera和ms @keyframe动画的不透明度。我正在定义动画来启动定时器(3秒)。@keyframe 0% { opacity: 0; } ,然后结束于 100% { opacity: 1; }. 我为不同的浏览器添加多个套件。

.btn {
  animation: fadeIn ease 3s;
  -webkit-animation: fadeIn ease 3s;
  -moz-animation: fadeIn ease 3s;
  -o-animation: fadeIn ease 3s;
  -ms-animation: fadeIn ease 3s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-o-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-family: sans-serif;
}

body {
  margin: 0;
  font-family: 'Roboto', sans-serif;
}

body {
  background-image: url("./assets/background.png");
  background-color: #cccccc;
  background-repeat: no-repeat;
}

/* Start class for buttons animation fadeIn ease */
.btn {
  animation: fadeIn ease 3s;
  -webkit-animation: fadeIn ease 3s;
  -moz-animation: fadeIn ease 3s;
  -o-animation: fadeIn ease 3s;
  -ms-animation: fadeIn ease 3s;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-moz-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-o-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-ms-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*  End of animation keyframes  */

/* Create three equal columns that floats next to each other */

.col-md-3 {
  float: left;
  width: 15%;
  padding: 15px;
  padding: 10px;
  margin: auto;
  display: block;
}


/* Clear floats after the columns */

.row:after {
  content: "";
  display: table;
  clear: both;
}


/* Responsive layout - makes the three columns stack on top of each other instead of next to each other */

@media screen and (max-width:768px) {
  .col-md-3 {
    width: 100% auto;
  }
}

.col-md-12 {
  text-align: center;
}

.card-title {
  text-align: center;
}

.container {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.container span {
  color: white;
  text-transform: uppercase;
  display: block;
}

.text1 {
  color: white;
  font-size: 60px;
  font-weight: 700;
  letter-spacing: 8px;
  margin-bottom: 20px;
  position: relative;
  animation: text 3s 1;
}

@keyframes text {
  0% {
    margin-bottom: -20%;
  }
  30% {
    letter-spacing: 25px;
    margin-bottom: -40px;
  }
  85% {
    letter-spacing: 15px;
    margin-bottom: -40px;
  }
}


}
<div class="container">
  <span class="text1">Video Editing by Scottis</span>
</div>

<button class="btn">Portfolio</button>
<button class="btn">Pricing</button>
<button class="btn">Contact</button>
© www.soinside.com 2019 - 2024. All rights reserved.