Dlaczego nie zrobiono shorthand dla skali szarości w css?

0

Mamy coś takiego

color: #adc;

i to znaczy to samo co

color: #aaddcc;

Dlaczego więc nikt nie wpadł jeszcze na to by

color: #fa;
background-color:#7;

znaczyło to samo co

color: #fafafa;
background-color: #777777;
0

Może dlatego, że składnia css3 i tak się rozrasta zbyt szybko, a przeglądarki w najlepszym razie 6x% obsługują?

0

Bo to bez sensu i jest nieczytelne, ustawiasz wartość dla każdej zmiennej RGB.
Czym według ciebie zapis #7 jest lepszy od #777? Oszczędziłeś 2 znaki?

0

A czy te dwa rozwiązania nie mogą istnieć równocześnie?

Czym według ciebie zapis #7 jest lepszy od #777? Oszczędziłeś 2 znaki?

W takim razie w czym "#adc" jest lepszy od "#aaddcc" skoro nie oszczędzaniem kilku znaków?

0

Cały zapis szesnastkowy można o kant d**y obić. Nikt rozsądny w projektach go nie używa, już prędzej HSL dla bazowych i funkcje kolorystyczne a preprocesor ci zamienia na skompresowana wersje. Przeciez po takim zapisie nie jesteś w stanie określić koloru jeśli nie wykułes sobie go na pamięć. To jedna z wielu pomyłek w css niestety i łata się je w lessie, sassie czy innym stylusie.

4

Zapis szesnastkowy jest tak samo czytelny jak RGB. No chyba, że ktoś nie potrafi się posługiwać systemem szesnastkowym, ale to już jego problem.

0
TomRiddle napisał(a):

A czy te dwa rozwiązania nie mogą istnieć równocześnie?

Czym według ciebie zapis #7 jest lepszy od #777? Oszczędziłeś 2 znaki?

W takim razie w czym "#adc" jest lepszy od "#aaddcc" skoro nie oszczędzaniem kilku znaków?

Są czytelne, równoważne ze sobą i z zapisem RGB. Twój zapis jest nieczytelny, na dłuższą metę bezużyteczny i dopuszcza użycie 1, 2, 3 lub 6 znaków do zapisu jednego koloru. A przykład użycia zapisu dwuznakowego, jak dla mnie, zakrawa o szaleństwo.

Znasz jakieś aplikacje korzystające z takiej formy zapisu koloru?
Nawet heksadecymalny zapis używający 3 znaków jest mało użyteczny bo znacznie ogranicza paletę kolorów.

ly000 napisał(a):

Zapis szesnastkowy jest tak samo czytelny jak RGB. No chyba, że ktoś nie potrafi się posługiwać systemem szesnastkowym, ale to już jego problem.

Bo to jest zapis RGB

@Sand24: Zaraz tutaj ktoś z dtp wyskoczy, że CMYK ponad wszystko...
Są jakieś monitory/wyświetlacze działające z użyciem HSL?

Sorry panowie, ale mówimy tutaj o wyświetlanie koloru na monitorach, a nie o obróbce grafiki.

2

Nie wiem "dlaczego", ale widzę w tym większy sens niż w trójznakowych, które w zasadzie do niczego nie służą.

A po co? Po to że łatwiej napisać #75 niż #757575 i łatwiej zmienić dwa znaki niż sześć, pilnując żeby trzy pary były równe.

0

Cóż popraw mnie jeżeli się mylę, ale to jest twój zakres kolorów dla jednoliterowego zapisu
000, 111, 222, 333, 444, 555, 666, 777, 888, 999, aaa, bbb, ccc, ddd, eee, fff
dla dwuliterowego ta linia staje się przekątną

0

Nie wiem czy każdy wypowiadający się tutaj zna znaczenie słowa "shorthand" :/

Bynajmniej nie chodziło mi o to żeby 1/2 znakowy zapis zastąpił stary całkowicie, ani też nie chciałem wymyślać jakiegoś super nowatorskiego sposobu reprezentowania barw; tylko o to żeby oprócz zapisu #acacac oraz #bbb był dostępny jeszcze #ac oraz #b, który rozwijałby się do #ac -> #acacac zupełnie tak samo jak #adc -> #aaddcc.

Poza tym nigdy nie używałem w css niczego innego niż zapis hex (6 i 3 znakowy, gdyby były 1 i 2 to też ich bym używał), a przecież własnie o css mowa (patrz tytuł).

Nie mówcie mi że ani razu nie wpisaliście nigdzie #f00 zamiast #ff0000 :| Dam sobie rękę uciąć że gdyby można było zapisać też jednym lub dwoma znakami 95% programistów korzystałoby z tego.

Z resztą przynajmniej ja "na czuja" wpisuje z palca tylko odcienie szarości, więc coś takiego bardzo by mnie urządzało. Do operowania kolorkami i tak używam tych fikuśnych color pickerów które konwertują rgb > hlv > hls > cmyk > smth

0
TomRiddle napisał(a):

Poza tym nigdy nie używałem w css niczego innego niż zapis hex

Ja też :p jedynie rgba gdy trzeba przezroczystości ;)

0

Ja w zasadzie też, z bardzo prozaicznego powodu. Program kolorgenerator, którego używam do "kradzieży" kolorów z ekranu używa zapisu hex.

0

To już wisi na liście propozycji od 2011 > http://lists.w3.org/Archives/Public/www-style/2011Dec/0070.html

ło Omnissiahu... ile tego > https://www.w3.org/Search/Mail/Public/search?keywords=16+grayscale+shades&hdr-1-name=subject&hdr-1-query=&index-grp=Public_FULL&index-type=t&type-index=www-style

2
TomRiddle napisał(a):

Bynajmniej nie chodziło mi o to żeby 1/2 znakowy zapis zastąpił stary całkowicie

i nigdy w żaden sposób nie zastąpi bo jest to niemożliwe (2563 kolorów vs 163 vs 162 vs 16)

TomRiddle napisał(a):

Nie wiem czy każdy wypowiadający się tutaj zna znaczenie słowa "shorthand" :/

Bynajmniej nie chodziło mi o to żeby 1/2 znakowy zapis zastąpił stary całkowicie, ani też nie chciałem wymyślać jakiegoś super nowatorskiego sposobu reprezentowania barw; tylko o to żeby oprócz zapisu #acacac oraz #bbb był dostępny jeszcze #ac oraz #b, który rozwijałby się do #ac -> #acacac zupełnie tak samo jak #adc -> #aaddcc.

Poza tym nigdy nie używałem w css niczego innego niż zapis hex (6 i 3 znakowy, gdyby były 1 i 2 to też ich bym używał), a przecież własnie o css mowa (patrz tytuł).

Nie mówcie mi że ani razu nie wpisaliście nigdzie #f00 zamiast #ff0000 :| Dam sobie rękę uciąć że gdyby można było zapisać też jednym lub dwoma znakami 95% programistów korzystałoby z tego.

Z resztą przynajmniej ja "na czuja" wpisuje z palca tylko odcienie szarości, więc coś takiego bardzo by mnie urządzało. Do operowania kolorkami i tak używam tych fikuśnych color pickerów które konwertują rgb > hlv > hls > cmyk > smth

Dlatego dostałeś obrazki żeby zobaczyć o co prosisz, jak jesteś zbyt zmęczony żeby doklepać 2 znaki to przecież od tego masz IDE i wszelakie skróty klawiszowe
Za to jak już się bawisz narzędziami typu firebug czy podobnymi/dostarczanymi z przeglądarką, to tam też klepać nic nie musisz bo wystarczy wcisnąć kursor w górę/dół po zaznaczeniu koloru

Po co w specyfikacji dodatkowe zamieszanie, by ktoś mógł 256 odcieni szarości "szybciej" dopisać. Równie dobrze można poprosić o shorthandy dla słów kluczowych nazywających kolory, typu:
color: r;
zamiast
color: red;
Dlatego uważam, że jest to zupełnie zbędne i nie ma większego sensu, a użycie ogranicza się do tych 256 odcieni szarości.
I nie musimy się tutaj zgadać bo nie o to chodzi ;)

@Sand24 za to uczepił się etapu projektowania, który przy kodowaniu strony powinien być zakończony - więc problem nie istnieje; obraził się i wyszedł.

5

Jeżeli #a oznacza #aaaaaa, a #ab oznacza #ababab, to logiczną konsekwencją byłoby, aby #abc oznaczało #abcabc.

Jeżeli natomiast #abc oznacza #aabbcc, to #ab powinno oznaczać #aaabbb.

Poza tym, powinniśmy wtedy dopuścić też zapis cztero i pięcio-znakowy, np. #abcd, #abcde. Nie wiem co to miałoby znaczyć, ale czemu nie? Coś można wymyślić, np. powtarzanie pierwszego (lub ostatniego) znaku aż uzyskamy 6. Albo środkowego. Bo programowanie nie musi być nudne :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1