Fler och mer nyligen har jag sett utvecklare som använder tricks för att skapa växlande stater med ren CSS. Detta låter dig hoppa över JavaScript utan att offra interaktionen. Hur fungerar detta? Är det en godtagbar praxis?
Idag ska vi undersöka två olika metoder för att använda en kryssruta för att skapa en klickhändelse som byter mellan två bilder med bra gamla HTML och CSS. Vi avslutar med en kort diskussion om semantik och för / nackdelar med denna teknik.
Gilla Skinning a Cat
? Du skapar väsentligen en kryssruta i HTML bara för att dölja den och stjäla sin funktionalitet.?Med något CSS-trick finns det alltid en handfull olika sätt att uppnå den uppgift du syftar till att uppnå. Vad vi ska göra här idag lär oss om hur man använder kryssrutor för att skapa två stater som kan växlas mellan att bara använda HTML och CSS. Med tanke på det målet kan vi lätt komma fram till minst två sätt att uppnå det. Även inom de två huvudstrategierna finner du att det finns flera vägar som vi kan ta.
Båda metoderna innefattar vissa tvivelaktiga CSS-trickery. Du skapar i huvudsak en kryssruta i HTML bara för att dölja den och stjäla dess funktionalitet. Den första metoden sträcker helt enkelt kryssrutan till hela storleken på det område som du vill göra klickbart och använder ingen etikett.
Den andra metoden använder sig av den intressanta funktionaliteten hos etiketter som är associerade med en kryssruta. Även om du gömmer kryssrutan själv kan etiketten faktiskt stylas, placeras och klickas på för att aktivera växeln, vilket ger oss ett helt flexibelt element för att arbeta med det har två möjliga tillstånd.
Låt oss dyka in och titta närmare på var och en av dessa metoder.
Metod 1
Det första sättet att vi ska attackera detta experiment är genom att göra vår kryssruta äta upp hela objektets storlek och sedan gömma den. För att göra detta arbete behöver allt du behöver tekniskt en div som innehåller en kryssruta med en tillämpad klass. Om du vill gå vidare kan du lägga till andra attribut som? Namn ?. Vi slänger också in en bild så vi får något att byta.