css3 - css before作为父级元素的背景色遮住了文字怎么办?
巴扎黑
巴扎黑 2017-04-17 11:52:45
0
5
967
//less
.mk-nav{
  li{ 
    position: relative;
    &:before{ position: absolute; content: ''; top:0; left:0; background:@mkcolor4;transform:scale(0);}
    &:hover:before{transform:scale(1);}
  }
}
//html
<ul class='mk-nav'>
    <li>首页</li>
    <li>简介</li>
</ul>

li相对定位,before绝对定位,鼠标滑过想让before作为li的背景色,这样就不用再加标签了,但是发现before遮住了li里面的文字

之所以不给li设置background是因为我想通过before的高度做一个交互小动画


我想到一个方法就是降低透明度,opacity:.15;,发现是可行的,文字漏出来了,点击文字链接竟然也能触发,这一点颇为神奇。

巴扎黑
巴扎黑

全部回覆(5)
Peter_Zhu

遮住的話你用rgba不就透過來了…但還是不明白這個互動是要做什麼,li:hover不一樣可以做動畫互動麼

迷茫

那你為什麼不直接給li設定。 。 。 。 background

Peter_Zhu

:hover不行嗎?

Peter_Zhu

好像絕對定位總是會浮動到元素的最上層的(相對於其他定位方式)。所以用絕對定位的元素做背景怕是不行。題主你可以考慮換換試試,把li設成絕對定位。

巴扎黑

你也可以這樣:

  • 首頁
  • ,(給文字一個標籤包裹起來),然後給偽類befor設定z-index:-666(負值),給a標籤設定z-index :10(正值),然後就看到文字在偽類的上面了
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板