css3 - css before作為父級(jí)元素的背景色遮住了文字怎么辦?
問題描述
//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>首頁(yè)</li> <li>簡(jiǎn)介</li></ul>
li相對(duì)定位,before絕對(duì)定位,鼠標(biāo)滑過想讓before作為li的背景色,這樣就不用再加標(biāo)簽了,但是發(fā)現(xiàn)before遮住了li里面的文字
之所以不給li設(shè)置background是因?yàn)槲蚁胪ㄟ^before的高度做一個(gè)交互小動(dòng)畫
我想到一個(gè)方法就是降低透明度,opacity:.15;,發(fā)現(xiàn)是可行的,文字漏出來(lái)了,點(diǎn)擊文字鏈接竟然也能觸發(fā),這一點(diǎn)頗為神奇。
問題解答
回答1:遮住的話你用rgba不就透過來(lái)了……但還是不明白這個(gè)交互是要做什么,li:hover不一樣可以做動(dòng)畫交互么
回答2:那你為什么不直接給li設(shè)置。。。。background
回答3::hover不行嗎?
回答4:好像絕對(duì)定位總是會(huì)浮動(dòng)到元素的最上層的(相對(duì)于其他定位方式)。所以用絕對(duì)定位的元素做背景怕是不行。題主你可以考慮換換試試,把li設(shè)成絕對(duì)定位。
回答5:你也可以這樣:<li>首頁(yè)</li>,(給文字一個(gè)標(biāo)簽包裹起來(lái)),然后給偽類befor設(shè)置z-index:-666(負(fù)值),給a標(biāo)簽設(shè)置z-index:10(正值),然后就看到文字在偽類的上面了
相關(guān)文章:
1. css - 如何選擇字體?2. python - 速度最快的啟動(dòng)界面GUI3. javascript - 在頁(yè)面最頂部插個(gè)廣告,怎么做才能不破壞頁(yè)面布局(不影響下面的內(nèi)容)?4. javascript - koa中讀取文件應(yīng)該怎么寫5. css3 - transform的順序不同為何會(huì)使元素的形狀不同。6. python - 如何把152753這個(gè)字符串轉(zhuǎn)變成時(shí)間格式15:27:537. javascript - js判斷一個(gè)數(shù)組是否重復(fù)8. python - 關(guān)于beautifulsoup獲取文檔內(nèi)容9. html5 - video ios不能播放怎么辦?10. mysql - 類似于之類的通知系統(tǒng)如何設(shè)計(jì)數(shù)據(jù)庫(kù)
