如何将整个元素悬停以显示详细信息

时间:2014-11-13 22:18:26

标签: html css

我正在创建一个“投资组合”部分,其中包含2个缩略图,第一个位于块顶部,第二个位于底部。

这就是我想要的: http://i.imgur.com/PRENiPV.png

JSFiddle

我有一个问题,我将鼠标悬停在底部的图片上,它有一个margin-top: 200px然后当我只是悬停它时我刚删除了那些margin-top:0;这不是我想要的,我想对整个元素进行悬停效果,如果您将图像放在顶部或底部的图像上,则悬停效果会激活。

如果你们给我一个更好的结构,非常有价值的论据我可以改变我的:)

我将HTML和CSS留在下面,以便你们可以帮我弄清楚如何解决这个问题。

HTML:

           <div class="col-lg-3">
                <div class="portfolio-item">
                    <a class="portfolio-image" href="#">
                        <div class="portfolio-image-one">
                            <img src="../img/portfolioweb/1.jpg" alt="Thumbnail" />
                        </div>
                    </a>
                    <a class="portfolio-info" href="#">
                        <div class="portfolio-logo-one">
                            <img src="../img/portfolioweb/1l.jpg" alt="Logo" />
                        </div>
                        <p class="porfolio-brief-info">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Temporibus nam nobis consectetur.</p>

                        <p class="portfolio-info-link">Learn More</p>
                    </a>
                </div>
            </div>

CSS:

.portfolio-web
{
    background: #f5f5f5;
    padding: 20px 0;
}
.portfolio-container
{
    margin: 40px 0;
}
.portfolio-tagline
{
    font-family: 'Oswald', Arial, sans-serif;
    font-size: 3em;
    font-weight: 400;
    text-transform: uppercase;
    text-align: center;
    margin: 30px 0;
}
.portfolio-item
{
    background: white;
    width: 100%;
    height: 280px;
    margin-top: 20px;
    overflow: hidden;
    position: relative;
    vertical-align: top;
}
.portfolio-image
{
    cursor: default;
}
.portfolio-image-one
{
    width: 100%;
    height: 200px;
}
.portfolio-info
{
    background: white;
    margin-top: 200px;
    position: absolute;
    left: 0;
    top: 0;
    height: 280px;
    text-align: center;
    text-decoration: none;
    transition: all 0.5s ease;
}
.portfolio-info:hover
{
    margin-top: 0;
    text-decoration: none;
}
.portfolio-logo-one
{
    width: 100%;
    height: 80px;
    vertical-align: middle;
}
.porfolio-brief-info
{
    color: #909090;
    font: 13px/20px 'Open Sans', Arial, sans-serif;
    margin: 0;
    padding: 10px;
}
.portfolio-info-link
{
    color: #ff8e01;
    font: 14px/20px 'Open Sans', Arial, sans-serif;
    padding: 10px;
    font-weight: bold;
}

谢谢。

2 个答案:

答案 0 :(得分:1)

要实现对整个元素的悬停效果,可以使用CSS组合器:

.portfolio-item:hover > .portfolio-info
{
    margin-top: 0;
    text-decoration: none;
}

而不是

.portfolio-info:hover
{
    margin-top: 0;
    text-decoration: none;
}

答案 1 :(得分:0)

试试这个,

JSFiddle

<强> CSS

.portfolio-item:hover > .portfolio-info
{
    color: #909090;
    font: 13px/20px 'Open Sans', Arial, sans-serif;
    margin: 0;
    padding: 10px;

    /* ADDED */
    position: absolute;
}

.portfolio-info-link
{
color: #ff8e01;
font: 14px/20px 'Open Sans', Arial, sans-serif;
padding: 10px; 
padding-top: 100px; /*Increased to accommodate wrapped text */
font-weight: bold;
}