You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/pl/3-terrarium/2-intro-to-css/assignment.md

127 lines
7.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# CSS Refactoring Assignment
## Cel
Przekształć swój projekt terrarium, aby używał nowoczesnych technik układu CSS! Zrefaktoryzuj obecne podejście z pozycjonowaniem absolutnym, wprowadzając **Flexbox** lub **CSS Grid** dla bardziej utrzymywalnego, responsywnego projektu. To zadanie stanowi wyzwanie, aby zastosować nowoczesne standardy CSS, jednocześnie zachowując atrakcyjny wygląd Twojego terrarium.
Zrozumienie kiedy i jak używać różnych metod układu to kluczowa umiejętność współczesnego tworzenia stron internetowych. To ćwiczenie łączy tradycyjne techniki pozycjonowania z nowoczesnymi systemami układów CSS.
## Instrukcje zadania
### Faza 1: Analiza i planowanie
1. **Przejrzyj obecny kod terrarium** - Zidentyfikuj elementy, które obecnie używają pozycjonowania absolutnego
2. **Wybierz metodę układu** - Zdecyduj, czy Flexbox czy CSS Grid lepiej odpowiada Twoim celom projektowym
3. **Szkicuj nową strukturę układu** - Zaplanuj, jak będą zorganizowane kontenery i elementy roślin
### Faza 2: Implementacja
1. **Stwórz nową wersję** swojego projektu terrarium w osobnym folderze
2. **Zaktualizuj strukturę HTML** w razie potrzeby, aby wspierała wybraną metodę układu
3. **Refaktoryzuj CSS**, używając Flexbox lub CSS Grid zamiast pozycjonowania absolutnego
4. **Zachowaj spójność wizualną** upewnij się, że rośliny i słoik terrarium znajdują się w tych samych miejscach
5. **Zaakceptuj responsywne zachowanie** układ powinien płynnie dostosowywać się do różnych rozmiarów ekranów
### Faza 3: Testowanie i dokumentacja
1. **Testowanie na różnych przeglądarkach** sprawdź, czy projekt działa w Chrome, Firefox, Edge i Safari
2. **Testowanie responsywności** sprawdź układ na ekranach mobilnych, tabletach i desktopach
3. **Dokumentacja** dodaj komentarze do CSS wyjaśniające wybory dotyczące układu
4. **Zrzuty ekranu** zrób zdjęcia swojego terrarium w różnych przeglądarkach i rozmiarach ekranów
## Wymagania techniczne
### Implementacja układu
- **Wybierz JEDNĄ metodę**: zastosuj Flexbox LUB CSS Grid (nie obie na tych samych elementach)
- **Projekt responsywny**: używaj jednostek względnych (`rem`, `em`, `%`, `vw`, `vh`), zamiast stałych pikseli
- **Dostępność**: zachowaj właściwą semantykę HTML i tekst alternatywny
- **Jakość kodu**: stosuj spójne konwencje nazewnictwa i logiczną organizację CSS
### Nowoczesne cechy CSS do uwzględnienia
```css
/* Example Flexbox approach */
.terrarium-container {
display: flex;
flex-direction: column;
min-height: 100vh;
align-items: center;
justify-content: center;
}
.plant-containers {
display: flex;
justify-content: space-between;
width: 100%;
max-width: 1200px;
}
/* Example Grid approach */
.terrarium-layout {
display: grid;
grid-template-columns: 1fr 3fr 1fr;
grid-template-rows: auto 1fr;
min-height: 100vh;
gap: 1rem;
}
```
### Wymagania dotyczące wsparcia przeglądarek
- **Chrome/Edge**: 2 najnowsze wersje
- **Firefox**: 2 najnowsze wersje
- **Safari**: 2 najnowsze wersje
- **Przeglądarki mobilne**: iOS Safari, Chrome Mobile
## Produkty końcowe
1. **Zaktualizowany plik HTML** z ulepszoną strukturą semantyczną
2. **Zrefaktoryzowany plik CSS** używający nowoczesnych technik układu
3. **Zbiór zrzutów ekranu** pokazujących kompatybilność międzyprzeglądarkową:
- Widok desktopowy (1920x1080)
- Widok tabletowy (768x1024)
- Widok mobilny (375x667)
- Co najmniej 2 różne przeglądarki
4. **Plik README.md** dokumentujący:
- Wybór układu (Flexbox vs Grid) oraz uzasadnienie
- Trudności napotkane podczas refaktoryzacji
- Notatki o kompatybilności przeglądarek
- Instrukcje uruchomienia Twojego kodu
## Kryteria oceny
| Kryteria | Wzorcowa (4) | Zaawansowana (3) | Średnia (2) | Początkowa (1) |
|----------|--------------|------------------|-------------|----------------|
| **Implementacja układu** | Mistrzowskie użycie Flexbox/Grid z zaawansowanymi funkcjami; w pełni responsywne | Poprawna implementacja z dobrą responsywnością | Podstawowa implementacja z drobnymi problemami responsywności | Niekompletna lub błędna implementacja układu |
| **Jakość kodu** | Czysty, dobrze zorganizowany CSS z znaczącymi komentarzami i spójnym nazewnictwem | Dobra organizacja z kilkoma komentarzami | Wystarczająca organizacja z minimalnymi komentarzami | Słaba organizacja; trudna do zrozumienia |
| **Kompatybilność międzyprzeglądarkowa** | Perfekcyjna spójność we wszystkich wymaganych przeglądarkach z zrzutami ekranu | Dobra kompatybilność z udokumentowanymi drobnymi różnicami | Niektóre problemy z kompatybilnością, które nie psują funkcjonalności | Poważne problemy lub brak testów kompatybilności |
| **Projekt responsywny** | Wyjątkowe podejście mobile-first z płynnymi punktami przerwania | Dobre zachowanie responsywne z odpowiednimi punktami przerwania | Podstawowe funkcje responsywne z pewnymi problemami układu | Ograniczone lub wadliwe zachowanie responsywne |
| **Dokumentacja** | Kompleksowy README z szczegółowymi wyjaśnieniami i wglądem | Dobra dokumentacja obejmująca wszystkie wymagane elementy | Podstawowa dokumentacja z minimalnymi wyjaśnieniami | Niepełna lub brak dokumentacji |
## Przydatne zasoby
### Przewodniki po metodach układu
- 📖 [Kompletny przewodnik po Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
- 📖 [Kompletny przewodnik po CSS Grid](https://css-tricks.com/snippets/css/complete-guide-grid/)
- 📖 [Flexbox vs Grid - wybierz odpowiednie narzędzie](https://blog.webdevsimplified.com/2022-11/flexbox-vs-grid/)
### Narzędzia do testowania przeglądarek
- 🛠️ [Tryb responsywny w narzędziach deweloperskich przeglądarki](https://developer.chrome.com/docs/devtools/device-mode/)
- 🛠️ [Can I Use - wsparcie funkcji](https://caniuse.com/)
- 🛠️ [BrowserStack - testowanie międzyprzeglądarkowe](https://www.browserstack.com/)
### Narzędzia jakości kodu
- ✅ [Weryfikator CSS](https://jigsaw.w3.org/css-validator/)
- ✅ [Weryfikator HTML](https://validator.w3.org/)
- ✅ [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
## Dodatkowe wyzwania
🌟 **Zaawansowane układy**: Zaimplementuj zarówno Flexbox, JAK i Grid w różnych częściach projektu
🌟 **Integracja animacji**: Dodaj przejścia lub animacje CSS kompatybilne z nowym układem
🌟 **Tryb ciemny**: Zaimplementuj przełącznik motywu bazujący na właściwościach niestandardowych CSS
🌟 **Zapytania kontenerowe**: Użyj nowoczesnych technik zapytań kontenerowych do responsywności na poziomie komponentów
> 💡 **Pamiętaj**: Celem nie jest tylko sprawienie, by działało, ale zrozumienie, DLACZEGO wybrana metoda układu jest najlepszym rozwiązaniem dla tego wyzwania projektowego!
---
<!-- CO-OP TRANSLATOR DISCLAIMER START -->
**Zastrzeżenie**:
Ten dokument został przetłumaczony za pomocą serwisu tłumaczeń AI [Co-op Translator](https://github.com/Azure/co-op-translator). Mimo że dokładamy starań, aby tłumaczenie było jak najbardziej precyzyjne, prosimy mieć na uwadze, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego języku źródłowym powinien być uznawany za źródło wiarygodne. W przypadku informacji krytycznych zalecane jest skorzystanie z profesjonalnego tłumaczenia wykonanego przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z wykorzystania tego tłumaczenia.
<!-- CO-OP TRANSLATOR DISCLAIMER END -->