溢出:隐藏的隐藏边框,但不是溢出的元素

时间:2014-02-01 20:41:04

标签: css overflow hidden

我正在处理带有转换的标头。但有些东西不起作用。

我制作了ul 120px和li 60px。 我给了李:悬停一个translateY(-60px)。当你将鼠标悬停在li上时,它会弹出。

我希望隐藏溢出的内容,直到将鼠标悬停在它上面。但它似乎没有用。它确实悬停隐藏了溢出的李的边界。

有人知道为什么吗?

提前谢谢你!

<header>
    <ul>
        <li>
            <a id="p1" href="#">Vibe</a>

            <a id="p2" href="#">Vibe</a>
        </li>
        <li>
            <a id="p1" href="#">Creations</a>

            <a id="p2" href="#">Creations</a>
        </li>
        <li>
            <a id="p1" href="#">Vision</a>

            <a id="p2" href="#">Vision</a>
        </li>
        <li>
            <a id="p1" href="#">Just tell us</a>

            <a id="p2" href="#">Just tell us</a>
        </li>
    </ul>
</header>

这就是css

header {
height: 60px;
width: 100%;
background-color: #34495e;
}

header ul  {
    margin-right: 20px;
    float: right;
    height: 60px;   
    overflow: hidden;
}

header ul li {
    display: inline-block;
    height: 120px;
    padding-left: 40px;
    padding-right: 40px;
    overflow: hidden;
    -webkit-transition: -webkit-transform 0.2s ease-in-out;
    overflow: hidden;
    border-left: 1px solid #2c3e50;
}

header ul li a {
    text-decoration: none;
    line-height: 60px;
    font-size: 14px;
    font-family: "lato", sans-serif;
    font-weight: 700;
    color: #e74c3c;
    text-transform: uppercase;
    -webkit-transform: rotate(10deg);
}

#p2 {
    position: absolute;
    text-align: center;
    color: #c0392b;
    line-height: 60px;
}

header ul li:hover {
    -webkit-transform: translateY(-60px);   
}

2 个答案:

答案 0 :(得分:2)

添加

position: relative;

到你的ul课程

这是jsfiddle http://jsfiddle.net/2jabu/

答案 1 :(得分:1)

这是一个可能适合您的解决方案:

<强> Example Fiddle

第一个ID应保留用于单次使用。你的#p1&amp; #p2会更好地写成类。要解决您的问题,您只需要在最高级别的容器上overflow:hidden;,在这种情况下是标题。此外,由于您已经给出#p2绝对位置,因此您还需要提供标题position:relative;

CSS:

header {
  // existing styles

  position: relative;
  overflow: hidden;
}