Πανεπιστήμιο Πειραιώς Τμήμα Ψηφιακών Συστημάτων Προγραμματισμός Παγκόσμιου Ιστού 3 η Διάλεξη Δημοσθένης Κυριαζής Δευτέρα 13 Μαρτίου 2017
Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης HTML / HTML5 Εικόνες και περιγραφές Mark element Meter element Ημερολόγιο και ώρα Αριθμοί Επιπλέον input types Datalist element Audio element
Φόρμες (1/2) Βασικό στοιχείο αλληλεπίδρασης με τον χρήστη Κάθε φόρμα αποτελείται από έναν αριθμό πεδίων στα οποία ο χρήστης εισάγει πληροφορία ή κάνει μια επιλογή Υπάρχουν 3 τύποι tags για δημιουργία πεδίων <textarea> <select> <input> Μπορεί να τοποθετηθεί οιοσδήποτε αριθμός τέτοιων tags Μπορούμε να έχουμε οποιοδήποτε αριθμό φορμών σε μια σελίδα αλλά δεν επιτρέπεται το φώλιασμα μεταξύ τους
Φόρμες (2/2) Το tag form οριοθετεί την αρχή της φόρμας Ορίζει το script ή το URL στο οποίο αποστέλλονται τα εισαχθέντα δεδομένα και την μέθοδο μετάδοσης τους Δύο βασικά attributes Action: Ορίζει την URL που θα τα λάβει Method: Λαμβάνει δύο δυνατές τιμές post στέλνει όλη την πληροφορία χωριστά από την URL get συνδέει την πληροφορία στο τέλος της URL Ενδείκνυται η χρήση της πρώτης μεθόδου επειδή τα URLs έχουν συγκεκριμένο μήκος που δεν μπορούν να υπερβούν Παράδειγμα <form method="post" action="/cgi-bin/my_script">...</form>
<input> (1/4) Επιτρέπει διάφορες επιλογές εισόδου περιεχομένου Simple text fields text Password fields password Radio buttons radio Check boxes checkbox Submit buttons submit Reset buttons reset
Ομαδοποίηση σε φόρμες Ομαδοποίηση επιλογών σε αντικείμενα εισόδου fieldset Τίτλος ομαδοποίησης legend <fieldset> </fieldset> <legend>contact Information</legend> <ol> <li>first name: <input type="text" name="fname" /></li> <li>last name: <input type="text" name="lname" /></li> <li>email: <input type="text" name="email" /></li> </ol>
<select> Ομαδοποίηση επιλογών σε αντικείμενα επιλογής - optgroup Τίτλοι ομαδοποίησης label <select multiple name="network" size="6"> <optgroup label="ethernet"> <option value="ethernet"> Ethernet 4 <option selected ="selected" value="ethernet"> Ethernet 8 <option value="ethernet"> Ethernet 12 </optgroup> <optgroup label="token Ring"> <option value="token16"> Token Ring - 16mb <option value="token4"> Token Ring - 4mb </optgroup> <option value="localtalk"> LocalTalk <option value="other"> Other... </select>
Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης HTML / HTML5 Εικόνες και περιγραφές Mark element Meter element Ημερολόγιο και ώρα Αριθμοί Επιπλέον input types Datalist element Audio element
«Εικόνες» και περιγραφές (1/2) Το νέο figure element επιτρέπει την προσθήκη εικόνας και της σχετικής της περιγραφής Πριν την HTML5, χρειαζόταν div και στη συνέχεια προσθήκη της περιγραφής (χωρίς σχέση μεταξύ των 2) Το figure element δε χρειάζεται να περιλαμβάνει εικόνες Μπορεί να περιλαμβάνει κώδικα, ηχητικά μέρη, βίντεο, κλπ Σύνταξη <figure> </figure> <img alt= University of Piraeus src= unipi_logo.jpeg width= 100 height= 100 /> <figcaption> University of Piraeus </figcaption>
«Εικόνες» και περιγραφές (2/2) Κάθε figure element μπορεί να έχει μόνο ένα figcaption Μπορούν να προστεθούν παραπάνω από μια εικόνες στο figure element Το figcaption θα πρέπει να είναι είτε στο πρώτο είτε στο τελευταίο element <figure> </figure> <img alt="university of Piraeus" src="logo.jpeg" width="100" height="100" /> <img alt="university of Piraeus" src="logo.jpeg" width="100" height="100" /> <figcaption> </figcaption> University of Piraeus x2 Υπάρχουν συζητήσεις για το αν χρειάζεται ακόμα το alt text Εκτός του figure element, ένα img element πάντα χρειάζεται το alt attribute (αν δεν χρειάζεται να αναγνωριστεί από άλλο κώδικα, μπορεί να είναι κενό) Στο figure element, εάν το caption έχει σχετική περιγραφή, δεν χρειάζεται το alt
Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης HTML / HTML5 Εικόνες και περιγραφές Mark element Meter element Ημερολόγιο και ώρα Αριθμοί Επιπλέον input types Datalist element Audio element
Mark element Χρησιμοποιείται για έμφαση σε κείμενο Αλλαγή εμφάνισης έμφασης με CSS Κάποιοι browsers δεν προσθέτουν χρώμα φόντου Λύση: mark {background-color: yellow;} Παράδειγμα: <article> <p>well this is something really <mark>important</mark>. Please pay attention.</p> </article>
Επισήμανση αλλαγών (1/2) Επισήμανση αλλαγών στο κείμενο με τα νέα elements της HTML5: ins (προσθήκη), del (διαγραφή), s (μη έγκυρο) Παράδειγμα <article> <p>some of the following may not be accurate any more, some may have been added and other deleted. <em>please confirm!</em></p> </article> <ul> </ul> <li><s>lectures 1 & 2, November 2013</s> DONE</li> <li>lecture 3, Wednesday 08.01.2014</li> <li>lecture 4, <del>wednesday 15.01.2014</del> <ins>monday 12.01.2014</ins></li> <li>lecture 3, Wednesday 22.01.2014</li>
Επισήμανση αλλαγών (2/2) Στην περίπτωση που υπάρχουν και άλλα elements, κάποιοι browsers δεν εφαρμόζουν την αλλαγή σε όλο το κείμενο Τα del και ins elements υποστηρίζουν δυο attributes: cite και datetime Το cite attribute (διαφορετικό από το cite element) χρησιμοποιείται για να παρέχει ένα URL με επεξήγηση για την αλλαγή Το datetime attribute χρησιμοποιείται για να ορίσει την ώρα της αλλαγής Οι browsers δεν εμφανίζουν τις τιμές αυτών των attributes (μπορούν να χρησιμοποιηθούν από JavaScript)
Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης HTML / HTML5 Εικόνες και περιγραφές Mark element Meter element Ημερολόγιο και ώρα Αριθμοί Επιπλέον input types Datalist element Audio element
Meter element Χρησιμοποιείται για να προσδιορίσει την ποσοστιαία μεταβολή μιας τιμής Υποστηρίζει διάφορα attributes Value: Η μοναδική που απαιτείται καθώς ορίζει την τιμή που θα εμφανιστεί στο meter Min / max: Προεπιλεγμένες τιμές στο 0 και 1.0 Low / high / optimum: Χρησιμοποιούνται για να ορίσουν κομμάτια για τα συγκεκριμένα σημεία του meter Παραδείγματα <p>course completion status: <meter value="0.80">80%</meter></p> <p>lectures completed: <meter min="0" max="10" value="8">8 out of 10</meter></p>
Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης HTML / HTML5 Εικόνες και περιγραφές Mark element Meter element Ημερολόγιο και ώρα Αριθμοί Επιπλέον input types Datalist element Audio element
Ημερολόγιο και ώρα Δεν απαιτείται πλέον η χρήση JavaScript λόγω νέων μεθόδων εισαγωγής Input type date Επιλογή ημέρας από ημερολόγιο Π.χ. <input type="date" name="birthday"> Input type datetime Επιλογή ημερομηνίας και ώρας (βάσει UTC) Π.χ. <input type="datetime" name="bdaytime"> Input type datetime-local Επιλογή ημερομηνίας και ώρας (βάσει τοπικής ώρας) Input type month / week Επιλογή μήνα / εβδομάδας Π.χ. <input type="month" name="bdaymonth"> Χρήση attributes min και max για τον ορισμό ελάχιστων / μέγιστων τιμών (στη μορφή YYYY-MM-DD) Π.χ. <input type="date" name="birthday" min="2014-01-10">
Επιλογή αριθμών (1/2) Νέο input type number για την εισαγωγή / επιλογή αριθμού Δεν επιτρέπεται η εισαγωγή μη αριθμητικών χαρακτήρων Με τα min και max attributes μπορεί να ορισθεί συγκεκριμένο εύρος τιμών Με το step attribute μπορεί να ορισθεί το βήμα Π.χ. <input type="number" id="numberitem" name="numberitem" min="1" max="10" step="2" />
Επιλογή αριθμών (2/2) Νέο input type range για την επιλογή αριθμού Δεν υπάρχει πεδίο εισαγωγής αριθμού min, max, and step attributes. Εμφάνιση Περιορισμένες επιλογές (εμφάνιση κυρίως βάσει των browser) Εισαγωγή τιμών height και width Π.χ. Εάν το height είναι μεγαλύτερο του width εμφανίζεται κατακόρυφα HTML: <input type="range" id="range" name="range" min="0" max="10" step="1" /> CSS: #range { -webkit-appearance: slider-vertical; width: 20px; height: 100px; }
Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης HTML / HTML5 Εικόνες και περιγραφές Mark element Meter element Ημερολόγιο και ώρα Αριθμοί Επιπλέον input types Datalist element Audio element
Επιπλέον input types Νέο input type color για την επιλογή βασικών χρωμάτων Π.χ. <input type="color" id="color" name="color" /> Νέο input type url για την εισαγωγή URL (επικύρωση κατά την αποστολή των δεδομένων) Π.χ. <input type="url" name="homepage"> Νέο input type color για την εισαγωγή τηλεφώνου Π.χ. <input type="tel" name="usrtel">
Datalist element Νέο element της HTML5 για την πρόταση «προεπιλογών» σε κάποιο πεδίο Σε συνδυασμό με το list attribute μπορεί να υλοποιήσει μια «autocomplete» λύση Συγκριτικά με το select element, ο χρήστης μπορεί να εισάγει επιπλέον δεδομένα (εκτός των προτεινόμενων) Π.χ. <input list="playerlist" type="text" id="favplayer" name="favplayer" /> <datalist id="playerlist" width="500px"> </datalist> <option value="messi" /> <option value="ronaldo" />
Σημερινή διάλεξη Σύνοψη προηγούμενης διάλεξης HTML / HTML5 Εικόνες και περιγραφές Mark element Meter element Ημερολόγιο και ώρα Αριθμοί Επιπλέον input types Datalist element Audio element
Audio element (1/2) To audio element χρησιμοποιείται για την εισαγωγή ηχητικών αποσπασμάτων στις σελίδες Οι browsers επιτρέπουν την αναπαραγωγή συγκεκριμένων μορφών Υποστηρίζει διάφορα attributes src: Ορίζει το αρχείο αναπαραγωγής controls: Ορίζει αν θα εμφανίζονται στοιχεία ελέγχου (προεπιλογή να μην εμφανίζονται). Μπορούν να οριστούν συγκεκριμένα στοιχεία μέσω JavaScript autoplay: Ορίζει αν θα αρχίσει αυτόματα η αναπαραγωγή preload: Ορίζει τι να κάνει ο browser αν δεν έχει επιλεγεί autoplay. Μπορεί να λάβει τιμές: none: Ο browser δεν αναπαράγει το αρχείο μέχρι ο χρήστης να το επιλέξει auto: Ο browser «κατεβάζει» το αρχείο όταν «φορτώσει» η σελίδα metadata: Ο browser απλά αποθηκεύει πληροφορία αναφορικά με το μέγεθος, την πρώτη εικόνα και τη διάρκεια loop: Ορίζει αν θα επαναλαμβάνεται η αναπαραγωγή όταν ολοκληρωθεί
Audio element (2/2) Παράδειγμα <audio controls autoplay> <source src="audio.ogg" /> <source src="audio.mp3" /> <p>this browser does not support our audio format.</p> </audio>
Video element (1/2) To video element χρησιμοποιείται για την εισαγωγή αποσπασμάτων βίντεο στις σελίδες Υποστηρίζει διάφορα attributes src: Ορίζει το αρχείο αναπαραγωγής poster: Ορίζει την εικόνα που θα εμφανίζεται όσο «κατεβαίνει» το βίντεο ή μέχρι ο χρήστης να επιλέξει την αναπαραγωγή του width, height: Ορίζουν το μέγεθος του player σε pixels controls: Ορίζει αν θα εμφανίζονται στοιχεία ελέγχου (προεπιλογή να μην εμφανίζονται) autoplay: Ορίζει αν θα αρχίσει αυτόματα η αναπαραγωγή loop: Ορίζει αν θα επαναλαμβάνεται η αναπαραγωγή όταν ολοκληρωθεί preload: Ορίζει τι να κάνει ο browser αν δεν έχει επιλεγεί autoplay. Μπορεί να λάβει τιμές: none: Ο browser δεν αναπαράγει το βίντεο μέχρι ο χρήστης να το επιλέξει auto: Ο browser «κατεβάζει» το βίντεο όταν «φορτώσει» η σελίδα metadata: Ο browser απλά αποθηκεύει πληροφορία αναφορικά με το μέγεθος, την πρώτη εικόνα και τη διάρκεια
Video element (2/2) Παράδειγμα <video src="video.mp4" poster="logo.jpeg" width="400" height="300" preload controls loop> <p>this browser doesn't support the specific video format.</p> </video>