很多學(xué)過(guò)C3的小伙伴會(huì)知道這么一個(gè)東西,叫做:偽元素。
偽元素是一個(gè)非常有用的東西,它可以擺脫html的束縛,直接在原有的html內(nèi)容前后添加元素,大概是以下這么個(gè)意思:
1476081452658300.png
通過(guò)C3直接添加before和after偽元素后,可以出現(xiàn)如下情況:
1476081579107932.png
好的,這樣一來(lái)就有了兩個(gè)新盒子。但其實(shí)往深想一步,你就會(huì)開(kāi)始思考一個(gè)問(wèn)題,我如何通過(guò)JS來(lái)控制這兩個(gè)偽元素呢?很多初學(xué)者都認(rèn)為這是不可控制的,但事實(shí)上,凡事都會(huì)有解決辦法的,來(lái)看看如下操作:
1476082414871866.png
這樣是否能夠生效呢?我們看一下:
1476082515100418.png
果然有效!不過(guò)...事實(shí)上,你寫(xiě)完上面的步驟,自己都會(huì)覺(jué)得很傻,因?yàn)橥瑯拥男Ч抑恍枰ㄟ^(guò)CSS就可以寫(xiě)了,請(qǐng)看如下:
1476083153605500.png
然后看看結(jié)果:
1476083211913607.png
對(duì)吧?所以JS控制偽元素雖然可行,但還不如CSS3直接修改來(lái)得快!何必多繞一大圈呢?
然而,我發(fā)現(xiàn)網(wǎng)上會(huì)有很多技術(shù)貼,告訴你如何通過(guò)JS控制偽元素,說(shuō)到底都是給div添加類名或id名,然后通過(guò)以上類似的方法來(lái)修改屬性。因此,建議大家直接通過(guò)CSS的層疊性質(zhì)來(lái)修改就足夠了!
一個(gè)人的知識(shí)量是有限的,假如你有更好、更簡(jiǎn)易的方法來(lái)實(shí)現(xiàn)JS控制偽元素,那么歡迎在下方吐槽評(píng)論+技術(shù)分享,讓其他小伙伴也漲漲姿勢(shì)喲!
來(lái)源:
http://bbs.520it.com/forum.php?mod=viewthread&tid=2491