Mae RGB yn dweud wrth sgrin pa mor llawer o olau i'w allyrru; mae HSL yn dweud wrthych sut mae'r lliw yn edrych mewn gwirionedd. Mae troi'r tri sianel i hue, saturation a lightness yn gwneud lliw yn hawdd ei addasu â llaw.
Sut mae trosi RGB i HSL yn gweithio
- Rhaniwch R, G a B â 255 fel bod pob gwerth rhwng 0 a 1.
- Cymerwch y mwyaf a'r lleiaf o'r tri — mae eu cyfartaledd yn ysgafnder L.
- Os yw'r mwyaf a'r lleiaf yr un fath, mae'r lliw yn lwyd: mae hue a saturation y ddau yn 0.
- Yn arallwg, derbynnwch S o'r gwahaniaeth rhwng y mwyaf a'r lleiaf, a darllenwch H o ba sianel bynnag sydd ar y mwyaf.
Enghraifft wedi gweithio
Yn union mewn egwyddor. Gan fod H, S a L fel arfer yn cael eu dangos fel rhifau wedi'u hamgylchynu, gall troi yn ôl symud sianel un neu ddau gam.
RGB a HSL wedi'u hamlygu
Beth yw RGB?
Mae RGB yn disgrifio lliw fel tri sianel o olau — coch, gwyrdd a glas — pob un rhwng 0 a 255. Mae'n adlewyrchu sut mae sgriniau'n gweithio mewn gwirionedd: pob un ar 255 yn rhoi gwyn, pob un ar 0 yn rhoi du. Mae RGB yn ddewis cywir pan fydd angen i ti gyfrifo gyda lliw, ac mae rgba() yn ychwanegu tryloywder uwchben.
- Sintacs:
- rgb(R, G, B)
- Amrediad:
- 0–255 fesul sianel
- Gorau ar gyfer:
- cod, canvas, tryloywder gyda rgba()
Beth yw HSL?
Mae HSL yn rhannu lliw yn hue (0–360° ar olwyn lliw), saturation (pa mor lliwgar, 0–100%) a lightness (pa mor ddisglair, 0–100%). Gan fod pob rhan yn cyfateb i'r ffordd mae pobl yn disgrifio lliw, mae HSL yn y fformat hawsaf ar gyfer creu tints, shades a phaletau cyson — â llaw neu mewn cod.
- Sintacs:
- hsl(H, S%, L%)
- Amrediad:
- 0–360°, 0–100%, 0–100%
- Gorau ar gyfer:
- paletau, tints a shades, theming
tabl cyfeirnod RGB i HSL
Y lliwiau CSS mwyaf cyffredin, wedi'u trosi o RGB i HSL.
| Lliw | RGB | HSL |
|---|---|---|
| black | rgb(0, 0, 0) | hsl(0, 0%, 0%) |
| white | rgb(255, 255, 255) | hsl(0, 0%, 100%) |
| red | rgb(255, 0, 0) | hsl(0, 100%, 50%) |
| lime | rgb(0, 255, 0) | hsl(120, 100%, 50%) |
| blue | rgb(0, 0, 255) | hsl(240, 100%, 50%) |
| yellow | rgb(255, 255, 0) | hsl(60, 100%, 50%) |
| orange | rgb(255, 165, 0) | hsl(39, 100%, 50%) |
| teal | rgb(0, 128, 128) | hsl(180, 100%, 25%) |
| purple | rgb(128, 0, 128) | hsl(300, 100%, 25%) |
| gray | rgb(128, 128, 128) | hsl(0, 0%, 50%) |