代码之家  ›  专栏  ›  技术社区  ›  theCrabNebula

将悬停时的阴影效果添加到div框

  •  -1
  • theCrabNebula  · 技术社区  · 7 年前

    我目前正试图找出一种方法,使它使在我的网站首页上的每个单独的框悬停( http://thefloodplains.com/ ,将为该特定框生成阴影动画。我希望它看起来非常类似于本页上的内容: http://tobiasahlin.com/blog/how-to-animate-box-shadow/ . 我使用此页作为向导,试图设置悬停阴影效果。

    这里是专门为我的网页上的div框设计的css/html( http://thefloodplains.com网站/ ):

    .col-md-4 {
        color:#00A5D1;
        height:300px;
    }
    
    .col-md-3 {
        color:#00A5D1;
        height:300px;
        box-shadow: 2 2px 3px rgba(0, 0, 0.1, 0.1);
        -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
        transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    }
    
    .col-md-4:hover {
        background-color: #FFE097;
    }
    .col-md-3:hover {
        -webkit-transform: scale(1.25, 1.25);
        transform: scale(1.25, 1.25);
        }
    
    .col-md-4 h3 {
        position: relative;
        top: 40%;
        transform: translateY(-50%);
    }
    
    .col-md-4 {
        color:#00A5D1;
        height:300px;
        border: 1px solid #FF8B6F;
        position: relative;
    }
    
    .col-md-3 {
        height:300px;
        position: relative;
    }
    
    .col-md-4:after {
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      display: block;
      background: #FFE097;
      opacity: 0;
    }
    
    .col-md-3:after {
      content: "";
      position: absolute;
      z-index: -1;
      top: 0;
      right: 0;    
      left: 0;
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
      opacity: 0;
      -webkit-transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
      transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
    }
    
    .col-md-4:hover:after {
      opacity: .5;
    }
    
    .col-md-3:hover:after {
      opacity: 1;
    }
    
    .col-md-4 h3 {
        position: relative;
        z-index: 1;
        top: 40%;
        transform: translateY(-50%);
    }
    

    任何带有“.col-md-3”类的内容都是我试图添加悬停阴影效果的地方(这与我已经设置了当前悬停颜色效果的方式几乎相同)。以下代码是我首页的css/html的其余部分:

    <style>
        h3 {
            font-size:36px;
            font-style: bold;
            text-align:center;
            font-family:'Buernard', Garamond, "Buenard", "EB Garamond",'EB Garamond';
        }
        img {
            max-width: 100%;
            max-height: 100%;   
        }
        #div1 {
                background-image: url('AboutIcon.png');
                background-position: center center; //center the image in the div
                background-size: cover; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        #div2 {
                background-image: url('ArticlesIcon.png');
                background-position: center center; //center the image in the div
                background-size: contain; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        #div3 {
                background-image: url('CodingBrackets2.png');
                background-position: center center; //center the image in the div
                background-size: cover; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        #div4 {
                background-image: url('ContactIcon.png');
                background-position: center center; //center the image in the div
                background-size: contain; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        #div5 {
                background-image: url('FSMusicArt.png');
                background-position: center center; //center the image in the div
                background-size: cover; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        #div6 {
                background-image: url('AudioProduction4.png');
                background-position: center center; //center the image in the div
                background-size: cover; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        #div7 {
                background-image: url('Violin3.png');
                background-position: center center; //center the image in the div
                background-size: cover; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        #div8 {
                background-image: url('GalleryImage2.png');
                background-position: center center; //center the image in the div
                background-size: cover; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        #div9 {
                background-image: url('Handshake2.png');
                background-position: center center; //center the image in the div
                background-size: cover; //cover the entire div
                background-repeat: no-repeat;
                background-size: 100%;
        }
        div {
            background-image:url(../images/please-dont-use-spaces.jpg); //add the background image
            background-position: center center; //center the image in the div
            background-size: cover; //cover the entire div
        }
        </style>    
        </head>
        <body>
            <div class="container">
                <div class="row">
                    <a href="About.html" title="About the site and Author"><div class="col-md-4" id='div1'>
                        <h3>About</h3>
                        </div></a>
                    <a href="Articles.html" title="Original Articles and Content"><div class="col-md-4" id='div2'>
                        <h3>Articles</h3>
                    </div>
                    <a href="CodingCorner.html" title="Coding Corner - Code for a Variety of Projects"><div class="col-md-4" id="div3">
                        <h3>Coding Corner</h3>
                    </div></a>
                </div>
                <div class="row">
                    <a href="Contact-Social.html" title="Contact The Floodplains & The FloodShark"><div class="col-md-4" id="div4">
                      <h3>Contact & Social</h3>
                    </div></a>
                    <a href="TheFloodSharkMain.html" title="The FloodShark Music and Media"><div class="col-md-4" id="div5">
                        <h3>
                        The FloodShark
                        Music
                        </h3>
                    </div></a>
                    <a href="FloodplainProductions.html" title="Floodplain Productions - virtual record label"><div class="col-md-4" id="div6">
                        <h3>Floodplain Productions</h3>
                    </div></a>
                </div>  
                <div class="row">   
                    <a href="ClassicalCorner.html" title="Classical Corner - A nook dedicated to sharing and categorizing classical music"><div class="col-md-4" id="div7">
                        <h3>Classical Corner</h3>
                    </div></a>
                    <a href="Gallery.html" title="Images, Photographs, and Album Art"><div class="col-md-4" id="div8">
                        <h3>Gallery</h3>
                    </div></a>
                    <a href="Contribute-Support.html" title="Contribute to The Floodplains!"><div class="col-md-4" id="div9">
                        <h3>Contribute / Support</h3>
                    </div></a>
                </div>  
            </div>  
        </body>
    

    我尝试将“col-md-3”作为上述代码中的第二个类添加到div中,同时添加控制颜色悬停效果的“col-md-4”。问题是,我认为这种方法不起作用,但我不太确定该怎么做。到目前为止,我正在使用“col-md-4”颜色悬停效果-这是有效的-但让阴影效果同时工作是我还没有弄清楚的事情。

    所以现在-悬停时-盒子会变成橙色/黄色的透明阴影。有没有一种方法可以让阴影动画和颜色变化悬停同时工作?所以基本上我只需要一个悬停动画添加到这里已经在 http://thefloodplains.com网站/ .

    提前谢谢你的时间。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Ali    7 年前

    你在找这个吗? Fiddle

    我添加了 .col-md-4 . 请检查代码…

        2
  •  2
  •   billy.farroll    7 年前

    为效果创建一个新类,即 气垫船 添加以下代码:

    body {
      background-color: white;
    }
    
    .hovernow {
      background-color: red;
      width: 100px;
      height: 100px;
      margin: 10px;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
      transition: box-shadow 0.3s ease-in-out;
    }
    
    .hovernow:hover {
      box-shadow: 0 5px 15px rgba(0, 0, 0, 0.8);
    }
    <div class="hovernow">
    
    </div>

    然后添加这个类 .hovernow 去你喜欢的地方 悬停 要应用到的效果。