Główna » Kodowanie » CSS Shorthand vs. Longhand - Kiedy używać, który

    CSS Shorthand vs. Longhand - Kiedy używać, który

    Stenografia i długopis - jeden jest zwięzły, a drugi precyzyjny. Jedno powstało z braku pragnienia zwięzłości, podczas gdy drugie stoi twardo, aby zachować jasność. Tak czy inaczej, mają swoje cele, wady i zalety, że tak powiem.

    Ten post rzuci trochę światła zarówno na notacje CSS, jak i na notacje długie, jednocześnie stwierdzając, które z nich najlepiej wykorzystać w danej sytuacji.

    Co to jest stenografia??

    Stenograficzna własność jest właściwością, która przyjmuje wartości dla innych zestawów właściwości CSS. Na przykład możemy przypisać wartość dla szerokość granicy, styl graniczny i kolor ramki używając granica sama nieruchomość.

    Gruntownie,

     obramowanie: 1px jednolity niebieski; 

    jest taki sam jak:

     border-width: 1px; border-style: solid; kolor obramowania: niebieski;

    Dzięki temu nie musimy osobno deklarować indywidualnych wartości właściwości (co jest zbędne, czasochłonne i zajmujące dużo miejsca). Zresetuje także pozostałe właściwości deklaracji, co można wykorzystać.

    Jak to działa?

    Jak wcześniej wspomniano, piszemy zestaw innych wartości właściwości w skrócie, kolejność nie ma znaczenia, jeśli wszystkie wartości właściwości w skróconym są innego rodzaju jak w granica. Dla właściwości z podobne rodzaje wartości jak margines, porządek ma znaczenie. W razie wątpliwości pamiętaj o ruchu wskazówek zegara!

    A co jeśli przegapimy jedną lub dwie właściwości w deklaracji? W powyższym przykładzie załóżmy, że zignorowaliśmy styl graniczny.

     border: 1px blue; 

    Nie będziemy już widzieć granic, nie dlatego, że skrócona właściwość nie działa, ale dlatego, że styl graniczny pominęliśmy, otrzymaliśmy wartość domyślną Żaden. W ten sposób zrenderowano stenograficzną własność.

     border: 1px none blue; 

    Teraz upuśćmy 1px dla szerokość granicy i zachowaj pozostałe dwa:

     granica: jednolity niebieski;

    Będziemy mogli zobaczyć granice, tylko z grubszą szerokością, a to dlatego, że szerokość granicy właściwość ma wartość domyślną średni.

     granica: średnio jednolita niebieska; 

    To kończy to dla nas gdy wartość właściwości jest pominięta w deklaracji skróconej, ta właściwość przyjmuje wartość domyślną (nawet jeśli musi zastąpić poprzednią wartość przypisaną do tego samego).

    Jeśli jest border-width: 1px; dla elementu gdzieś wcześniej granica: jednolity niebieski; dla tej samej szerokości będzie granica średni (wartość domyślna), nie 1px.

    Inną rzeczą wartą wspomnienia jest to nie możemy używać wartości takich jak dziedziczyć, Inicjał lub nieoprawny, które są dostępne dla wszystkich właściwości CSS, w notacji skróconej. Jeśli ich użyjemy, przeglądarka nie będzie w stanie dokładnie wiedzieć, która właściwość ma reprezentować wartość w skrócie - cała deklaracja zostanie odrzucona.

    The wszystko własność

    Istnieje jedna skrócona właściwość CSS, która może ustaw wartość dla wszystkich właściwości CSS. Wartości CSS dziedziczyć, Inicjał i nieoprawny mają zastosowanie do wszystkich właściwości, a zatem są to jedyne wartości akceptowane przez wszystko własność.

     div all: initial

    To sprawi, że div element ditch WSZYSTKIE posiadane wartości właściwości CSS i zresetować wartość domyślną w każdym z nich.

    ⚠ Ostrzeżenie

    Nie nadużywajmy wszystko własność. Potrzeba tego może powstać tylko w bardzo rzadkich okolicznościach, gdy nie jesteśmy w stanie dotknąć żadnego poprzedniego kodu CSS elementu, do którego chcemy zastosować tę właściwość.

    Uwaga: Właściwość CSS kolor przyjmuje wartość szesnastkową z notacją skróconą, jeśli dwie liczby wartości szesnastkowych w każdym kanale kolorów są takie same. Na przykład, tło: # 445599; jest taki sam jak tło: # 459;.

    Co to jest własność longhand?

    The indywidualne właściwości które mogą być zawarte w skróconej właściwości, nazywane są właściwościami długimi. Niektóre przykłady to; zdjęcie w tle, margines lewy, czas trwania animacji, itp.

    Dlaczego powinniśmy go używać?

    Mimo że skrótowe alternatywy są przydatne, mają wadę. Pamiętaj na początku, że widzieliśmy, jak skrócone zastępuje wszystkie pominięte właściwości wartościami domyślnymi? Może to stanowić problem, jeśli reset nie jest pożądany.

    Weź czcionka na przykład skrótowa właściwość. Użyjmy tego w h4 element (który ma domyślny styl przeglądarki waga czcionki: pogrubiona)

     czcionka: 20px „kurier nowy”; 

    W powyższym skróconym kodzie nie ma wartości dla grubość czcionki własność, stąd waga czcionki: pogrubiona(domyślny styl przeglądarki) zostanie zastąpiony wartością domyślną waga czcionki: normalna powodując h4 element, aby stracić swój śmiały styl, który może nie być zamierzony.

    Tak więc dla powyższego przykładu proste dwie właściwości długich, rozmiar czcionki i rodzina czcionek są idealne.

    Również używając skrótów dla przypisanie tylko jednej lub dwóch wartości właściwości nie jest zbyt przydatne. Po co dawać przeglądarce dodatkową pracę w interpretowaniu każdej pojedynczej właściwości (w tym tej lewej) w skrócie, gdy tylko jedna jest potrzebna do pracy?

    Pomijając produkcję, w fazie rozwoju niektórzy programiści (zwłaszcza początkujący) mogą uznać, że używanie długiej notacji jest o wiele łatwiejsze do pracy niż skrótowe lepsza czytelność i przejrzystość.

    Wniosek

    Obecnie, z możliwością szybkiego kodowania (za pomocą narzędzi takich jak Emmet) i minifikacji, wysoka niezawodność skrótów nie jest potrzebna, ale jednocześnie jest to logiczne do wpisania margines: 0;. Kontekst, w którym preferujemy nasze notacje CSS, będzie się różnić i wszystko, co musimy zrobić, to dowiedzieć się, który zapis będzie dla nas najlepszy i kiedy.