搜尋

首頁  >  問答  >  主體

css3 - css before作为父级元素的背景色遮住了文字怎么办?

//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;,发现是可行的,文字漏出来了,点击文字链接竟然也能触发,这一点颇为神奇。

巴扎黑巴扎黑2778 天前969

全部回覆(5)我來回復

  • 天蓬老师

    天蓬老师2017-04-17 11:54:45

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

    回覆
    0
  • 迷茫

    迷茫2017-04-17 11:54:45

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

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 11:54:45

    :hover不行嗎?

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 11:54:45

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

    回覆
    0
  • 巴扎黑

    巴扎黑2017-04-17 11:54:45

    你也可以這樣:

  • 首頁
  • ,(給文字一個標籤包裹起來),然後給偽類befor設定z-index:-666(負值),給a標籤設定z-index :10(正值),然後就看到文字在偽類的上面了

    回覆
    0
  • 取消回覆