CSS štýl padding-vľavo. Nastavenie okraja doľava pomocou padding-left. NPM a ľavý pad: zabudli sme, ako programovať? Zabudli sme, ako sa programuje

Prehliadač Nettscape Opera Mozilla Firefox
Verzia 5.5 6.0 7.0 8.0 8.0 9.0 7.0 8.0 9.2 9.5 1.3 2.0 3.1 1.5 2.0 3.0
Podporované Áno Áno Áno Áno Áno Áno Áno Áno Áno Áno Áno Áno Áno Áno Áno Áno

stručná informácia

Popis

Nastaví hodnotu okraja od ľavého okraja obsahu prvku. Okraj označuje vzdialenosť od vnútorného okraja rámu prvku k pomyselnému obdĺžniku, ktorý ohraničuje jeho obsah (obr. 1).

Syntax

padding-left: value | auto

Argumenty

Hodnota ľavého okraja môže byť špecifikovaná v pixeloch (px), percentách (%) alebo iných jednotkách prijateľných pre CSS (CSS). Argument auto určuje, že veľkosť poľa bude automaticky vypočítaná prehliadačom.

ShTML 4.01 CSS (TsSS) 2.1 IE 5.5 IE 6 IE 7 Op 9.5 Sa 3.1 Ff 2.0 Ff 3.0

polstrovanie-vľavo

Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.

Výsledok tento príklad ani znázornené na obr. 2.

Ryža. 1. Použitie parametra padding-left

Nastaví hodnotu okraja od ľavého okraja obsahu prvku. Okraj je vzdialenosť od vnútorného okraja rámu prvku k pomyselnému obdĺžniku, ktorý ohraničuje jeho obsah (obr. 1).

Syntax

padding-left: value | auto

Argumenty

Hodnota ľavého okraja môže byť špecifikovaná v pixeloch (px), percentách (%) alebo iných jednotkách prijateľných pre CSS. Argument auto určuje, že veľkosť poľa bude automaticky vypočítaná prehliadačom.





polstrovanie-vľavo



Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat.



Výsledok tohto príkladu je znázornený na obr. 2.

Ryža. 1. Použitie parametra padding-left

CSS štýl padding-left určuje veľkosť výplne (vzdialenosť od vnútorného okraja rámu prvku k pomyselnému obdĺžniku ohraničujúcemu jeho obsah) vľavo.

Stručné informácie o vlastnosti CSS padding-left

Pravidlá pre zápis vlastnosti padding-left

výplň vľavo:<размер>;

Hodnota ľavého okraja môže byť špecifikovaná v pixeloch (px), percentách (%) alebo iných jednotkách prijateľných pre CSS.

Objektový model

Object.style.paddingLeft

Príklad použitia štýlu padding-left

Ukážme si, ako funguje padding-left na príklade. Potrebujeme, aby bol okraj na ľavej strane väčší ako na ostatných stranách. Je to potrebné, aby sa text nedostal do obrázka na pozadí.

Použitie vlastnosti padding-left Príklad CSS štýlu padding-left
Potrebujeme, aby bol okraj na ľavej strane väčší ako na ostatných stranách. Pomôže nám v tom vlastnosť CSS padding-left.

Namiesto písania padding: 5px; a potom padding-left: 90px; mali by sme napísať padding: 5px 5px 5px 90px; . Toto je oveľa kratšie a ukazuje vyššiu úroveň rozloženia.

(David Haney), vedúci softvérový inžinier, Stack Overflow

Takže, vývojári, čas na seriózny rozhovor. Pravdepodobne ste si už vedomí toho, že React, Babel a mnoho ďalších populárnych balíkov NPM sa tento týždeň pokazili. Dôvod je celkom prekvapivý.

Jednoduchý balík NPM s názvom left-pad bol nainštalovaný ako závislosť v balíkoch React, Babel a ďalších. Modul, ktorý má v čase písania tohto príspevku na Githube 11 hviezdičiek (aktuálne 323 – cca). Celý balík pozostáva z 11 jednoduchých riadkov, ktoré implementujú primitívnu funkciu na vkladanie medzier na ľavej strane riadkov. Ak niektorý z odkazov niekedy zomrie, tu je jeho kód:

Module.exports = leftpad; funkcia leftpad (str, len, ch) ( str = String(str); var i = -1; if (!ch && ch !== 0) ch = " "; len = len - str.length; while (+ +i< len) { str = ch + str; } return str; } Что меня беспокоит, так это také veľké množstvo balíkov, kde je nainštalovaný závislosť z jednoduchej funkcie vyplnenia reťazca medzerami, namiesto toho, aby ste strávili 2 minúty a napísali túto základnú funkciu sami.

Keď som sa dozvedel o katastrofe ľavej časti, začal som skúmať ekosystém NPM. A toto som zistil okrem iného:

  • Existuje balík tzv isArray, ktorý sa stiahne 880 000-krát denne, 18 miliónov stiahnutí vo februári 2016. Jemu 72 závislých balíkov NPM. A je to tu celý 1 riadok kódu:
    return toString.call(arr) == "";
  • Existuje balík tzv je-kladné-celé číslo(GitHub), ktorý pozostáva z 4 riadky a kto to včera potreboval 3 ďalšie balíčky pre prácu. Autor odvtedy refaktoroval tak, že balík má teraz 0 závislostí, ale nechápem, prečo to nebolo urobené hneď.
  • Čerstvá inštalácia Babel zahŕňa 41 000 súborov
  • Čistá šablóna aplikácie založená na jspm/npm začína od 28 000+ súborov
To všetko vyvoláva otázku...

Zabudli sme, ako sa programuje?

V ktorom z paralelných svetov sú vyššie uvedené riešenia najlepšie? Ako môžu byť stovky závislostí a 28 000 súborov pre prázdnu šablónu niečo iné ako príliš zložité a bláznivé?

Zdá sa, že členovia ekosystému NPM si vypestovali fetiš pre mikrobalenia. Zdá sa, že namiesto písania akejkoľvek funkcie alebo kódu uprednostňujú inštaláciu závislosti od niečoho, čo napísal niekto iný. Zdá sa mi, že celou úlohou programátora v ekosystéme NPM je napísať čo najmenej kódu, aby prepojil existujúce knižnice a vytvoril niečo nové, čo funguje jedinečným spôsobom pre osobné alebo komerčné potreby.

Funkcie nie sú balíčky

Funkcie sú príliš malé na to, aby sa zmestili do balíka a závislosti. Čisté funkcie nemajú žiadnu súvislosť; Toto sú náhodné útržky kódu a nič viac. Kto potrebuje kosínusovú závislosť? Namiesto toho by sme naozaj chceli závislosť na balíku "trigonometria", ktorý pokrýva veľa zložitých funkcií, ktoré nechceme písať sami. Toto je oveľa viac podobné tomu, ako .NET a iné rámce vytvárajú základnú knižnicu so základnými funkciami. Takáto knižnica bola testovaná tvorcami jazyka a je z veľkej časti zaručená spoľahlivosť, bez chýb.

Problém tretej strany

Neexistuje absolútne žiadna záruka, že to, čo napísal niekto iný, je správne alebo bude vôbec fungovať. Aj keď je všetko správne, je to najlepší spôsob, ako vyriešiť problém? Autor: najmenej, keď si kód napíšete sami, môžete ho jednoducho zmeniť, opraviť chyby a zlepšiť efektivitu. V jednoriadkovej funkcii by nemalo byť príliš veľa chýb.

Po druhé, aj keď je logika v balíku správna, udivuje ma skutočnosť, že vývojári inštalujú závislosti na jednoradových funkciách, ktoré by sami mali vedieť písať so zavretými očami. Ak nedokážete napísať funkciu ľavý blok, je-kladné celé číslo alebo isArray za päť minút (vrátane času vyhľadávania Google), potom vôbec neviete, ako programovať. Do pekla, ktokoľvek z nich môže byť dobrá otázka počas pohovoru ako test, či kandidát vie programovať.

Prepojenie rôznych API nie je predsa programovanie. Toto je nejaký druh šialený tvar hackovanie závislostí, ktoré zahŕňa cloud a preťaženie kódom a zložitosťou, ktorá v skutočnosti nie je potrebná.

A čo je horšie, ak váš kód alebo kód knižnice tretej strany obsahuje chybu alebo kód nefunguje správne, nebudete vedieť, ako ho odladiť alebo opraviť, pokiaľ neviete, ako programovať.

Bojujeme za zníženie závislosti

Každý pridaný balíček pridáva ešte jeden závislosť k vášmu projektu. Závislosť, v podstate slova, je niečo, v čom si potrebu aby kód fungoval. Čím viac závislostí, tým viac bodov zlyhania máte. Nehovoriac o väčšej pravdepodobnosti chyby: overili ste si to u niektorého z programátorov, ktorí napísali tieto funkcie, na ktoré ste denne závislí?

Akceptujte závislosť pre akúkoľvek komplexnú funkcionalitu, ktorej implementácia by bola veľmi časovo náročná a nákladná. Veci ako vrstva prístupu k databáze (ORM) alebo klient ukladania do vyrovnávacej pamäte by sa mali nainštalovať ako závislosti, pretože sú zložité a riziko závislosti stojí za úspory a efektivitu.

Ale prosím, z lásky k programovaniu si tie prekliate základné funkcie napíš sám. Dávať závislosti na jednoriadkové balíčky je úplne šialené. neveríš mi? Stačí sa spýtať vývojárov Reactu, ako prebiehal ich týždeň a či ľutujú, že nenapísali tých 11 riadkov, aby sami vyplnili ľavú stranu riadku medzerami.