ugrás a tartalomhoz

Radio és checkbox inputok és a CSS

Arnold Layne · 2017. Május. 25. (Cs), 11.31
Sziasztok!

Minap elkezdtem újból foglalkozni egy keveset a webes frontenddel és beleszaladtam abba, hogy a checkbox és radio inputokat nem lehet csak úgy kedvünkre átrajzolni/átszínezni plusz DOM elem nélkül. Ebbe beleértem az ::after és ::before CSS trükközést is. Van még az appearance CSS3 tulajdonság, bár úgy látom, ott még tart a böngészők közti zűrzavar.

Igazából nem is az a kérdés hogyan lehet úrrá lenni ezen, mert kismillió és egy kerülőmegoldás ismert. Sokkal inkább az, hogy miért alakult ez így? Button, textarea és még pár másik form elemre hatnak a megjelenést változtató tulajdonságok, a fentebbi kettőre viszont nem, de legalábbis nem egyformán. Biztonsági okokból? UX? Vagy csak jóvanazúgy, meg különben se akarjon mindent kiszinezni a designer és/vagy webfejlesztő?
 
1

Felépítés

Hidvégi Gábor · 2017. Május. 26. (P), 09.32
Ez igazából a működésükből és összetettségükből adódik. Ezek az elemek nem egy egyszerű HTML elemek egy háttérképpel, hanem az egyébként stílusozható háttéren felül legalább két logikai részből állnak, az alsón van a kép. Felette pedig az opcionális fókusz négyszög, melynek nagysága számolt, kiterjedése pedig függ a böngésző vagy az operációs rendszer algoritmusától, amit a kép és a HTML elem méretéből számít.
2

Szerintem most már több

sly · 2017. Május. 27. (Szo), 12.09
Szerintem most már több formázási lehetőséget is lehetne biztosítani ezekre az elemekre. Régen még az operációs rendszer által szolgáltatott vezérlőket használta a böngésző. Gondolom már sajátot használ, főleg ha platformfüggetlen is az adott böngésző.
Tehát szerintem inkább történelmi okai vannak ahogy én látom.
3

Lehet

Hidvégi Gábor · 2017. Május. 27. (Szo), 18.49
Ezek az elemek két részből állnak: a keret vagy kör a háttérben, meg a pipa vagy pötty. Ki kéne találni, hogyan lehessen CSS-ből ezeket "megcélozni".

Egyébként nem tudom, mennyire jó ötlet, hogy mindenféle önjelölt újító dizájner a felismerhetetlenségig csűrje ezeket az elemeket.
4

Eddig is

Arnold Layne · 2017. Május. 27. (Szo), 19.54
Ki kéne találni, hogyan lehessen CSS-ből ezeket "megcélozni".

Majdnem ugyanúgy, ahogy az inline-block elemeket. Méretre width és height, megjelenésre border, background, color és akár content, bár ez utóbbiban nem vagyok teljesen biztos.

Ami meg az önjelölt dizájnereket illeti eddig is elérték, hogy legyen meg az ő akaratuk. A frontendesek az input fölé tettek egy spant, azzal meg már könnyebb volt dolgozniuk. Vagy alá, nem tudom az inputnak lehet-e piszkálni az áttetszőségét.
5

Célzás

Hidvégi Gábor · 2017. Május. 29. (H), 07.26
A megcélzással arra céloztam, hogy mondjuk a rádió elemen belüli keret és gomb elemeket el lehessen érni: .radio ::background { és .radio ::button {

Az meg, hogy rádiónként/checkboxonként egy új HTML elem kerül a fába, szerintem tök lényegtelen, nem ettől lesz lassú az oldal.