【问题标题】:transition with css3使用 css3 过渡
【发布时间】:2013-03-23 03:33:04
【问题描述】:

有人知道如何在我的文本下自动添加一行吗? here is my animation

<div class="line"><div>behance.net</div>
</div>
<br>
<div class="line"><div>google.pl</div>
</div>
<br>
<div class="line"><div>twitter.com</div>
</div></br>

CSS

.line{
    font-family:Tahoma;
    width:0px;
    position: absolute;
    background:black;
    transition:width 0.4s ease ;
}

div:hover{
    position: absolute;
    width:86px;
}
.line div{
    background:#fff;
    position:relative;
    bottom:1px;
}

在第一个示例中,一切正常,线宽还可以,但在其他示例中没有。

【问题讨论】:

    标签: html css animation hyperlink transition


    【解决方案1】:

    你可以试试这个 - DEMO

    HTML

    <div class="line">behance.net <span></span></div> <br />
    <div class="line">google.pl <span></span></div> <br />
    <div class="line">twitter.com <span></span></div> <br />
    

    CSS

    .line {
        font: 400 1em Tahoma;
        margin: 5px;
        display: inline-block;
        overflow: hidden;
        padding: 2px 0;
        position: relative;
    }
    
    .line span {
        display: block;
        position: absolute;
        left: -90px;
        bottom: 1px;
        height: 1px;
        width: 100%;
        background: #c00;
        -webkit-transition: all .4s;
    }
    
    .line:hover span {
        left: 0;
    }
    

    【讨论】:

    • 我发现了一个问题。当标题较长时,问题再次出现。
    【解决方案2】:

    另一种标记较少的解决方案:

    demo

    <div class='line'>behance.net</div><br>
    <div class='line'>google.pl</div><br>
    <div class='line'>twitter.com</div><br>
    

    CSS:

    .line {
      display: inline-block;
      position: relative;
      background-position: -85px 0;
      transition: 1s;
      cursor: pointer;
    }
    .line:before {
      position: absolute;
      right: 0; top: 0; bottom: 0; left: 0;
      background: linear-gradient(0deg, crimson 1px, transparent 1px) no-repeat;
      background-position: inherit;
      background-size: 100% 100%;
      color: transparent;
      content: '';
    }
    .line:hover { background-position: 0 0; }
    

    注意

    我的演示使用-prefix-free,它根据需要添加前缀。 WebKit 浏览器仍然需要 transitionsgradients 的前缀。您必须自己在代码中添加这些内容。当你这样做时,请记住总是无前缀放在最后

    【讨论】:

    • 什么意思?对我来说完美吗?我添加了现场演示的链接。
    • 好的,现在很好,但是,当标题更长时,问题又出现了。像上面一样。
    • 是的,您必须更改 background-position 的值。从-85px-285px 或至少与您最大标题的width 一样大的负值。
    • 对,在较大的文本的情况下是一个小的延迟,但这是小事一桩。感谢您的帮助。
    猜你喜欢
    • 2013-02-13
    • 2012-03-26
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 2011-08-30
    • 2012-09-05
    • 2013-06-11
    • 2015-04-20
    相关资源
    最近更新 更多