2013-03-16 98 views
1

我期待实现像this hover这样的悬停效果,其中图像放大但不会取代周围的div。我已经通过分配相对和绝对位置以及z-index来看到了这一点,但这对我并不适用。也许我将这些值分配给了错误的类。我的代码如下...任何帮助表示赞赏如何在没有移动其他div的情况下放大悬停的div

我并不完全知道如何在这里发表代码,所以......我的网站(和代码的问题)可以看作here

这是我第一次张贴在这里。感谢您的指导。下面是代码...

HTML:

<div class="products-container"> 
    <div class="products-container-inner"> 
     <div class="item"> 
     <div class="item"> 
     <div class="item"> 
     <div class="item"> 

CSS:

div.item { 
    height: 135px; 
    width: 150px; 
    margin: 10px; 
    display: inline-block; 
    float: left; 
} 

div.item:hover { 
    border: none; float: left; 
    height: 280px; 
    width: 280px; 
    background-color: #ffffff; 
    -moz-box-shadow: 0 0 5px rgba(0,0,0,0.5); 
    -webkit-box-shadow: 0 0 5px rgba(0,0,0,0.5); 
    box-shadow: 0 0 5px rgba(0,0,0,0.5); 
    -webkit-transition: .2s ease; 
    -moz-transition: .2s ease; 
    -o-transition: .2s ease; 
    -ms-transition: .2s ease; 
    transition: .2s ease; 
} 

div.products-container-inner { 
    margin: auto; 
    width: 100%; 
    border: none; 
    padding: 10px; 
    overflow: hidden; 
} 

div.item .product-name { 
    text-align: center; 
    display: none; 
} 

div.item:hover .product-name { 
    text-align: center; 
    display: block; 
} 

div.item .price-box { 
    text-align: center; 
    display: none; 
} 

div.item:hover .price-box { 
    text-align: center; 
    display: block; 
} 

div.item .btn {  
    background-color: #EE432E; 
    background-image: -moz-linear-gradient(center top , #EE432E 0%, #C63929 50%, #B51700 50%, #891100 100%); 
    border: 1px solid #951100; 
    border-radius: 5px 5px 5px 5px; 
    box-shadow: 0 0 0 1px rgba(255, 115, 100, 0.4) inset, 0 1px 3px #333333; 
    color: #FFFFFF; 
    font: normal 16px/1 "helvetica neue",helvetica,arial,sans-serif; 
    padding: 3px 0; 
    float: left; 
    margin-left: 65px; 
    text-shadow: 0 -1px 1px rgba(0, 0, 0, 0.8); 
    text-decoration: none; 
    width: 150px; 
    display: none; 
} 

div.item:hover .btn { 
    text-align: center; 
    display: block; 
    background-color: #F37873; 
    background-image: -moz-linear-gradient(center top , #F37873 0%, #DB504D 50%, #CB0500 50%, #A20601 100%); 
    cursor: pointer; 
} 

div.item:active .btn { 
    background-color: #D43C28; 
    background-image: -moz-linear-gradient(center top , #D43C28 0%, #AD3224 50%, #9C1500 50%, #700D00 100%); 
    box-shadow: 0 0 0 1px rgba(255, 115, 100, 0.4) inset; 
} 
+0

我似乎需要登录信息看代码,你可以将它张贴呢?此外,您链接的示例使用两个独立的'div's,它们被设置为'display:none;'或'display:block;'取决于它们是否被徘徊。 – Blieque 2013-03-16 22:08:42

+0

不错的网站--------- – 2013-03-16 22:36:25

+0

你可以直接把它粘贴到问题框中,然后突出显示它并按下CTRL + K(以便标记它(尽管最好尽可能缩小它的范围)它作为代码)。您还可以使用[jsFiddle](http://jsfiddle.net/)搭建一个交互式示例。 – ASGM 2013-03-16 22:56:40

回答

1

在你的,你想达到什么样的例子......没有为同一PIC两个div。
仅在悬停时出现的一个“常规”和一个“悬停”。
这个隐藏的一个是z-index为2,并且显示在第一个...这个让人印象深刻的div。但事实并非如此。
;)

===
编辑: OK RYH,看到这个开始,我为你在这里做......
没有jQuery的,你不会有任何“闪亮效果”像淡入/淡出...
但是,它可能是一个选择做这样的:

CSS:

div.item {width:200px;} 
    div.hover {display:none; position:relative; z-index:2; top:-200px; width:300px;} 

    // The top:-200px is to move the big image up... depends on the small pic height. 
    // And the width are in fonction of the pics width. 

HTML:

<div class="item" id="img1" onmouseover="showbigger(this.id);"> 
    <img src="something.jpg" style='width;200px; height:200px; border:1px solid black;'> 
    </div> 

    <div class="hover" id="img1big" onmouseout="shownormal(this.id);"> 
    <img src="something-bigger.jpg" style='width;300px; height:300px; border:1px solid black;'> 
    </div> 

    <script> 
    function showbigger(ref){ 
    document.getElementById(ref+'big').style.display='inline'; 
    } 

    function shownormal(ref){ 
    document.getElementById(ref).style.display='none'; 
    } 
    </script> 

你将不得不扮演一些定位和图片大小。
这可能不是一个完美的解决方案......但如果你想用JavaScript来做,这是一个开始。

+0

有趣...我想用一个div tho来实现这一点。也许这个小提琴是一个更好的例子....只有我想实现没有jQuery的效果http://jsfiddle.net/rathoreahsan/jKTVn/5/ – Ryh 2013-03-16 23:40:43

+0

我添加了一个例子...希望它有帮助。 – 2013-03-17 01:58:26

+0

谢谢,我看到你要去的地方。你用img1和img1big的id来呼叫什么? – Ryh 2013-03-17 04:14:57

1

HTML中的超链接:

<a href="/index.html" onclick="createPopup">Click Here</a> 

的CSS

a{text-decoration: none; 
    position: fixed; 
    color: #0000ff; 
} 

a:hover { text-decoration: initial; 
    color: #ff0000;  
} 

a:visited {color: #b200ff;} 
相关问题