Git Product home page Git Product logo

projekt-cukrarna's Introduction

Cukrárna

Dobrovolný kol pro kurz Staň se kóderkou od Czechitas. Když ho odevzdáš, koučové ti k němu napíšou zpětnou vazbu. Toto je standardní varianta úkolu, více se dozvíš v sekci Obtížnosti úkolu.

Než začneš s projektem cokoliv dělat, přečti si prosím celý tento text až do konce.

Za úkol máš nakódovat design podle grafického návrhu. Jedná se o úvodní stránku webu fiktivní cukrárny. Na výsledný vzhled projektu se podívej na obrázku ukazka-vysledku.jpg.

Možná při pohledu na obrázek padáš do mdlob a nevěříš, že takovou stránku zvládneš nakódovat. A já ti tvrdím, že zvládneš. Nebude to lehké, ale je to naprosto proveditelné. Potřebné znalosti na to už máš.

Ukázka výsledku

Cíl úkolu

Cílem projektu je procvičit si použití různých technik:

  • Flexbox
    • tento úkol je plný flexboxů
    • pomocí flexboxu udělej horní proužek s logem a menu
    • všechny sekce, kde je obrázek a vedle něj text, udělej také flexboxem. Textovou polovinu a obrázek můžeš pomocí flexboxu navzájem k sobě vertikálně vycentrovat.
    • nabídka dortíků je také flexbox, ale to už ti asi bylo jasné dávno
    • na horní banner s cupcaky flexbox nepotřebuješ - to je jenom sekce s obrázkem na pozadí, kde obsah má velký pravý padding (nebo margin)
  • Margin a padding
    • v tomto úkolu nepotřebuješ žádné pozicování - vše vyřešíš jen pomocí flexboxu a marginu a paddingu
    • nezapomeň, že například nadpisy a odstavce mají ve výchozím stylu prohlížeče nastavený margin nahoru a dolů. Někdy je potřeba jeden z těchto marginů vynulovat (např. nad nadpisem), aby se ti nesčítal s paddingem prvku, ve kterém nadpis leží, a nad nadpisem tak nebyla větší mezera než chceš.
    • pamatuj na základní poučku:
      • chci-li obsah prvku odsadit od jeho okraje, použiji padding
      • chci-li odsunout dva prvky od sebe navzájem, použiji margin

Grafické zadání

Všechny potřebné rozměry, použitá písma, barvy, apod. najdeš na obrázku zadani-ukolu.png. Spoustu z těchto informací máš připravenou také v komentáři v souboru style.css.

zadání úkolu

Obtížnosti úkolu

Zadání tohoto projektu je vytvořeno ve dvou úrovních obtížnosti. Tento repozitář obsahuje výchozí standardní úroveň obtížnosti. Pokud máš méně času nebo s úkolem hodně bojuješ, můžeš zkusit lehčí variantu úkolu.

Standardní obtížnost

  • obsažená v tomto repozitáři
  • v HTML najdeš pouze obsahové elementy (nadpisy, odstavce, obrázky)
  • sama si do HTML musíš dopsat další strukturu, která je nutná, abys mohla HTML nastylovat podle grafického zadání
  • musíš vymyslet, do jakých prvků obsah zabalíš a jaké třídy jim přidáš
  • nezapomeň si připojit správná písma z Google Fonts

Lehčí obtížnost

  • dostupná v druhém repozitáři
  • grafické zadání je stejné, ale v HTML je kompletně připravený obsah včetně struktury, obalových prvků a přidaných CSS tříd
  • v HTML už máš připojená písma z Google Fonts
  • v této obtížnosti nemusíš HTML vůbec upravovat - stačí si ho prostudovat, abys věděla jaké prvky/třídy máš stylovat a "jenom" k nim napsat CSS

Je úplně v pořádku, pokud si nakonec zvolíš jednodušší variantu (např. kvůli nedostatku času), ale doporučuji, abys nejprve zkusila standardní obtížnost, kde si musíš sama vytvořit i HTML strukturu a pojmenovat CSS třídy. Není to zase o tolik těžší a v reálném životě ti také nikdo HTML připravovat nebude. Jako kóderka dostaneš grafický návrh a ten budeš muset převést do HTML a CSS. Budeš-li si u bonusových úkolů volit jednodušší obtížnosti, nakonec zjistíš, že sice umíš CSS, ale dělá ti problém vymyslet a napsat si vlastní HTML.

Jak si stáhnout podklady

  1. Udělej si fork této repozitáře - tím se ti úkol zkopíruje do tvého GitHub profilu.
  2. Forknutou repozitář si naklonuj k sobě na disk.

Pokud nevíš, co je to fork repozitáře a jak ho provést, podívej se na krátké video.

projekt-cukrarna's People

Contributors

klatnik avatar lrolecek avatar

projekt-cukrarna's Issues

Zpětná vazba

Ahoj Kačko,

vypadá to dost dobře 👍

Co je třeba opravit:

  • velikost loga má být 170px
  • texty v menu nemají nastylované písmo, měla by tam být Lora
  • hero banner nemá horní a dolní padding 80px
  • text a h1 v hero sekci nejsou odsazené 40% zprava
  • nadpis h2 v sekci Přístup a h3 nejsou obarveny
  • pozor na to, že zápis <div class="produkt dva"> se bude interpretovat tak, ze ten div ma dve tridy, tridu "produkt" a tridu "dva".

Tipy:

  • odkazům bych přidala i pseudotřídu :focus
  • Horní a dolní padding můžeš zapsat i jako jednu vlastnost padding: 80px 0; .
  • Kdybys i z hero banneru udělala section, tak bys pak mohla napsat třeba
section {
  padding: 80px 0;
}

a ušetříš si to psát u každé sekce zvlášť. Když to pak chceš měnit, změníš to jen na jednom místě.
To by šlo např i u těch nadpisů, dát např. h2 a h3 stejnou barvu v rámci vícenásobného selektoru a předejdeš tak tomu, že ve třetí sekci už na ten třetí nadpis h2 v dokumentu zapomeneš.

  • Není třeba vždy všem tagům davat classy - např. nadpisy bych stylovala přímo jako tagy. Zrovna třeba h1 by měl být na stránce vždy jen jeden, takže tam se ani nemusíš bát toho, že by sis to nějak později přepsala.
  • Pokud bys chtěla dávat classy všude, tak by jejich název měl odrážet to, co dělají nebo co popisují...a to např.classa "poteseni", ktera styluje h1, úplně neni ten případ :)
  • Abys nemusela centrování a šířku obsahu řešit u každé sekce, šlo by udělat jednu class, kam přidáš patřičné vlastnosti a tuto class pak přidáš k odpovídajícím elementům.
  • Ve víceslovných názvech tříd je lepší slova oddělovat pomlčkami ;)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.