动画按钮放置在网格中

Animating buttons placed in a grid

本文关键字:网格 按钮 动画      更新时间:2023-09-26

我想给按钮一个"按下"鼠标悬停时的动画,以及用户单击时的另一个较小的按下动画。我目前有动画工作,但当鼠标悬停在一个按钮,所有的按钮是动画。我试着单独定位每个按钮,但没有任何运气。

我还想给每个按钮一个设置的宽度和高度,使他们都是相同的大小。我试过设置一个宽度,并在display CSS元素上乱涂乱画,但没有任何成功。我不能得到ISSUU嵌入显示,所以如果有任何建议或建议,以及这将是了不起的(预编辑:看起来它显示在JSFiddle,虽然不正确,以及按钮。这是它在我的浏览器上的样子)。

我的JSFiddle: https://jsfiddle.net/ewrcxrrp/

HTML:

<div id="cookbook">
  <div class="container">
    <div class="row">
      <div class="twelve columns">
        <h1>Order the lemonade cookbook</h1>
      </div>
    </div>
    <div class="row">
      <div class="six columns">
            <div data-configid="0/5714789" class="issuuembed"></div><script type="text/javascript" src="//e.issuu.com/embed.js" async="true"></script> 
      </div>
      <div class="six columns">
        <p>"As a chef, I have a very high bar that has to be met for me to enjoy other people’s food. Alan Jackson’s lemonade has more than exceeded that bar."</p>
        <p1>- MICHAEL CHIARELLO, OWNER OF THE CRITICALLY ACCLAIMED BOTTEGA</p1>
        <h2>get your copy:</h2>
  
          <button type="submit" class="button-primary">Amazon</button>
          <button type="submit" class="button-primary">Barnes &amp; Noble</button>
          <button type="submit" class="button-primary">Indie Bound</button>
          <button type="submit" class="button-primary">Powell's Books</button>
          <button type="submit" class="button-primary">Books-a-Million</button>
          <button type="submit" class="button-primary">Overstock</button>
      </div>
    </div>
  </div>
</div>
CSS:

#cookbook{
  background-image: url(http://i.lmnd3.com/images/LemonadeBkg_Broc.jpg);
  position: float;
  min-height: 800px;
  text-align: center;
  font-family: 'Open Sans', sans-serif;
}
#cookbook .issuuembed {
    width: 525px;
    height: 340px;
    margin: 0 auto;
    display: block;
}
#cookbook h1{
  font-size: 4rem;
  color: #FFFFFF;
  text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25);
  text-transform: uppercase;
  text-align: center;
  margin-top: 10rem;
}
#cookbook p{
  font-size: 2rem;
  color: #FFFFFF;
  text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25);
  font-style: italic;
  font-weight: 700;
  margin-bottom: 1rem;
}
#cookbook p1{
  font-size: 2rem;
  color: #FFFFFF;
  text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25);
  font-weight: 400;
}
#cookbook h2{
  margin-top: 1.5rem;
  font-size: 4rem;
  color: #FFFFFF;
  text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.25);
  font-weight: 700;
  text-transform: uppercase;
}
#cookbook button{
  border-radius: 4px;
  font-size: 16px;
  background-color: #E4572E;
  border-color: #E4572E;
  -moz-box-shadow:    0px 2px 0px 0px #888888;
  -webkit-box-shadow: 0px 2px 0px 0px #888888;
  box-shadow:         0px 2px 0px 0px #888888;
}
#cookbook button:hover{
  margin-top: 1px;
  -moz-box-shadow:    0px .5px 0px 0px #888888;
  -webkit-box-shadow: 0px .5px 0px 0px #888888;
  box-shadow:         0px .5px 0px 0px #888888;
}
#cookbook button:active{
  margin-top: 2px;
  -moz-box-shadow:    0px 0px 0px 0px #888888;
  -webkit-box-shadow: 0px 0px 0px 0px #888888;
  box-shadow:         0px 0px 0px 0px #888888;
}

任何帮助或指导是非常感谢!

一切顺利-

除了Mohamed刚才写的,还有一个CSS问题——当鼠标悬停在按钮上时,你给按钮添加了1px的上边距,结果所有按钮都被迫向下1px,看起来是动画的。将按钮悬停的CSS更改为

#cookbook button:hover {
   margin-top: 1px;
   margin-bottom: 9px;
   -moz-box-shadow:    0px .5px 0px 0px #888888;
   -webkit-box-shadow: 0px .5px 0px 0px #888888;
   box-shadow:         0px .5px 0px 0px #888888;
}

添加margin-bottom: 9px;以补偿悬停按钮1px的上距。

也添加一个类似的margin-bottom: 8px;:活动状态,以保持所有以下按钮在移动时,你点击一个:

#cookbook button:active {
   margin-top: 2px;
   margin-bottom: 8px;
   -moz-box-shadow:    0px 0px 0px 0px #888888;
   -webkit-box-shadow: 0px 0px 0px 0px #888888;
   box-shadow:         0px 0px 0px 0px #888888;
}

这是因为你首先使用了错误的类。你是否使用bootstrap作为css的一部分?

  • 在你的CSS中,你使用了hashtags而不是dot(.),后者用于对CSS标签进行分类,可以用"class"触发。如果你想使用标签,你需要使用:

    id="cookbook button"而不是class="button-primary"

  • 这是你唯一的问题。您没有正确地将css声明到html文档。如果您将标签更改为点(。然后你可以把"cookbook button"添加到HTML中"button-primary"旁边的css类中,没有任何问题。