Προς το περιεχόμενο

Βοήθεια για drop-down menu


Stavros434568

Προτεινόμενες αναρτήσεις

Αγαπητοί Φίλοι,

έφτιαξα πειραματικά  μια σελίδα με html,css ωστόσο όταν περνάει το ποντίκι πάνω από το μενού δεν εμφανίζεται το υπομενόυ, το έχω κρύψει με display:none;

Εάν μπορείτε να δείτε τον κώδικα και φτιάξετε ώστε να εμφανίζετε το υπομενού & να  εξηγήσετε το νέο κώδικα για να κατάλαβω τι λογική για να εμφανίζεται το υπομενού,

 

Σας ευχαριστώ,

 

 

two.rar

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Πρόσθεσε στο τέλος της CSS σου αυτό

li:hover ul { display: block; }

Όταν πας το mouse πάνω στο li τότε θες το ul που υπάρχει μέσα του από display:none να γίνει display:block.

:)

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Σε ευχαριστω πολύ, δουλεύει.

 

Απλά όταν εμφανίζεται το υπομενού τότε εμφανίζεται το δέξιο περίγραμμα στο ul.

Εάν μπορείς βοηιήσεις για να μην εμφανίζεται (όπως φαίνεται στο συνημένο video)

 

Σε ευχαριστώ και πάλι :)

 

Επεξ/σία από Stavros434568
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Ευχαριστώ για το link,

Θα κάνω κάποια σχόλια και κάποια που δεν τα καταλαβαίνω μέσα στον κώδικα.

Λίγο να μου εξηγήσεις κάποιες από τις ερωτήσεις για να μπορέσω να κατάλαβω καλύτερα πως θα δουλέψει με καλύτερη εμφάνιση και το μενού που εφτιάξα.

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

το έψαξα στο w3schools αναφέρει ότι με <meta name="viewport" ελέγχουμε τις διαστάσεις της σελίδας & την κλιμάκωση(εάν φαντάζομαι μεγεθύνουμε τη σελίδα από 100% σε 300% πάλι θα φαίνεται σαν περιέχομενο το ίδιο η σημαίνει ζουμαροντας την σελίδα στο 300% απο 100% που ήταν θα μεγεθυθεί αντιστοίστοιχα;
 
Ανάφερε ότι το content="width=device-width, αναφέρεται  καθορίζει το πλάτος σελίδας να ακολουθεί το πλάτος της αντιστόιχης συσκευής.
πχ. εάν έχουμε μια σελίδα σε κινητό να εμφανίζεται ολόκληρη (σε διαστασεις κινητού) όπως με τον ίδιο τρόπο θα εμφανιζόταν ολόκληρη η σελίδα ανάλογα με της διαστάσεις της κάθε οθόνης(tablet, laptop, οθόνη υπολογιστή).
Είναι σαν λέμε η ιστοσελίδα να εμφανίζεται για όλες συσκευες ίδιο,
 
το initial-scale=1.0" αναφερει με αυτό καθορίζουμε μεθενση της εικόνας στο αρχικό επίπεδο
το 1.0 σημαίνει αντίστοιχα 100% zoom level;
Γενικά έκανα μερικά παραδείγματα σε αρχείο που έχει μέσα <meta name="viewport" μίκρυνα/μεγάλωσα  το παράθυρο  ιστοσελίδας- δεν φαίνεται όταν μικραίνει το παράθυρο να προσάρμοζεται η σελίδα ώστε να φαίνεται ολόκρηρη.
Μάλλον θα πρέπει να έχει εφαρμογή για χρήση σε διάφορες κινητές συσκευές.
Εάν μπορείς λίγο το εξηγήσεις λίγο καλύτερα.

Για το <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
συνδέει το html αρχείο με εξωτέρικο css αρχείο, μόνο που δεν εμφανίζει τη μορφοποίηση εφαρμόζει στο εξωτερικό αρχείο.
Εκτός εάν δεν παίζει ρόλο για την εμφάνιση της σελίδας.
 
.navbar
Καθοριζούμε ένα χρώμα φόντου σε μαύρο για τον υποδοχέα του μενού αλλά δεν καταλαβαίνω γιατί έχει βάλει ιδιοτητα υπερχείλισης στο navbar.
Μήπως το περιεχόμενο της κλάσης είναι μεγαλύτερο από τον υποδοχέα του.(.navbar);
 
float: left;
  font-size: 16px;
  color: white;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
}
 
.navbar a
Καθόρισε μέγεθος γραμματόσειρας, χρωμα γραμμάτοσειρας,το κείμενο να ευθυγραμμίστει στο κέντρο(οριζόντια) , να φυγει υπόγραμμιση και παραγέμισα για πάνω/κάτω 14px, αριστερά/δεξιά σε 16px
 
.dropdown
Δεν καταλαβαίνω γιατί έχει βάλει στο <div> υπερχείλιση σε hidden;
να μην εμφανίζεται το πλεονάζων περιέχομενο άμα δεν χωράει μέσα στο <div> ;
γενικά δεν το καταλαβαίνω σε τι βοηθάει το overflow για το .dropdown
 
για το .dropdown .dropbtn δεν καταλαβαίνω ποιά η διαφορά μεταξύ του border & outline;
 
για το .navbar a:hover, .dropdown:hover .dropbtn καθορίσαμε ένα χρώμα που θα εμφανίζεται σαν φόντο όταν κάνουμε hover πάνω από dropdown η dropbtn;
 
για το .dropdown-content a:hover καθορίσαμε ένα χρώμα που θα εμφανίζεται σαν φόντο όταν κάνουμε hover πάνω στα links του υπομένου.
 
 
για το .dropdown:hover .dropdown-content οταν κάνουμε hover 3 στοιχείο του μενου(Dropdown) & επισης για τα στοιχεία του υπομενού να εμφανίζονται ως block στοιχεία(με αλλαγή γραμμης
όταν τελιώνει το καθένα)
 
Επίσης στο μενού αυτό δεν έβαλε <li></li> μόνο με τα <a></a> δούλεψε καλά ,  δεν θα ήταν καλύτερα όμως με το να βάζαμε και <li></li>
έτσι οπως το έεκανε χάνει τη χρησιμότητα του το <li> για διημιούργια μενου, μιας και μόνο με το <a> φτιάξεμε υπόμενου.
Νομίζω είναι μια εναλακτική χρήση αυτό το παράδειγμα.
 
 
 
 
 
 
 
 
 
 
Επεξ/σία από Stavros434568
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

11 ώρες πριν, Stavros434568 είπε

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Για το <meta name="viewport" δες περισσότερα εδώ κι εδώ.

11 ώρες πριν, Stavros434568 είπε

Για το <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

Αυτό φορτώνει ένα εξωτερικό αρχείο css και αυτό απλά φορτώνει μια γραμματοσειρά. Το χρησιμοποιεί για το "βέλος" που δείχνει προς τα κάτω δίπλα από το "Dropdown". Και πιο συγκεκριμένα, για αυτό το στοιχείο <i class="fa fa-caret-down"></i>.

11 ώρες πριν, Stavros434568 είπε

.navbar

Για το .navbar το overflow:none υπάρχει γιατί με αυτό τον τρόπο το "αναγκάζεις" να πάρει τις διαστάσεις του από το περιεχόμενό του. Θα δεις πως χωρίς αυτή την ιδιότητα και με τα αντικείμενα μέσα του να έχουν ιδιότητα float:left, υπάρχει περίπτωση να "κολλήσει" το επόμενο element που είναι μετά από το .navbar, δίπλα από το τελευταίο element με ιδιότητα float:left παρόλο που δεν είναι στο ίδιο επίπεδο. Επίσης, αν τα στοιχεία με float:left ξεπεράσουν τη μια γραμμή, υπάρχει περίπτωση το .navbar να μην μεγαλώσει σε διαστάσεις και τα υπόλοιπα να εμφανίζονται έξω από το .navbar.

12 ώρες πριν, Stavros434568 είπε

για το .dropdown .dropbtn δεν καταλαβαίνω ποιά η διαφορά μεταξύ του border & outline;

Από https://developer.mozilla.org/en-US/docs/Web/CSS/outline:

Αναφορά σε κείμενο

Borders and outlines are very similar. However, outlines differ from borders in the following ways:

  • Outlines never take up space, as they are drawn outside of an element's content.
  • According to the spec, outlines don't have to be rectangular, although they usually are.

 

12 ώρες πριν, Stavros434568 είπε
Επίσης στο μενού αυτό δεν έβαλε <li></li> μόνο με τα <a></a> δούλεψε καλά ,  δεν θα ήταν καλύτερα όμως με το να βάζαμε και <li></li>
έτσι οπως το έεκανε χάνει τη χρησιμότητα του το <li> για διημιούργια μενου, μιας και μόνο με το <a> φτιάξεμε υπόμενου.
Νομίζω είναι μια εναλακτική χρήση αυτό το παράδειγμα.

Με την ετικέτα <li>, δημιουργείς στοιχεία σε μια λίστα. Θα μπορούσε να το χρησιμοποιήσει για να "δηλώσει" ότι είναι μια λίστα από στοιχεία μενού αλλά δεν είναι απαραίτητο. Επίσης, όσα περισσότερα αντικείμενα βάζεις, αυτό μεταφράζεται σε ανάγκη για περισσότερη μνήμη και φυσικά θα έπρεπε να μορφοποιήσει και αυτά στο css καθώς και το γονικό τους στοιχείο (<ul>).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σε ευχαριστώ για απάντηση,

Σχετικα με το εξωτερικό αρχείο css  υπάρχει δυνάτοτητα να το δουμε (τι ακριβώς μορφοποίηση έχει εφαρμόσει); όχι απλώς τη διαδρομή του αρχείου.
Στο εξωτερικό αρχείο εφαρμόζει μορφοποίηση για το βελάκι(δίπλα στο Dropdown) η    φορτώνει μια γραμματοσειρά για το βελάκι;
Το αναφέρω διότι συνήθως σε σχήματα εφαρμόζουμε κάποια μορφόποιηση.
Εάν ήταν να  επίσαναπτες το εξωτερικό αρχείο css για να δω τι ακριβώς μορφοποίηση εφαρμόζει.

 

Για το .navbar το overflow:none έχεις δίκιο αναγκάζεις το περιεχόμενο να προσμαρμοστεί μέσα στο .navbar.
Όταν λές  υπάρχει περίπτωση να "κολλήσει" το επόμενο element που είναι μετά από το .navbar, εννοείς το <h3>;

Άμα τα περιεχόμενα του .navbar χωράνε μέσα στον υποδοχέα τους γιατί να  κολήσει το επόμενο στοίχειο;
Επείδη βάλαμε float:left στα στοιχεία του .navbar τότε αναγκαστικά το επόμενο στοιχείο μετά από το .navbar ρέει θα πάει κολήσει δεξία  από .navbar;
Λίγο μπερδεύτηκα άμά χωράνε τα στοιχεία γιατι να κολήσει το  επόμενο στοιχειο δεξιότερα από .navbar

Επισύναψα 2 φωτογραφίες για  .navbar
Όταν overflow:hidden; τότε φαινέται το background-color:#ddd; ενώ όταν κάνουμε το overflow:none; τότε το χρώμα φοντου εξαφανίζεται.
Δεν το καταλαβαίνω  γιατί κάνοντας το overflow:none το φόντο του .navbar κρύβεται;
Νομίζω το overflow αφορά περέχομενα ενός υποδοχέα. Εάν δεν χωρά μεσα στον υποδοχέα του και το overflow:hidden; θα φαίνεται όσο χωρά ο υποδοχέας ενώ άμα overflow:none το περιεχόμενο θα εμφανίζεται και πιο κάτω από τον υποδοχέα του σε περίπτωση που δεν χωρά.
Εδώ το χρώμα φόντου του υποδοχέα .navbar γιατί να εξαφανίστει επειδή εφαρμόσαμε overflow:none;

 

Για το .dropdown αφορά το κείμενο "Dropdown" ;
Επίσης εφάρμοσα overflow:none, αλλά δεν φαίνεται να επειρέαστεικαι το .dropdown.
Και να μην το έβαζε δεν θα πείραζε.

 

Σχετικά με διαφορές border & outline,  από ότι αναφέρει το outline εμφανιζεται έξω από το περίεχομενο του στοιχείου.
Εννόει ότι ένω το border/περίγραμμα εμφανίζεται στα όρια του του στοιχείου το outline θα εμφανίζεται πιο έξω από τα όρια ένος στοιχείου (πχ: <div>)
Εάν κάνω λάθος διορθώστε άμα είναι,

 

εναλακτικός τρόπος που έκανε το υπομενού,  εξοικονόμησε όπως λες χώρο στην μνήμη αλλά λιγότερο γράψιμο.
Καλή τεχνική.

Σχετικά με το αρχικό αρχείο που είχα αρχικά επισυνάψει για μπορούσε , όταν περνουσες το ποντίκι πάνω από κάθε στοιχείο του υπομένου (Web Sites, eshop,SEO κλπ) να εμφανίζεται χρώμα φόντου στο κάθενα τι επιπλέον κώδικας χρειάζεται.
Το προσπάθησα αλλα δεν  γίνεται τίποτα, επίσης για να εξαφανιστει το δεξί border του ul εάν μπορούσες πεις τι επιπλέον κώδικας χρειάζεται.

 

Σε ευχαριστώ,

 




 

 

 

 

 

 

 

 

 

 

 

 

 

overflow_hidden.JPG

overflow_none.JPG

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Φαντάσου το κάπως έτσι: όταν ένα στοιχείο έχει ιδιότητα float:left (ή right), δεν δηλώνει το μέγεθός του στο γονικό στοιχείο, και έτσι το γονικό στοιχείο δεν μπορεί να πάρει κάποιο μέγεθος αν δεν δώσεις εσύ. Αλλά επιπλέων δηλώνει πως το επόμενο στοιχείο που θα εμφανιστεί στην οθόνη, θα πρέπει να σχεδιαστεί δίπλα του. Το χρώμα φόντου στο .navbar δεν εξαφανίζεται, απλά το .navbar δεν έχει κάποιο μέγεθος και γι αυτό δεν το βλέπεις. Επίσης, για το λόγο ότι τα στοιχεία του μενού σου έχουν άσπρο χρώμα δε φαίνονται στο άσπρο φόντο (αλλά αν επιλέξεις το κείμενο ή τους αλλάξεις το χρώμα στο css, θα τα δεις).\

none είναι η default τιμή στην ιδιότητα overflow. Δηλαδή έχει αυτή την τιμή αν δεν έχεις δηλώσει εσύ κάποια άλλη.

Ναι, το border/outline έτσι είναι. στην περίπτωσή μας, το αφαιρεί γιατί από default το outline εμφανίζεται σε στοιχεία που είναι clickable (συνδέσμους και κουμπιά) όταν είναι focus. Μπορείς να το δεις αφαιρώντας αυτή την ιδιότητα από το css και πατώντας το TAB πολλές φορές.

Στις 15/9/2019 στις 12:12 ΠΜ, Stavros434568 είπε

Σχετικά με το αρχικό αρχείο που είχα αρχικά επισυνάψει για μπορούσε , όταν περνουσες το ποντίκι πάνω από κάθε στοιχείο του υπομένου (Web Sites, eshop,SEO κλπ) να εμφανίζεται χρώμα φόντου στο κάθενα τι επιπλέον κώδικας χρειάζεται.

.navbar a:hover { background: το_χρώμα_που_θες; }

ή αν θες μόνο για τα υπομενού:

.navbar .dropdown-content a:hover { background: το_χρώμα_που_θες; }

Στις 15/9/2019 στις 12:12 ΠΜ, Stavros434568 είπε

για να εξαφανιστει το δεξί border του ul εάν μπορούσες πεις τι επιπλέον κώδικας χρειάζεται.

Δεν καταλαβαίνω σε ποιο ul θέλεις. Αν εννοείς για να εμφανιστεί στα στοιχεία στο υπομενού όπως το έχεις:

.navbar .dropdown-content a:hover { border-right:1px solid black; }

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στις 14/9/2019 στις 11:12 ΜΜ, Stavros434568 είπε

Σχετικα με το εξωτερικό αρχείο css  υπάρχει δυνάτοτητα να το δουμε (τι ακριβώς μορφοποίηση έχει εφαρμόσει); όχι απλώς τη διαδρομή του αρχείου.
Στο εξωτερικό αρχείο εφαρμόζει μορφοποίηση για το βελάκι(δίπλα στο Dropdown) η    φορτώνει μια γραμματοσειρά για το βελάκι;
Το αναφέρω διότι συνήθως σε σχήματα εφαρμόζουμε κάποια μορφόποιηση.
Εάν ήταν να  επίσαναπτες το εξωτερικό αρχείο css για να δω τι ακριβώς μορφοποίηση εφαρμόζει.

Το εξωτερικό αρχείο κατά βάση δεν έχει παρεμβάσεις σε αυτά που σου μαθαίνει το tutorial αλλά στην όλη σελίδα γενικότερα. Μπορείς να το ζητήσεις στον browser  και να το δεις ολόκληρο αλλά δεν χρειάζεται. Αυτό που σε ενδιαφέρει είναι τι μορφοποίηση έχει κάθε τμήμα της σελίδας και αυτό το βλέπεις στα developers tools πας στον inspector κάνεις klik στο element που θες και σου εμφανίζει το styling από πιο αρχείο πρόέρχεται και πολλά άλλα. π.χ το κουμπί |υποβολή απάντησης στο insomnia | έχει την μορφοποίηση του screeen shot

Untitled.png

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σας Ευχαριστώ,

Για το .navbar που έχει overflow:hiiden να ρωτήσω.
Το γονικό στοιχείο .navbar δεν έχει διαστάσεις και παίρνει διαστάσεις ανάλογα το περιεχόμενο του.
Οπώς για παράδειγμα ενα <p></p> που να ανάλογα το μέγεθος του κειμένου που θα βάλουμε θα έχει και αντίστοιχες διαστάσεις μέσα στη σελίδα.
Επίσης τα στοιχεία .navbar a(αφορα τα 2 πρώτα link) & .dropdown(αφορά το 3ο link) δεν έχουν συγκεκριμένες διαστάσεις, οπότε άμα κάνουμε την ιδιότητα overflow:visible η none η τηνδιαγάψουμε τότε περίεχομενο που δεν χωρά μέσα στο γονικό στοιχείο θα έπρεπε να εμφανιζόταν πιο κάτω από γονικό στοχείο-Να ξεπερνούσε τα όρια του γονικού στοιχειου.
Εδώ δεν φαινέται τα δίαφορα στοιχεία του γονικού στοιχειου να ξεπερνάνε τα όρια του υποδοχέα.
Νομίζω το overflow:hidden θα είχε χρήση άμα τα περιεχόμενα του γονικού στοιχείου ξεπερνούσαν τα όρια
του υποδοχέα, οπότε θα βάζαμε overflow:hidden για να μην φαίνεται το περισευούμενο περιεχόμενο του υποδοχέα.
Και για το overflow:none άμα περιεχόμενα δεν ξεπερνάνε τα όρια του υποδοχέα , θα έλεγα ότι δεν θα επειρέαζε την εμφανιση του υποδοχέα(αφού περιεχόμενα<όρια υποδοχέα)
Καταλάβαίνω ότι τόσο υποδοχέας αλλά και τα τα περιεχόμενα του δεν έχουν διαστασεις , οπότε υπάρχει πιθανότητα να μην φανούν (παρόλο που το .navbar έχει χρώμα φόντου).
Απλά περείμενα το απότελεσμα ότι  ο υποδοχέας χωρίς διαστασεις(.navbar)  θα εμφάνιζε τα περίεχομενα του & όσα περισεύαν θα εμφανιζόντουσαν από κάτω.
(είτε με τις τιμές none,visible,auto)
Το να βάλουμε hidden όπως λες προσαρμόζει τα περιέχομενα του γονικου στοιχείου με τον υποδοχέα του και λογικό είναι παρότι δεν έχουν διαστάσεις  ούτε ο υποδοχέας αλλά τα περιεχόμενα να εμφανίζονται κανονικά.
Αυτό που δεν καταλαβαίνω είναι ότι αφού τα περιέχομενα χωράνε μέσα στον υποδοχέας τους & δεν περισσεύουν θα περίμενα και πάλι έαν βάζαμε στο .navbar{overflow:visible η none;} να μην επείρεαζεται η εμφάνιση του υποδοχέα.
 

Για το outline έβαλα 20px solid blue και το έτρεξα, αλλα δεν φάνηκαι να μεγάλωσες το πάχος του outline.
Μόλις που φαίνεται, εάν μπορείς εξηγήσεις γιατί δεν φαίνεται.
Γενικά σε ποιές περιπτώσεις χρησιμοποιούμε το outline; Εάν έχεις link με παραδείγματα θα βοηθούσε επίσης.
Στο παράδειγμα τόσο το border και το outline τα έχει κρύψει η όχι; (τιμή :none).
Γιατί μου είπες ότι το outline εμφανίζεται σε στοιχεία που είναι clickable (συνδέσμους και κουμπιά) όταν είναι focus.

 

Σχετικα με αρχικό αρχείο που είχα επισυνάψει, έκανα μερικές διορθώσεις και φαίνεται το κάθε στοιχείο του υπομενού όταν περνάς το ποντικί να εμφανίζει background-color.
Ωστόσο όπως φαίνεται και στο  video  menunew το χρώμα για τα 3πρωτα στοιχεία εμφανίζεται να βγαίνει εκτός ul, ενώ για το τελευταίο στοιχείο είναι εντάξει.
Επισύναψα το html αρχείο με τις νέες αλλαγές που έκανα.
Εάν μπορείτε δείτε τι χρειάζεται για να ξεκινάει και τελιώνει το χρώμα φόντου μέσα στα όρια του κάθε <li><li>.
.
Σε ευχαριστώ, δεν ενοοώ για το παράδειγμα του w3schools να εξαφανιστει το δεξί border του ul , αλλα για το παράδειγμα ιστοσελίδα που είχα ανεβάσει αρχικά.
Και στο menunew.mp4 άμα δεις η και στο νέο επισυναπτόμενο html αρχείο καλύτερα, όταν περάσεις το ποντίκι πάνω από κάθε στοιχείο του υπομενού τότε εμφανιίζεται ένα δεξί μάυρο περίγραμμα γύρω από το ul.
Για αυτό έλεγα πως αφαιρείται;

 

 

 

 


 

outline.JPG

13 9 2019.rar

Σε ευχαριστώ για βοήθεια για Developer Tools,

 

Στο video Inspector.mp4 άνοιξα το inspector στο Mozilla και έπελεξα μέσα στον φυλλομετρητή την επικεφαλίδα κάτω από το μενού, εμφανίστηκε ότι είναι h3 επικεφαλίδα , αλλά στο css παράθυρο τα μόνα που φαίνονται είναι οι επιλογείς element , body(όπου έχει εφαρμοστεί κάποια μορφοποίηση).
Προφανώς έχει εφαρμοστει μορφοποίηση μόνο για το body, ενώ το στοιχείο element αναφέρεται για το στοιχείο h3 που επιλέχθηκε και δεν έχει κάποια μορφοποίηση(για αυτό και αναφέρεται ως element - επειδή είναι άδειο άπο ιδιοτητες.
Άμα είχαμε εφαρμόσει κάποια μορφοποήση στο h3 τότε θα εμφανιζόταν στο παράθυρο του css με το όνομα h3 και θα εμφανιζόταν τι είδους μορφοποίηση εφαρμόστεικαι;

 

 

Σε ευχαριστω για βοήθεια για Dev Tools,

 

Δυό ερωτήσεις σχετιικά με Dev Tools,

Στο video Inspector.mp4 επέλεξα στο φυλλομετρητή την επικεφαλίδα κάτω από το μενου, τοτε εμφανίστηκε στο inspector ότι είναι h3 επικεφαλίδα.
Στο παράθυρο του css ωστόσο εμφανίζεται  μόνο το body με κάποια μορφοποίηση και επίσης ένα στοιχείο element χωρίς μορφοοποίηση.
Το element μάλλον αναφέρεται στο h3 και επειδή δεν έχει κάποια μορφοποίηση τότε ονομάζεται element;

Για το παράδειγμα για το Insomnia, άνοιξα το Ispector επέλεξα το κουμπι υποβολής και φαίνεται να έχει μια κλάση με όνομα  .ipsButton ipsButton_primary
Ενώ στο css παράθυρο, όταν έχεις επιλέξει αυτή την κλάση φαινεται να είναι 2 κλάσεις.. α).ipsButton & β)ipsButton_primary
Μπορείς ένα στοιχείο να το ονοματήσεις με πολλά ονόματα κλάσεων η τελικά είναι 1 κλάση;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

10 ώρες πριν, Stavros434568 είπε

Νομίζω το overflow:hidden θα είχε χρήση άμα τα περιεχόμενα του γονικού στοιχείου ξεπερνούσαν τα όρια
του υποδοχέα, οπότε θα βάζαμε overflow:hidden για να μην φαίνεται το περισευούμενο περιεχόμενο του υποδοχέα.

Αυτό που περιγράφεις, θα συμβεί αν δώσεις εσύ διαστάσεις στο .navbar ( δλδ width:kati; height:kati;) αλλιώς θα το "αναγκάσεις" να δει τα περιεχόμενά του για να πάρει τις διαστάσεις του.

10 ώρες πριν, Stavros434568 είπε

Απλά περείμενα το απότελεσμα ότι  ο υποδοχέας χωρίς διαστασεις(.navbar)  θα εμφάνιζε τα περίεχομενα του & όσα περισεύαν θα εμφανιζόντουσαν από κάτω.

Όπως σου είπα, τα στοιχεία με float:left δεν "δηλώνουν" τις διαστάσεις τους στο γονικό τους στοιχείο και έτσι αυτό δεν παίρνει διαστάσεις.

10 ώρες πριν, Stavros434568 είπε

Για το outline έβαλα 20px solid blue και το έτρεξα, αλλα δεν φάνηκαι να μεγάλωσες το πάχος του outline.
Μόλις που φαίνεται, εάν μπορείς εξηγήσεις γιατί δεν φαίνεται.

Όπως το έχεις στην πρώτη εικόνα, σβήσε όπου γράφεις outline και βάλε αυτό:

outline: 4px dotted #0000ff;
outline-offset: -2px;

Παίξε με την τιμή του outline-offset για να το καταλάβεις και βάλτο σε διάφορα στοιχεία για να το δεις. Αν θες να αφαιρέσεις τη διακεκομμένη γραμμή σε button δες  εδώ γιατί στον firefox είναι λίγο διαφορετικό.

11 ώρες πριν, Stavros434568 είπε

Ωστόσο όπως φαίνεται και στο  video  menunew το χρώμα για τα 3πρωτα στοιχεία εμφανίζεται να βγαίνει εκτός ul, ενώ για το τελευταίο στοιχείο είναι εντάξει.

Ναι, sorry αλλά θέλει πολύ συμμάζεμα ο κώδικάς σου. Για αρχή πρέπει να βγάλεις όπου έχεις position:relative. Φτιάξε ένα div και δώσ'του class="container" και το πλάτος που θες (width:1200px στην περίπτωσή σου) και margin: 0 auto; για να πάει στο κέντρο. Μέσα σε αυτό βάλε τα header, nav, main και footer, από αυτά βγάλε το width (κράτα μόνο το height) και φυσικά σβήσε την ιδιότητα position. Βγάλε όλα τα margin(-κάτι): (μείον κάτι).

Βάλε αυτό  list-style-type: none; padding:0; margin: 0; μέσα στο nav ul.

Με ποιόν editor δουλεύεις; Ότι είναι, κάν'τα από την αρχή και με κάποιον σοβαρό editor.

Φτιάξε ότι είναι και στείλε πάλι γιατί είναι πολλά τα θέματα που έχεις.. Ότι θέμα έχεις, ψάξ'το λίγο μόνος πριν ρωτήσεις εδώ (google-is-your-friend).

Sorry, δεν στη λέω άλλα έχεις πολλά θέματα, ο κώδικάς σου είναι λίγο χαοτικός και με δυσκολεύει να απαντήσω. Θες διάβασμα να καταλάβεις λίγο καλύτερα τα css και html. Ξεκίνα από τα tutorial του w3schools.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σε ευχαριστώ για την απάντηση,
 

Έχεις δίκιο, μόνο άμα δώσεις διαστάσεις στο .navbar τότε μπορούμε να δώσουμε για το overflow τιμές  visible η auto, ενώ άμα δεν δώσουμε διαστάσεις στο .navbar τότε πάιρνει τις διαστάσεις που πιάνουν τα περιοχόμενα του. 
Γενικά σε ποιές περιπτώσεις δίνουμε διαστάσεις σε ένα μενού(υποδοχέας) και σε ποιές περιπτώσεις προτιμάμε να πάρει διάστασεις το μενού από τα περιεχόμενα του;
 

Νομίζω κατάλάβα για το 2ο ερώτημα,  αφόύ τα περιέχομενα του υποδοχέα δεν έχουν διαστάσεις, λογικό φαίνεται ότί και ο υποδοχέας να μη μπορεί κάποια συγκρεκριμένη διάσταση.

Σχετικά με αυτό που είπες να σβήσω  την ιδιότητα position. Να τη σβήσω γενικά άχσχετα με την τιμή που έχει(absolute,relative)  η να σβήσω μόνο position:relative;
Επίσης για αυτό που είπες να βγάλω όλα τα margin(μειόν κάτι) , εννοείς να βάλω λίγο μικρότερες τιμές η αρνητικές τιμές;

Χρησιμοποιώ το Ultra  Edit κυρίως  αλλά  επίσης το Sublime Editor, Notepad++
Από αυτά ποιόν θα πρότεινες η ποιόν άλλο editor να χρησιμοποίησω;

To έφτίαξα τον κώδικα και σαν διάταξη για να διαβαζεται πιο έυκολα, απλά  κάποια άλλα προβλήματα με εικόνα λογότυπου, σημαίες και με υπομενού.
 

έχεις δίκίο να το ψάχνω πρώτα στο Google, γενικά τα ψάχνω απλά τα Αγγλικά μου δεν είναι τέλεια,  τις περισσότερες φορές χρησιμόποιω είτε google metafrasi η κάποιο λεξικό για καλύτερα, είναι κάπως κουραστικό ειδικά για ολόκληρη σελίδα.
Για  αυτό άμα δω ότι δεν θα μπορέσω να έχω υπομονή να το καταλάβω στέλνω επιπλέον ερωτήματα εδώ,
Φυσικά κάνω ότι μπορώ από το Google, απλά για μεγάλες σελίδες  κουράζει, και αυτό είναι πολύ μίκρο κομμάτι του συνόλου

 

Διάβαζω από κάποια βιβλία Γκιουρδα για HTML/CSS που δήχνει κάποια βασικά θέματα,
Ξέρω κάποια πράγματα για HTML,CSS αλλά επίσης με μπερδευουν κάποια & δεν κάνει πρακτική εφαρμογή προχωρημένων θεμάτων.
Τα βιβλία αναφέρουν τυπικά τα πολύ βασικα θέματα για HTML/CSS, κάποια θεωρία και ένα παράδειγμα.
 

Θα πρότεινες καλύτερα w3sschools σε σχεση με τα βιβλια;
 

 



 

13 9 2019.rar

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ξέχασα να σου πω να διορθώσεις και το <DOCTYPE σε <!DOCTYPE ( με λίγα λόγια έχεις ξεχάσει το θαυμαστικό εκεί ).

45 λεπτά πριν, Stavros434568 είπε

Σχετικά με αυτό που είπες να σβήσω  την ιδιότητα position. Να τη σβήσω γενικά άχσχετα με την τιμή που έχει(absolute,relative)  η να σβήσω μόνο position:relative;

Μόνο τα relative. Το position:relative είναι αρκετά περίεργο στο χειρισμό και γι'αυτό μην το πολυχρησιμοποιείς.

 

49 λεπτά πριν, Stavros434568 είπε

Επίσης για αυτό που είπες να βγάλω όλα τα margin(μειόν κάτι) , εννοείς να βάλω λίγο μικρότερες τιμές η αρνητικές τιμές;

Εννοώ τα margin που έχεις αρνητικές τιμές. Επίσης τα margin θα σου πρότεινα να τα χρησιμοποιείς με το σκεπτικό να αφήνεις κενά μεταξύ των στοιχείων σου και όχι για να τα τοποθετείς σε συγκεκριμένες θέσεις.

Για τον editor σε ρώτησα γιατί βλέπω πολλά κενά στον κώδικά σου και όχι καλή στοίχιση αλλά ίσως το πρόβλημα προέκυψε από κάποια copy-paste που έχεις κάνει. Το Ultra Edit δεν το γνωρίζω. Οι άλλοι δύο είναι ΟΚ. Εμένα προσωπικά μου αρέσει ο emacs με web-mode αλλά εσένα δεν θα σε βολέψει και πολύ. Δεν θα σου πω ένα συγκεκριμένο αλλά αυτό που θα σου πρότεινα είναι να μάθεις έναν αλλά πολύ καλά.

1 ώρα πριν, Stavros434568 είπε

έχεις δίκίο να το ψάχνω πρώτα στο Google, γενικά τα ψάχνω απλά τα Αγγλικά μου δεν είναι τέλεια, 

Ούτε τα δικά μου είναι σε πολύ καλό επίπεδο. Αλλά καλυτερεύουν όσο τα χρησιμοποιώ. Και επίσης μαθαίνω να ψάχνω. Καλά κάνεις και ρωτάς κι εδώ αλλά σου λέω να ψάχνεις γενικά, θα σε βοηθήσει και στα αγγλικά σου αλλά και γενικότερα.

 

1 ώρα πριν, Stavros434568 είπε

Διάβαζω από κάποια βιβλία Γκιουρδα για HTML/CSS που δήχνει κάποια βασικά θέματα,

Χμμ... σε σχέση με αυτά τα βιβλία; w3schools δαγκωτό! Βασικά το λέω αυτό γιατί κάτι μου λέει ότι είναι λίγο παλιά και δεν θα καλύπτουν τα νεότερα πρότυπα(html5, css3 κλπ) και νεότερες πρακτικές. Επίσης δεν είμαι και πολύ ευχαριστημένος με την ποιότητα των βιβλίων του.. (έχω C, C++).

Συν επίσης πως τα tutorial στο w3schools είναι δωρεάν, σχετικά εύκολα και μαθαίνεις λίγο πιο διαδραστικά.

index-a-bit-better.html

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Σε ευχαριστώ πολύ για την απάντηση και το βελτιωμένο αρχείο που μου έστειλες, το έτρεξα και είναι πολύ καλό.
Και χίλια συγνώμη που δεν μπόρεσα να σου απαντήσω άμεσα.

 

 Θα ήθελα να  σε ρωτήσω πρώτα κάποια πράγματα για το βελτιωμένο και μετά για τα προηγούμενα που μου είχες πει.

 

Όρισες μια κλάση  .container με την την εξής μορφοποίηση.

.container{
width:1200px;
margin:0 auto;
}

Η απορία μου είναι τι κάνει το margin:0 auto;  και επίσης εάν υποθέσουμε ότι κεντράρει το  <div> στο κέντρο της σελίδας , τότε εναλλακτικά εάν θα μπορούσαμε να είχαμε χρησιμοποιήσει το
margin-left:auto;
margin-right:auto;   αντί για margin:0 auto;

 

Για την κλάση .header έδωσες μορφοποίηση:
.header{
height:1200px;
background-color:#8AC4F7;
overflow:hidden;
}
εδώ  έδωσες μόνο υψος:1200px; , πλάτος δεν έδωσες. Δεν καταλαβαίνω πως το εσωτερικό <header></header> θα αποκτήσει το πλάτος που έχει το .container  μιας και δεν αναφέρεται για το .header να έχει καθόλου πλάτος;

Επίσης, για το overflow:hidden; πάλι μπερδεύει.
Στο παράδειγμα του w3schools o υποδοχέας δεν είχε διαστάσεις, ούτε τα περιεχόμενα του και λογικό θα ήταν να βάζαμε overflow:hidden  στον γενικό υποδοχέα του μενού προκειμένου να προσαρμοστεί όπως είπες στις φυσικές διαστάσεις που  πιάνουν τα περιεχόμενα του προκειμένου να και εμφανίζονται αλά και να μην δημιουργηθεί πρόβλημα με τα επόμενα στοιχεία (που έχουν float:left)
Εδώ όμως, το .header έχει ύψος και δεν καταλαβαίνω ποια η χρησιμότητα να βάζαμε πάλι overflow:hidden;
δοκίμασα αντί αντί overflow:hidden σε overflow:visible και τουλάχιστον οπτικά δεν άλλαξε κάτι.
Θα μπορούσε επίσης να χρησιμοποιηθεί και το overflow:visible σε αυτή την περίπτωση;
Θα υπήρχε περίπτωση να χαλάσει οπτικά η εμφάνιση της σελίδας , εάν στο υπάρχον κώδικα προσθέταμε πιο πολύ περιεχόμενο;(επιπλέον κείμενα με τηλέφωνα , διευθύνσεις και ακόμα περισσότερα link για το μενού)
Προσπαθώ να καταλάβω  γιατί, εξαρχης έβαλες overflow:hidden γιατί και το overflow:visible είναι εντάξει.

Την ιδία μορφοποίηση έχεις εφαρμόσει και για τις κλάσεις:
.header-title-cont
.header-lang-cont
nav

έχεις δώσεις μόνο κάποιο ύψος για το καθένα χωρίς πλάτος.
όπου πάλι δεν καταλαβαίνω , αφού έχουν μόνο ύψος τα στοιχεία αυτά πως θα αποκτήσουν τόσο το ίδιο πλάτος που έχει και το .container  αλά επίσης και πως θα κεντραριστούν στο κέντρο τα στοιχεία αυτά;
Θα μπορούσε για παράδειγμα το nav να είχε το ίδιο πλάτος με το .container αλά να μην εμφανιζόταν κεντραρισμένο μέσα στη σελίδα.
Θα μπορούσε να εμφανιζόταν να έχει ένα πλάτος 1200px  αλά να ξεκινάει από το αριστερό περιθώριο της σελίδας και όχι όπως φαίνεται στη σελίδα.

Επίσης πάλι με μόνο στοιχειό το ύψος έχεις δώσει overflow:hidden.
Δοκίμασα και overflow:visible; αντί για hidden και τουλάχιστον οπτικά δεν άλλαξε κάτι.
Το ερώτημα είναι δεν θα μπορούσαμε να είχαμε χρησιμοποιήσει  overflow:visible στα :
.header-title-cont
.header-lang-cont
nav

και σε ποια περίπτωση άμα είχε overflow:visible θα χαλούσε η εμφάνιση της σελίδας;

Για την κλάση .header-title-cont , έκανες ένα σχόλιο /*200 -22*/
εννοείς ότι θα μπορούσε να έχει ύψος ο υποδοχέας για το λογότυπο μέχρι 222px;

Για το nav > ul > li
Με  το σύμβολο > εννοείς ότι η μορφοποίηση θα εφαρμοστεί μόνο στα li που έχουν πρόγονο τα ul και nav.
Έτσι αποκλείεται να εφαρμοστεί κάποια ίδια μορφοποίηση στα li του επομένου;

Μετά εάν τα λέω σωστά,
στο nav ul ul εφαρμόζεις κάποιο χρώμα φόντου, δίνει πλάτος & ύψος , να εμφανίζεται εξαρχης με display:none και δινεις απόλυτη τοποθέτηση.
Εδώ, δεν θα μπορούσε να λειτουργήσει παρομοια αντί για display:none; να είχε visibility:hidden;
Γιατί και τα 2 θα έκρυβαν το στοιχειό, με τη διάφορα ότι visibility:hidden απλά το κρύβει η θέση του nav ul ul δεν χάνεται.
Και επίσης για την απόλυτη τοποθέτηση που έδωσες, εδώ το nav ul ul τοποθετείται απόλυτα σε  σχέση με την πάνω αριστερή γωνία του <body> μιας και δεν υπάρχει προηγούμενο τοποθετημένο στοιχείο.
Στη σχετική τοποθέτηση το στοιχείο nav ul ul θα τοποθετούταν σχετικά με την θέση που θα είχε μέσα στη σελίδα.
για παράδειγμα εάν είχαμε μια παράγραφο κάτω από μια εικόνα και βάζαμε σχετική τοποθέτηση για τη ν παράγραφο και top:100 τότε θα εμφανιζόταν 100px πιο κάτω σε σχέση με την κανονική θέση.

Εδώ όμως λίγο με μπερδεύει αυτό με την σχετική/απόλυτη τοποθέτηση , λίγο βοήθεια για τι έβαλες απόλυτη τοποθέτηση σε σχέση με την σχετική τοποθέτηση.

Επίσης, κάποιος που κάνει ιστοσελίδες επαγγελματικά μου είπε ότι το position έχεις να κάνει με την κατάσταση του στοιχείου , ότι συνδυάζεται με το display και επίσης ότι με το margin είναι διαφορετικό.

Ισχύει ότι έχεις ότι έχεις να κάνει με την κατάσταση του στοιχείου το position & ότι συνδυάζεται με το display;  

Δεν μπορώ να καταλάβω γιατί με το margin τι γίνεται, γιατί οπτικά τουλάχιστον και με το position φαίνεται να μπορούμε να μετακινήσουμε ένα στοιχείο σε όποια θέση θέλουμε αλά και με το margin μπορούμε να το κάνουμε.
Και τα 2(position, margin) φαίνεται να επηρεάζουν την θέση του στοιχείου μέσα στη σελίδα.

 

Μετά με το nav li:hover ul{
display:block;
}

Είναι σαν λέμε να ξαναεμφανίσει το ul όταν ο χρήστης περάσει τον δείκτη του ποντικιού του πάνω από τα li και επομένου ul και τότε θα εμφανιστεί το επόμενου;
Δεν θα μπορούσαμε αντί για display:block να είχε display:inline-block;
Νομίζω με το inline-block μπορούμε να δώσαμε διαστάσεις στο ul  απλά θα εμφανιζόταν σαν inline element.
To κάθε στοιχείο(li)  του ul θα εμφανιζόταν στην ίδια γραμμή με το επόμενο li, ίσως για αυτό να χρειάζεται display:block
Διόρθωσε με εάν κάνω λάθος , απλά νομίζω ότι για αυτό έβαλες display:block αντί για display:inline-block

Εδώ με το nav ul ul li a:hover{
background;red;
}
σημαίνει  σε κάθε στοιχείο a όταν περάσεις το ποντίκι πάνω από το υπομενού τότε να εμφανιστεί με κόκκινο φόντο το a;

 


για το  .social_icons{
float:right;
 overflow:hidden;
}
με το να πεις float:right; ουσιαστικά ο υποδοχέας των εικονιδίων θα πάει δεξιά μέσα στο footer, οπότε  το .text θα πάει αναδιπλωθεί αριστερά μέσα στο footer.
To είπα, γιατί θα μπορούσες για παράδειγμα να βάλεις το  .text{float:left;} και επίσης το social_icons{{float:left:} και μετά να παίξεις με το margin-right  το .social_icons να έχεις αρνητικό  margin-right για να εμφανιστεί στην δεξιά πλευρά του footer ενώ το με το .text να έβαζες αρνητικό margin-left η για να πάει  .text στην αριστερή γωνία του footer.
Δεν ξέρω, μια εναλλακτική πρόταση έκανα εάν θα λειτουργούσε και έτσι,  ίσως γλιτώνεις όπως το έγραψες λιγότερο γράψιμο.

Για τα προηγούμενα που μου είπες,

Για margin,
για  τα margin που μου είπες  να αφήνω κενά μεταξύ των διάφορων στοιχείων  και όχι για να τα τοποθετώ σε συγκεκριμένες θέσεις.
Κάποιο πολύ απλό παράδειγμα να μου έστελνες για καλύτερα, γιατι πχ. εάν έβαζα κάποια στοιχεία (λογότυπο, εικωνήδια σημαιών χωρών, κείμενα με τηλέφωνα σελίδας) μέσα σε ένα header θα τοποθετούσα με margin το λογότυπο πάνω αριστερά μέσα στο <header> </header> οι σημαίες θα ήταν κάτω δέξια γωνία <header> ενώ τα κείμενα στην παάνω δεξιά γωνία σελίδας.(υποθετικά) 
Όλλα αυτά τα στοιχεία εξορισμόυ θα είχαν κενά μιας και το καθένα θα βρισκόταν σε διαφορερική θεση μέσα στη σελίδα. Νομίζω κάπως έστι ήταν και αυτό που είχα επισυνάψει -τα δίαφορα στοιχεία ήταν σε συγκεκριμένες θέσεις μέσα στη σελίδα(λογότυπο,εικωνήδια_σημαίες) ωστοόσο δεν ξέρω έαν είχα κενά μεταξύ τους.
Για να καταλήξω, από την στιγμή που τα στοιχεία παραδείγματος που είχαν ανεβασει ήταν σε συγκεκριμένες θέσεις το καθένα(το λογότυπο-αριστερή πλευρά header ενω σημαίες ήταν δεξιά πλευρά header) αυτό δεν σημαίνει ότι θα έχουν και κενό μεταξύ τους;

 

καλύτερα να αφήνω αποστάσεις όχι σε συγκεκριμένες θέσεις κολήτα με τα άλλα στοιχεία.
Συνήθηζα να τα βάζω


Σχετικά με τους editors ξέχασα να σου πω πως έχω και του Php Storm & WebStorm.

https://www.jetbrains.com/phpstorm/?fromMenu

  https://www.jetbrains.com/webstorm/?fromMenu

 

Για το Ultra Edit μπορείες να δεις εδώ:
https://www.ultraedit.com/

Ρίξε μια ματία εάν έχει κάποια άποψη για Editors, συμπερελαμβανόμενου του Sublime. ποίο να χρησιμοποιούσα.

Για τα βιβλία, είναι έκδοση 2016 σχετικά παλίο, μαθαίνεις μόνο βασικές γνώσεις σε HTML/CSS.
Σίγουρα το w3scholls είναι πάλι καλύτερο, αναφέρει πιο πολλά, είναι διαδραστικό, και πιο ενημερωμένο σε σχέση με τα βιβλία.


 

 

Επεξ/σία από Stavros2345
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Στις 25/9/2019 στις 12:04 ΜΜ, Stavros2345 είπε

Η απορία μου είναι τι κάνει το margin:0 auto;  και επίσης εάν υποθέσουμε ότι κεντράρει το  <div> στο κέντρο της σελίδας , τότε εναλλακτικά εάν θα μπορούσαμε να είχαμε χρησιμοποιήσει το
margin-left:auto;
margin-right:auto;   αντί για margin:0 auto;

Το margin: 0 auto; είναι το ίδιο με:

margin-top: 0;
margin-right: auto;
margin-bottom: 0;
margin-left: auto;

Δες περισσότερα εδώ και εδώ.

Στο δεύτερο σύνδεσμο αναφέρει:

Αναφορά σε κείμενο

If the margin property has two values:

    margin: 25px 50px;
        top and bottom margins are 25px
        right and left margins are 50px

 

Στις 25/9/2019 στις 12:04 ΜΜ, Stavros2345 είπε

εδώ  έδωσες μόνο υψος:1200px; , πλάτος δεν έδωσες. Δεν καταλαβαίνω πως το εσωτερικό <header></header> θα αποκτήσει το πλάτος που έχει το .container  μιας και δεν αναφέρεται για το .header να έχει καθόλου πλάτος;

Τα στοιχεία με display:block; έχουν από default width: 100%;, που σημαίνει πως θα πάρουν το width του γονικού τους στοιχείου. Δες εδώ και εδώ.

Τώρα, στο header βάζω overflow:hidden γιατί έχω τα δύο στοιχεία μέσα και τους δίνω διαστάσεις ίδιες με το header. Αν όμως κάτι πάει στραβά, δεν θέλω να εμφανιστούν έξω από το header. Εδώ ίσως είναι πλεονασμός αλλά το έβαλα για κάθε ενδεχόμενο (στο .header-title-cont ως έχει δεν χρειάζεται σίγουρα αλλά το έχω στην περίπτωση που αλλάξει το περιεχόμενο του). Κάνοντάς το σε overflow:visible θα δεις αλλαγή μόνο αν το περιεχόμενό τους βγει εκτός των ορίων τους. Στα .header-lang-cont και nav χρειάζεται γιατί περιέχουν στοιχεία με float:left και float:right.

Στις 25/9/2019 στις 12:04 ΜΜ, Stavros2345 είπε

Για την κλάση .header-title-cont , έκανες ένα σχόλιο /*200 -22*/
εννοείς ότι θα μπορούσε να έχει ύψος ο υποδοχέας για το λογότυπο μέχρι 222px;

Όχι, εννοώ πως η τιμή του (178px) την δίνω γιατί το .header-lang-cont έχει 22px και πως και τα δύο μαζί πρέπει να έχουν σύνολο 200px (όσο δηλαδή και του header. Θα μπορούσε να έχει την τιμή: height: calc( 100% - 22px );. Σε αυτή την περίπτωση θα δούλευε καλύτερα αλλά δεν ήθελα να σε μπερδέψω. Δες εδώ κι εδώ.

Στις 25/9/2019 στις 12:04 ΜΜ, Stavros2345 είπε

Για το nav > ul > li
Με  το σύμβολο > εννοείς ότι η μορφοποίηση θα εφαρμοστεί μόνο στα li που έχουν πρόγονο τα ul και nav.
Έτσι αποκλείεται να εφαρμοστεί κάποια ίδια μορφοποίηση στα li του επομένου;

Ακριβώς. Στο πρώτο επίπεδο του μενού στην περίπτωσή μας. Πάλι εδώ δες για css selectors για περισσότερα.

Στις 25/9/2019 στις 12:04 ΜΜ, Stavros2345 είπε

Μετά εάν τα λέω σωστά,
στο nav ul ul εφαρμόζεις κάποιο χρώμα φόντου, δίνει πλάτος & ύψος , να εμφανίζεται εξαρχης με display:none και δινεις απόλυτη τοποθέτηση.

Ναι, σωστά. Το visibility: hidden; στην περίπτωσή μας ίσως και να ήταν το ίδιο (λόγο του position:absolute και overflow:hidden στο nav) αλλά γενικά είναι πολύ διαφορετικά. Το display:none "εξαφανίζει" το στοιχείο εντελώς ενώ με visibility:hidden πιάνει το χώρο που θα έπιανε, απλά δεν το σχεδιάζει.

Στις 25/9/2019 στις 12:04 ΜΜ, Stavros2345 είπε

Εδώ όμως λίγο με μπερδεύει αυτό με την σχετική/απόλυτη τοποθέτηση , λίγο βοήθεια για τι έβαλες απόλυτη τοποθέτηση σε σχέση με την σχετική τοποθέτηση.

Διαβάζοντας εδώ για το position:absolute, λέει:

Αναφορά σε κείμενο

The element is removed from the normal document flow, and no space is created for the element in the page layout. It is positioned relative to its closest positioned ancestor, if any; otherwise, it is placed relative to the initial containing block. Its final position is determined by the values of top, right, bottom, and left.

This value creates a new stacking context when the value of z-index is not auto. The margins of absolutely positioned boxes do not collapse with other margins.

Έβαλα position:absolute γιατί θέλω να "ξεπεράσει" το overflow:hidden του nav και να εμφανιστεί εκτός χωρίς το δεύτερο να μεγαλώσει. Το position:relative, ναι μεν τοποθετεί το στοιχείο σε σχέση με την θέση που θα είχε αν ηταν static, αλλά επίσης κρατάει και τον χώρο που θα έπιανε εκεί που θα τον έπιανε αν ήταν static και δεν θα εμφανιστεί πέρα από τα όρια του nav εφόσον το nav έχει overflow:hidden.

Στις 25/9/2019 στις 12:04 ΜΜ, Stavros2345 είπε

Επίσης, κάποιος που κάνει ιστοσελίδες επαγγελματικά μου είπε ότι το position έχεις να κάνει με την κατάσταση του στοιχείου , ότι συνδυάζεται με το display και επίσης ότι με το margin είναι διαφορετικό.

Το margin είναιτο περιθόριο του στοιχείου σε σχέση με τα άλλα στοιχεία γύρο του και με τα όρια του  γονικού του στοιχείου. Για να μετακινείς στοιχεία σε απόλυτες ή σχετικές θέσεις καλύτερα να χρησιμοποιείς τα top, bottom, left και right.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...