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/el/3-terrarium/2-intro-to-css/assignment.md

134 lines
12 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.

<!--
CO_OP_TRANSLATOR_METADATA:
{
"original_hash": "bee6762d4092a13fc7c338814963f980",
"translation_date": "2025-10-23T20:17:58+00:00",
"source_file": "3-terrarium/2-intro-to-css/assignment.md",
"language_code": "el"
}
-->
# Ανάθεση Αναδιάρθρωσης CSS
## Στόχος
Μεταμορφώστε το έργο του terrarium σας χρησιμοποιώντας σύγχρονες τεχνικές διάταξης CSS! Αναδιαρθρώστε την τρέχουσα προσέγγιση απόλυτης τοποθέτησης για να εφαρμόσετε **Flexbox** ή **CSS Grid** για έναν πιο ευέλικτο και προσαρμόσιμο σχεδιασμό. Αυτή η ανάθεση σας προκαλεί να εφαρμόσετε σύγχρονα πρότυπα CSS διατηρώντας παράλληλα την οπτική ελκυστικότητα του terrarium σας.
Η κατανόηση του πότε και πώς να χρησιμοποιείτε διαφορετικές μεθόδους διάταξης είναι μια κρίσιμη δεξιότητα για τη σύγχρονη ανάπτυξη ιστού. Αυτή η άσκηση γεφυρώνει τις παραδοσιακές τεχνικές τοποθέτησης με τα σύγχρονα συστήματα διάταξης CSS.
## Οδηγίες Ανάθεσης
### Φάση 1: Ανάλυση και Σχεδιασμός
1. **Ανασκόπηση του τρέχοντος κώδικα terrarium σας** - Εντοπίστε ποια στοιχεία χρησιμοποιούν αυτή τη στιγμή απόλυτη τοποθέτηση
2. **Επιλέξτε τη μέθοδο διάταξης σας** - Αποφασίστε αν το Flexbox ή το CSS Grid ταιριάζει καλύτερα στους στόχους του σχεδιασμού σας
3. **Σχεδιάστε τη νέα δομή διάταξης σας** - Προγραμματίστε πώς θα οργανωθούν τα containers και τα στοιχεία των φυτών
### Φάση 2: Υλοποίηση
1. **Δημιουργήστε μια νέα έκδοση** του έργου terrarium σας σε ξεχωριστό φάκελο
2. **Ενημερώστε τη δομή HTML** όπως απαιτείται για να υποστηρίξετε τη μέθοδο διάταξης που επιλέξατε
3. **Αναδιαρθρώστε το CSS** για να χρησιμοποιήσετε Flexbox ή CSS Grid αντί για απόλυτη τοποθέτηση
4. **Διατηρήστε την οπτική συνέπεια** - Βεβαιωθείτε ότι τα φυτά και το βάζο terrarium εμφανίζονται στις ίδιες θέσεις
5. **Εφαρμόστε προσαρμοστική συμπεριφορά** - Η διάταξή σας πρέπει να προσαρμόζεται ομαλά σε διαφορετικά μεγέθη οθόνης
### Φάση 3: Δοκιμή και Τεκμηρίωση
1. **Δοκιμή σε διαφορετικούς browsers** - Επαληθεύστε ότι ο σχεδιασμός σας λειτουργεί σε Chrome, Firefox, Edge και Safari
2. **Δοκιμή προσαρμοστικότητας** - Ελέγξτε τη διάταξή σας σε κινητά, tablet και επιτραπέζιες οθόνες
3. **Τεκμηρίωση** - Προσθέστε σχόλια στο CSS σας εξηγώντας τις επιλογές διάταξης σας
4. **Στιγμιότυπα οθόνης** - Καταγράψτε το terrarium σας σε διαφορετικούς browsers και μεγέθη οθόνης
## Τεχνικές Απαιτήσεις
### Υλοποίηση Διάταξης
- **Επιλέξτε ΜΟΝΟ ΕΝΑ**: Εφαρμόστε είτε Flexbox είτε CSS Grid (όχι και τα δύο για τα ίδια στοιχεία)
- **Προσαρμοστικός Σχεδιασμός**: Χρησιμοποιήστε σχετικές μονάδες (`rem`, `em`, `%`, `vw`, `vh`) αντί για σταθερά pixels
- **Προσβασιμότητα**: Διατηρήστε σωστή δομή HTML και alt text
- **Ποιότητα Κώδικα**: Χρησιμοποιήστε συνεπείς ονομασίες και οργανώστε το CSS λογικά
### Σύγχρονα Χαρακτηριστικά CSS που Πρέπει να Περιλαμβάνονται
```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;
}
```
### Απαιτήσεις Υποστήριξης Browser
- **Chrome/Edge**: Τελευταίες 2 εκδόσεις
- **Firefox**: Τελευταίες 2 εκδόσεις
- **Safari**: Τελευταίες 2 εκδόσεις
- **Browsers κινητών**: iOS Safari, Chrome Mobile
## Παραδοτέα
1. **Ενημερωμένο αρχείο HTML** με βελτιωμένη δομή
2. **Αναδιαρθρωμένο αρχείο CSS** χρησιμοποιώντας σύγχρονες τεχνικές διάταξης
3. **Συλλογή στιγμιότυπων οθόνης** που δείχνει συμβατότητα σε διαφορετικούς browsers:
- Προβολή επιτραπέζιου υπολογιστή (1920x1080)
- Προβολή tablet (768x1024)
- Προβολή κινητού (375x667)
- Τουλάχιστον 2 διαφορετικοί browsers
4. **Αρχείο README.md** που τεκμηριώνει:
- Την επιλογή διάταξης σας (Flexbox vs Grid) και τη λογική πίσω από αυτή
- Προκλήσεις που αντιμετωπίσατε κατά την αναδιάρθρωση
- Σημειώσεις συμβατότητας browser
- Οδηγίες για την εκτέλεση του κώδικα σας
## Κριτήρια Αξιολόγησης
| Κριτήριο | Εξαιρετικό (4) | Επαρκές (3) | Αναπτυσσόμενο (2) | Αρχικό (1) |
|----------|---------------|----------------|---------------|---------------|
| **Υλοποίηση Διάταξης** | Άριστη χρήση Flexbox/Grid με προηγμένα χαρακτηριστικά; πλήρως προσαρμοστικό | Σωστή υλοποίηση με καλή προσαρμοστική συμπεριφορά | Βασική υλοποίηση με μικρά προβλήματα προσαρμοστικότητας | Ελλιπής ή λανθασμένη υλοποίηση διάταξης |
| **Ποιότητα Κώδικα** | Καθαρό, καλά οργανωμένο CSS με ουσιαστικά σχόλια και συνεπείς ονομασίες | Καλή οργάνωση με μερικά σχόλια | Επαρκής οργάνωση με ελάχιστα σχόλια | Κακή οργάνωση; δύσκολο να κατανοηθεί |
| **Συμβατότητα Browser** | Τέλεια συνέπεια σε όλους τους απαιτούμενους browsers με στιγμιότυπα | Καλή συμβατότητα με μικρές διαφορές που έχουν τεκμηριωθεί | Κάποια προβλήματα συμβατότητας που δεν επηρεάζουν τη λειτουργικότητα | Σοβαρά προβλήματα συμβατότητας ή έλλειψη δοκιμών |
| **Προσαρμοστικός Σχεδιασμός** | Εξαιρετική προσέγγιση mobile-first με ομαλά breakpoints | Καλή προσαρμοστική συμπεριφορά με κατάλληλα breakpoints | Βασικά προσαρμοστικά χαρακτηριστικά με κάποια προβλήματα διάταξης | Περιορισμένη ή ελαττωματική προσαρμοστική συμπεριφορά |
| **Τεκμηρίωση** | Πλήρες README με λεπτομερείς εξηγήσεις και πληροφορίες | Καλή τεκμηρίωση που καλύπτει όλα τα απαιτούμενα στοιχεία | Βασική τεκμηρίωση με ελάχιστες εξηγήσεις | Ελλιπής ή ανύπαρκτη τεκμηρίωση |
## Χρήσιμοι Πόροι
### Οδηγοί Μεθόδων Διάταξης
- 📖 [Ολοκληρωμένος Οδηγός για το Flexbox](https://css-tricks.com/snippets/css/a-guide-to-flexbox/)
- 📖 [Ολοκληρωμένος Οδηγός για το CSS Grid](https://css-tricks.com/snippets/css/complete-guide-grid/)
- 📖 [Flexbox vs Grid - Επιλέξτε το Κατάλληλο Εργαλείο](https://blog.webdevsimplified.com/2022-11/flexbox-vs-grid/)
### Εργαλεία Δοκιμής Browser
- 🛠️ [Λειτουργία Responsive των DevTools του Browser](https://developer.chrome.com/docs/devtools/device-mode/)
- 🛠️ [Can I Use - Υποστήριξη Χαρακτηριστικών](https://caniuse.com/)
- 🛠️ [BrowserStack - Δοκιμή Συμβατότητας Browser](https://www.browserstack.com/)
### Εργαλεία Ποιότητας Κώδικα
- ✅ [CSS Validator](https://jigsaw.w3.org/css-validator/)
- ✅ [HTML Validator](https://validator.w3.org/)
- ✅ [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
## Πρόσθετες Προκλήσεις
🌟 **Προηγμένες Διατάξεις**: Εφαρμόστε και Flexbox ΚΑΙ Grid σε διαφορετικά μέρη του σχεδιασμού σας
🌟 **Ενσωμάτωση Κινήσεων**: Προσθέστε μεταβάσεις ή κινήσεις CSS που λειτουργούν με τη νέα διάταξη σας
🌟 **Σκοτεινή Λειτουργία**: Εφαρμόστε έναν εναλλάκτη θεμάτων βασισμένο σε ιδιότητες CSS
🌟 **Ερωτήματα Container**: Χρησιμοποιήστε σύγχρονες τεχνικές ερωτημάτων container για προσαρμοστικότητα σε επίπεδο στοιχείων
> 💡 **Θυμηθείτε**: Ο στόχος δεν είναι απλώς να λειτουργήσει, αλλά να κατανοήσετε ΓΙΑΤΙ η μέθοδος διάταξης που επιλέξατε είναι η καλύτερη λύση για αυτήν τη συγκεκριμένη πρόκληση σχεδιασμού!
---
**Αποποίηση ευθύνης**:
Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία αυτόματης μετάφρασης [Co-op Translator](https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτόματες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα θα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή εσφαλμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.