ΚΕΝΤΡΟ ΠΛΗ.ΝΕ.Τ. Ν. ΦΛΩΡΙΝΑΣ
Η Τεχνολογία CSS
Ο όρος CSS σημαίνει Cascading Style Sheets, δηλ. Διαδοχικά Φύλλα Στυλ.
Τα στυλ ορίζουν τον τρόπο εμφάνισης των στοιχείων της HTML.
Τα Στυλ (Styles) αποθηκεύονται σε Φύλλα Στυλ (Style Sheets).
Τα Στυλ προστέθηκαν στην HTML 4.0 για να λύσουν κάποια προβλήματα.
Τα Εξωτερικά Φύλλα Στυλ (External Style Sheets) μπορούν να μας γλυτώσουν από πολλή δουλειά.
Πολλαπλοί ορισμοί στυλ μπορούν να συμπεριληφθούν σ’ έναν.
Τα Στυλ Λύνουν ένα Κοινό Πρόβλημα
Τα tags της HTML σχεδιάσθηκαν αρχικά για να ορίσουν το περιεχόμενο ενός εγγράφου. Η δουλειά τους ήταν να έλεγαν "Αυτή είναι μια επικεφαλίδα", "Αυτή είναι μια παράγραφος", "Αυτός είναι ένας πίνακας", χρησιμοποιώντας tags όπως <h1>, <p>, <table> κοκ. Η διάταξη (layout) του εγγράφου ήταν υπόθεση του φυλλομετρητή, χωρίς τη χρήση tags μορφοποίησης (formatting tags).
Καθώς οι δύο κύριοι φυλλομετρητές, ο Netscape και ο Internet Explorer, συνέχισαν να προσθέτουν νέα HTML tags και χαρακτηριστικά (attributes), όπως το tag <font> και το attribute color, στις αρχικές προδιαγραφές της HTML, γινόταν ολοένα και δυσκολότερη η δημιουργία Web sites όπου το περιεχόμενο των εγγράφων HTML να μπορεί να ξεχωρίζει καθαρά από τη διάταξη παρουσίασης του εγγράφου.
Για να μπορέσει να λύσει αυτό το πρόβλημα, το World Wide Web Consortium (W3C) – το μη κερδοσκοπικό consortium ορισμού στάνταρτς που είναι υπεύθυνο για την στανταρτατοποίηση της HTML – δημιούργησε τα ΣΤΥΛ (STYLES) σαν προσθήκη στην HTML 4.0.
Και ο Netscape 4.0 και ο Internet Explorer 4.0 υποστηρίζουν τα Διαδοχικά Φύλλα Στυλ (Cascading Style Sheets).
Τα Φύλλα Στυλ μάς Γλυτώνουν από Πολλή Δουλειά
Τα στυλ στην HTML 4.0 ορίζουν το πώς εμφανίζονται τα HTML στοιχεία, όπως ακριβώς το tag font και το attribute color στην HTML 3.2. Τα στυλ αποθηκεύονται συνήθως σε αρχεία που είναι εξωτερικά (external) στα HTML έγγραφά μας.
Τα εξωτερικά φύλλα στυλ (external style sheets) μάς δίνουν τη δυνατότητα να αλλάξουμε την εμφάνιση και τη διάταξη όλων των σελίδων στο δικό μας Web site, με απλή επεξεργασία ενός μόνου CSS εγγράφου. Αν έχουμε ποτέ προσπαθήσει να αλλάξουμε τη γραμματοσειρά (font) ή το χρώμα (color) όλων των επικεφαλίδων (headings) σ’ όλες τις ιστοσελίδες μας, θα καταλάβουμε γιατί τα CSS μπορούν να μας γλυτώσουν από πολλή δουλειά.
Τα CSS αποτελούν μια μεγάλη επιτυχία στον σχεδιασμό του Web (Web design) επειδή δίνουν τη δυνατότητα στους developers να ελέγξουν το στυλ και τη διάταξη πολλών ιστοσελίδων μονομιάς. Σαν Web developer μπορούμε να ορίσουμε ένα στυλ για κάθε HTML στοιχείο και να το εφαρμόσουμε σ’ όσες ιστοσελίδες θέλουμε. Για να κάνουμε μια καθολική (global) αλλαγή, απλά αλλάζουμε το στυλ μία φορά και όλα τα στοιχεία του Web ενημερώνονται αυτόματα.
Πολλαπλά Στυλ Καταλήγουν σ’ ένα
Τα Φύλλα Στυλ επιτρέπουν τον ορισμό των πληροφοριών στυλ με πολλούς τρόπους. Τα στυλ μπορούν να ορισθούν μέσα σ’ ένα μόνο HTML στοιχείο, μέσα στο στοιχείο <head> μιας HTML σελίδας ή σ’ ένα εξωτερικό αρχείο CSS. Πολλά εξωτερικά Φύλλα Στυλ μπορούν να χρησιμοποιούνται μέσα απ’ ένα μόνο HTML έγγραφο.
Ποιο στυλ θα χρησιμοποιηθεί όταν υπάρχουν περισσότερα από ένα καθορισμένα στυλ για ένα HTML στοιχείο ;
Σε γενικές γραμμές μπορούμε να πούμε ότι όλα τα στυλ θα καταλήξουν (cascade) σ’ ένα νέο εικονικό (virtual) Φύλλο Στυλ σύμφωνα με τους παρακάτω κανόνες, όπου ο μεγαλύτερος αριθμός έχει και την υψηλότερη προτεραιότητα :
Προεπιλογή του φυλλομετρητή.
Εξωτερικό Φύλλο Στυλ (External Style Sheet).
Εσωτερικό Φύλλο Στυλ (Internal Style Sheet), μέσα στο τμήμα header του εγγράφου.
Inline Style, μέσα στο HTML στοιχείο.
Η σύνταξη των CSS αποτελείται από τρία μέρη : έναν επιλογέα (selector), μια ιδιότητα (property) και μια τιμή (value) :
επιλογέας {ιδιότητα: τιμή}
selector {property: value}
Ο επιλογέας είναι συνήθως το στοιχείο/tag που θέλουμε να ορίσουμε, η ιδιότητα είναι το χαρακτηριστικό που θέλουμε να αλλάξουμε και η κάθε ιδιότητα μπορεί να πάρει μια τιμή. Η ιδιότητα και η τιμή ξεχωρίζουν από τον χαρακτήρα : και περικλείονται από τους χαρακτήρες { }, ως εξής :
body {color: black}
Αν η τιμή αποτελείται από πολλές λέξεις, πρέπει να τοποθετήσουμε εισαγωγικά :
p {font-family: "sans serif"}
Αν θέλουμε να ορίσουμε περισσότερες από μία ιδιότητες, πρέπει να ξεχωρίσουμε την κάθε ιδιότητα με τον χαρακτήρα ;. Το παρακάτω παράδειγμα δείχνει πώς μπορούμε να ορίσουμε μια κεντραρισμένη παράγραφο με χρώμα κειμένου κόκκινο :
p {text-align: center; color: red}
Για να κάνουμε τους ορισμούς των στυλ πιο ευανάγνωστους, μπορούμε να γράψουμε από μία ιδιότητα σε κάθε γραμμή, ως εξής :
p
{
text-align: center;
color: black;
font-family: arial
}
Μπορούμε να ομαδοποιήσουμε τους επιλογείς. Ξεχωρίζουμε τον κάθε επιλογέα με κόμμα. Στο παρακάτω παράδειγμα έχουμε ομαδοποιήσει όλα τα στοιχεία επικεφαλίδας (header elements). Το κάθε στοιχείο επικεφαλίδας θα είναι πράσινο :
h1, h2, h3, h4, h5, h6
{
color: green
}
Το Χαρακτηριστικό (Attribute) Class
Με το χαρακτηριστικό class μπορούμε να ορίσουμε διαφορετικά στυλ για το ίδιο στοιχείο (element). Ας υποθέσουμε ότι θέλουμε να έχουμε δύο είδη παραγράφων στο έγγραφό μας : μια δεξιά στοιχισμένη παράγραφο και μια κεντραρισμένη παράγραφο.
Να πώς μπορούμε να το κάνουμε αυτό με τα στυλ :
p.right {text-align: right}
p.center {text-align: center}
Πρέπει να χρησιμοποιήσουμε το χαρακτηριστικό class στο HTML έγγραφο, ως εξής :
<p class="right"> Αυτή είναι μια παράγραφος.
Το κείμενο αυτής της παραγράφου θα είναι δεξιά στοιχισμένο. </p>
<p class="center"> Αυτή είναι μια άλλη παράγραφος.
Το κείμενο αυτής της παραγράφου θα είναι κεντραρισμένο. </p>
Το Χαρακτηριστικό (Attribute) Id
Με το χαρακτηριστικό id μπορούμε να ορίσουμε ένα μοναδικό στυλ που μπορούμε να χρησιμοποιήσουμε σε πολλά στοιχεία. Να πώς μπορούμε να το κάνουμε αυτό με τα στυλ :
#right {text-align: right}
Στο HTML έγγραφο πρέπει να γράψουμε τα εξής :
<p id="right"> Αυτή είναι μια παράγραφος.
Το κείμενο αυτής της παραγράφου θα είναι δεξιά στοιχισμένο. </p>
<h3 id="right"> Αυτή είναι μια επικεφαλίδα.
Αυτή η επικεφαλίδα θα είναι επίσης δεξιά στοιχισμένη. </h3>
Το χαρακτηριστικό id πρέπει να έχει μια μοναδική τιμή στο έγγραφο.
Μπορούμε να εισάγουμε σχόλια (comments) στα CSS για να εξηγούμε τον κώδικά μας και τα οποία μπορούν να μας βοηθήσουν όταν θα χρειαστεί κάποια στιγμή να τροποποιήσουμε τον πηγαίο κώδικα (source code). Τα σχόλια αγνοούνται από τον φυλλομετρητή. Ένα CSS σχόλιο αρχίζει με τους χαρακτήρες /* και τελειώνει με τους χαρακτήρες */, ως εξής :
/* Αυτό είναι ένα σχόλιο (comment) */
p
{
text-align: center;
/* Αυτό είναι ένα ακόμη σχόλιο */
color: black;
font-family: arial
}
Παραδείγματα Κώδικα CSS
1ο Παράδειγμα
Ένα HTML αρχείο χρησιμοποιεί το tag <link> για να συνδεθεί μ’ ένα εξωτερικό φύλλο στυλ (external style sheet) :
<html>
<head>
<link rel="stylesheet" type="text/css" href="ex1.css">
</head>
<body>
<h1> This header is 36 pt </h1>
<h2> This header is blue </h2>
<p> This paragraph has a left margin of 50 pixels </p>
</body>
</html>
Το αρχείο του εξωτερικού φύλλου στυλ είναι το εξής (ex1.css) :
body {background-color: yellow}
h1 {font-size: 36pt}
h2 {color: blue}
p {margin-left: 50px}
2ο Παράδειγμα
Ένα HTML αρχείο χρησιμοποιεί το tag <link> για να συνδεθεί μ’ ένα εξωτερικό φύλλο στυλ (external style sheet) :
<html>
<head>
<link rel=stylesheet type="text/css" href="ex2.css">
</head>
<body>
<h1> This is a header 1 </h1>
<hr>
<p> You can see that the style sheet formats the text </p>
<p><a href="http://www.microsoft.com" target="_blank">
This is a link </a></p>
</body>
</html>
Το αρχείο του εξωτερικού φύλλου στυλ είναι το εξής (ex2.css) :
body {background-color: tan}
h1 {color:maroon; font-size:20pt}
hr {color:navy}
p {font-size:11pt; margin-left: 15px}
a:link {color:green}
a:visited {color:yellow}
a:active {color:blue}
a:hover {color:black}
Εισαγωγή ενός Φύλλου Στυλ (Style Sheet)
Όταν ένας φυλλομετρητής διαβάζει ένα φύλλο στυλ (style sheet), θα μορφοποιήσει το έγγραφο σύμφωνα μ’ αυτό. Υπάρχουν τρεις τρόποι για να εισάγουμε ένα φύλλο στυλ :
Εξωτερικά Φύλλα Στυλ (External Style Sheets)
Ένα εξωτερικό φύλλο στυλ (external style sheet) είναι ιδανικό όταν το στυλ εφαρμόζεται σε πολλές σελίδες. Μ’ ένα εξωτερικό φύλλο στυλ μπορούμε να αλλάξουμε την εμφάνιση ενός ολόκληρου Web site αλλάζοντας ένα μόνο αρχείο. Η κάθε σελίδα πρέπει να έχει έναν δεσμό (link) προς το φύλλο στυλ που χρησιμοποιεί το tag <link>, ο οποίος βρίσκεται μέσα στο τμήμα head, ως εξής :
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
Ο φυλλομετρητής θα διαβάζει τους ορισμούς στυλ από το αρχείο mystyle.css και θα μορφοποιήσει το έγγραφο σύμφωνα μ’ αυτό το αρχείο.
Ένα εξωτερικό φύλλο στυλ μπορεί να γραφεί σ’ έναν οποιονδήποτε text editor. Το αρχείο δεν πρέπει να περιέχει καθόλου html tags και πρέπει να αποθηκευθεί με την επέκταση .css. Ένα παράδειγμα ενός αρχείου φύλλου στυλ είναι το εξής :
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
Εσωτερικά Φύλλα Στυλ (Internal Style Sheets)
Ένα εσωτερικό φύλλο στυλ (internal style sheet) πρέπει να χρησιμοποιηθεί όταν ένα έγγραφο έχει ένα μοναδικό στυλ. Ορίζουμε τα εσωτερικά στυλ στο τμήμα head χρησιμοποιώντας το tag <style>, ως εξής :
<head>
<style type="text/css">
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
</style>
</head>
Ο φυλλομετρητής θα διαβάσει τους ορισμούς των στυλ και θα μορφοποιήσει ανάλογα το έγγραφο.
Ένας φυλλομετρητής κανονικά αγνοεί τα άγνωστα tags. Αυτό σημαίνει ότι ένας παλιός φυλλομετρητής που δεν υποστηρίζει στυλ, θα αγνοήσει το tag <style>, αλλά το περιεχόμενο του tag <style> θα εμφανισθεί στη σελίδα.
Μπορούμε να εμποδίσουμε έναν παλιό φυλλομετρητή από το να εμφανίσει αυτό το περιεχόμενο κρύβοντάς το με το στοιχείο σχολίου της HTML, ως εξής :
<head>
<style type="text/css">
<!--
hr {color: sienna}
p {margin-left: 20px}
body {background-image: url("images/back40.gif")}
-->
</style>
</head>
Ένα inline style χάνει πολλά από τα πλεονεκτήματα των φύλλων στυλ αναμειγνύοντας το περιεχόμενο με την παρουσίαση. Πρέπει να χρησιμοποιούμε αυτή τη μέθοδο με φειδώ, όπως όταν ένα στυλ πρόκειται να εφαρμοσθεί σε μία μοναδική εμφάνιση ενός στοιχείου.
Για να χρησιμοποιήσουμε τα inline styles χρησιμοποιούμε το χαρακτηριστικό (attribute) style στο σχετικό tag. Το χαρακτηριστικό style μπορεί να περιέχει οποιαδήποτε ιδιότητα CSS. Το παρακάτω παράδειγμα δείχνει πώς μπορούμε να αλλάξουμε το χρώμα και το αριστερό περιθώριο μιας παραγράφου :
<p style="color: sienna; margin-left: 20px">
Αυτή είναι μια παράγραφος
</p>
Αν μερικές ιδιότητες έχουν ορισθεί για τον ίδιο επιλογέα (selector) σε διαφορετικά φύλλα στυλ, οι τιμές θα κληρονομηθούν από το γενικότερο φύλλο στυλ. Για παράδειγμα, ένα εξωτερικό φύλλο στυλ έχει αυτές τις ιδιότητες για τον επιλογεά h3 :
h3
{
color: red;
text-align: left;
font-size: 8pt
}
Και ένα εσωτερικό φύλλο στυλ έχει αυτές τις ιδιότητες για τον επιλογέα h3 :
h3
{
text-align: right;
font-size: 20pt
}
Αν η σελίδα με το εσωτερικό φύλλο στυλ συνδέεται επίσης στο εξωτερικό φύλλο στυλ, οι ιδιότητες του h3 θα είναι οι εξής :
color: red;
text-align: right;
font-size: 20pt
Το χρώμα κληρονομείται από το εξωτερικό φύλλο στυλ και η στοίχιση κειμένου και το μέγεθος γραμματοσειράς αντικαθίστανται από το εσωτερικό φύλλο στυλ.
Οι ιδιότητες φόντου (background properties) του CSS ορίζουν τα εφέ φόντου ενός στοιχείου.
Ορισμός του Χρώματος Φόντου (Background Color) ενός Στοιχείου
<html>
<head>
<style>
body {background-color: yellow}
h1 {background-color: #00ff00}
h2 {background-color: transparent}
p {background-color: rgb(250, 0, 255)}
</style>
</head>
<body>
<h1> This is header 1 </h1>
<h2> This is header 2 </h2>
<p> This is a paragraph </p>
</body>
</html>
<html>
<head>
<style>
body
{
background-image: url("../images/bgdesert.jpg")
}
</style>
</head>
<body>
</body>
</html>
Επανάληψη μιας Εικόνας Φόντου Κατακόρυφα
<html>
<head>
<style>
body
{
background-image: url("../images/bgdesert.jpg");
background-repeat: repeat-y
}
</style>
</head>
<body>
</body>
</html>
Τοποθέτηση μιας Εικόνας Φόντου
<html>
<head>
<style>
body
{
background-image: url("../images/smiley.gif");
background-repeat: no-repeat;
background-position: center center
}
</style>
</head>
<body>
<p>
<b> Note: </b> Netscape 4 does not support the
"background-position" property.
</p>
</body>
</html>
Ορισμός μιας Σταθερής (Fixed) Εικόνας Φόντου
<html>
<head>
<style>
body
{
background-image: url("../images/smiley.gif");
background-repeat: no-repeat;
background-attachment: fixed
}
</style>
</head>
<body>
<br><br>
<p>
<b>Note:</b> Netscape 4 does not support the
"background-attachment" property.
</p>
<p> The image will not scroll with the rest of the page </p>
</body>
</html>
Όλες οι Ιδιότητες Φόντου σε μια Δήλωση
<html>
<head>
<style>
body
{
background: #00ff00
url("../images/smiley.gif")
no-repeat fixed
center center
}
</style>
</head>
<body>
<p>
<b> Note: </b>
The background-attachment and the background-position
properties do not work in Netscape 4.0.
</p>
<p> This is some text </p>
</body>
</html>
Οι ιδιότητες φόντου (background properties) μάς δίνουν τη δυνατότητα να ελέγξουμε το χρώμα φόντου ενός στοιχείου, να ορίσουμε μια εικόνα σαν φόντο, να επαναλάβουμε μια εικόνα φόντου κατακόρυφα ή οριζόντια και να τοποθετήσουμε μια εικόνα σε μια σελίδα.
NN: Netscape, IE: Internet Explorer, W3C: Web Standard
Ιδιότητα |
Περιγραφή |
Τιμές |
ΝΝ |
ΙΕ |
W3C |
background |
Ορίζει όλες τις ιδιότητες φόντου σε μια δήλωση |
background-color background-image background-repeat background-attachment background-position |
4.0 |
4.0 |
CSS1 |
background-attachment |
Ορίζει αν μια εικόνα φόντου είναι σταθερή (fixed) ή κυλάει μαζί με την υπόλοιπη σελίδα (scroll) |
scroll fixed |
6.0 |
4.0 |
CSS1 |
background-color |
Ορίζει το χρώμα φόντου ενός στοιχείου |
color-rgb color-hex color-name transparent |
4.0 |
4.0 |
CSS1 |
background-image |
Ορίζει μια εικόνα σαν φόντο |
url none |
4.0 |
4.0 |
CSS1 |
background-position |
Ορίζει τη θέση εκκίνησης μια εικόνας φόντου |
top left top center top right center left center center center right bottom left bottom center bottom right x-% y-% x-pos y-pos |
6.0 |
4.0 |
CSS1 |
background-repeat |
Ορίζει αν και πώς θα επαναλαμβάνεται μια εικόνα φόντου |
repeat repeat-x no-repeat |
4.0 |
4.0 |
CSS1 |
Οι ιδιότητες κειμένου (text properties) του CSS ορίζουν την εμφάνιση του κειμένου.
Ορισμός του Χρώματος Κειμένου
<html>
<head>
<style>
h1 {color: #00ff00}
h2 {color: #dda0dd}
p {color: rgb(0,0,255)}
</style>
</head>
<body>
<h1> This is header 1 </h1>
<h2> This is header 2 </h2>
<p> This is a paragraph </p>
</body>
</html>
Καθορισμός της Απόστασης των Χαρακτήρων
<html>
<head>
<style>
h1 {letter-spacing: -3px}
h4 {letter-spacing: 0.5cm}
</style>
</head>
<body>
<p>
<b> Note: </b> Netscape 4 does not support the "letter-spacing" property.
</p>
<h1> This is header 1 </h1>
<h4> This is header 4 </h4>
</body>
</html>
<html>
<head>
<style>
h1 {text-align: center}
h2 {text-align: left}
h3 {text-align: right}
</style>
</head>
<body>
<h1> This is header 1 </h1>
<h2> This is header 2 </h2>
<h3> This is header 3 </h3>
</body>
</html>
<html>
<head>
<style>
h2 {text-decoration: overline}
h4 {text-decoration: line-through}
p {text-decoration: underline}
a {text-decoration: none}
</style>
</head>
<body>
<h2>This is header 2</h2>
<h4>This is header 4</h4>
<p> This is some text in a paragraph </p>
<p>
<a href="http://www.w3schools.com"> This is a link </a>
</p>
</body>
</html>
<html>
<head>
<style>
p {text-indent: 1cm}
</style>
</head>
<body>
<p> This is some text in a paragraph </p>
</body>
</html>
<html>
<head>
<style>
p.uppercase {text-transform: uppercase}
p.lowercase {text-transform: lowercase}
p.capitalize {text-transform: capitalize}
</style>
</head>
<body>
<p class="uppercase"> This is some text in a paragraph </p>
<p class="lowercase"> This is some text in a paragraph </p>
<p class="capitalize"> This is some text in a paragraph </p>
</body>
</html>
Οι ιδιότητες κειμένου (text properties) μάς δίνουν τη δυνατότητα να ελέγξουμε την εμφάνιση του κειμένου. Είναι δυνατό να αλλάξουμε το χρώμα ενός κειμένου, να αυξήσουμε ή να ελαττώσουμε το διάστημα ανάμεσα στους χαρακτήρες ενός κειμένου, να ευθυγραμμίσουμε ένα κείμενο, να διακοσμήσουμε ένα κείμενο, να δημιουργήσουμε εσοχή στην πρώτη γραμμή ενός κειμένου κ.ά.
Ιδιότητα |
Περιγραφή |
Τιμές |
ΝΝ |
ΙΕ |
W3C |
color |
Ορίζει το χρώμα του κειμένου |
color |
4.0 |
4.0 |
CSS1 |
direction |
Ορίζει την κατεύθυνση του κειμένου |
ltr rtl |
|
5.0 |
CSS2 |
letter-spacing |
Αυξάνει ή ελαττώνει το διάστημα ανάμεσα στους χαρακτήρες |
normal length |
6.0 |
4.0 |
CSS1 |
text-align |
Ευθυγραμμίζει το κείμενο σ’ ένα στοιχείο |
left right center justify |
4.0 |
4.0 |
CSS1 |
text-decoration |
Προσθέτει διακόσμηση στο κείμενο |
none underline overline line-through blink |
4.0 |
4.0 |
CSS1 |
text-indent |
Δημιουργεί εσοχή στην πρώτη γραμμή του κειμένου ενός στοιχείου |
length % |
4.0 |
4.0 |
CSS1 |
text-shadow |
|
none color length |
|
|
|
text-transform |
Ελέγχει τα γράμματα σ’ ένα στοιχείο |
none capitalize uppercase lowercase |
4.0 |
4.0 |
CSS1 |
unicode-bidi |
|
normal embed bidi-override |
|
5.0 |
CSS2 |
white-space |
Ορίζει το πώς θα αντιμετωπίζεται το λευκό κενό (white space) μέσα σ’ ένα στοιχείο |
normal pre nowrap |
4.0 |
5.5 |
CSS1 |
word-spacing |
Αυξάνει ή ελαττώνει το διάστημα ανάμεσα στις λέξεις |
normal length |
6.0 |
|
CSS1 |
Ιδιότητες Γραμματοσειράς του CSS
Οι ιδιότητες γραμματοσειράς (font properties) του CSS ορίζουν τη γραμματοσειρά ενός κειμένου.
<html>
<head>
<style>
h3 {font-family: times}
p {font-family: courier}
p.sansserif {font-family: "sans-serif"}
</style>
</head>
<body>
<h3> This is header 3 </h3>
<p> This is a paragraph </p>
<p class="sansserif"> This is a paragraph </p>
</body>
</html>
<html>
<head>
<style>
h1 {font-size: 150%}
h2 {font-size: 130%}
p {font-size: 100%}
</style>
</head>
<body>
<h1> This is header 1 </h1>
<h2> This is header 2 </h2>
<p> This is a paragraph </p>
</body>
</html>
<html>
<head>
<style>
h1 {font-style: italic}
h2 {font-style: normal}
p {font-style: oblique}
</style>
</head>
<body>
<h1> This is header 1 </h1>
<h2> This is header 2 </h2>
<p> This is a paragraph </p>
</body>
</html>
Ορισμός του Variant Γραμματοσειράς
<html>
<head>
<style>
p.normal {font-variant: normal}
p.small {font-variant: small-caps}
</style>
</head>
<body>
<p>
<b> Note: </b> Netscape 4 does not support the "font-variant" property.
</p>
<p class="normal"> This is a paragraph </p>
<p class="small"> This is a paragraph </p>
</body>
</html>
Ορισμός του Boldness Γραμματοσειράς
<html>
<head>
<style>
p.normal {font-weight: normal}
p.thick {font-weight: bold}
p.thicker {font-weight: 900}
</style>
</head>
<body>
<p class="normal"> This is a paragraph </p>
<p class="thick"> This is a paragraph </p>
<p class="thicker"> This is a paragraph </p>
</body>
</html>
<html>
<head>
<style>
p
{
font: italic small-caps 900 12px arial
}
</style>
</head>
<body>
<p> This is a paragraph </p>
</body>
</html>
Οι ιδιότητες γραμματοσειρών μάς δίνουν τη δυνατότητα να αλλάξουμε την οικογένεια της γραμματοσειράς (font family), το έντονο (boldness), το μέγεθος (size) και το στυλ (style) ενός κειμένου.
Ιδιότητα |
Περιγραφή |
Τιμές |
ΝΝ |
ΙΕ |
W3C |
Font |
Ορίζει όλες τις ιδιότητες μιας γραμματοσειράς σε μια δήλωση |
font-style font-variant font-weight font-size/line-height font-family caption icon menu message-box small-caption status-bar |
4.0 |
4.0 |
CSS1 |
font-family |
Μια λίστα προτεραιότητας οικογενειών γραμματοσειράς και/ή generic ονομάτων οικογένειας για ένα στοιχείο |
family-name generic-family |
4.0 |
3.0 |
CSS1 |
font-size |
Ορίζει το μέγεθος μιας γραμματοσειράς |
xx-small x-small small medium large x-large xx-large smaller larger length % |
4.0 |
3.0 |
CSS1 |
font-size-adjust |
Καθορίζει μια τιμή άποψης (aspect value) για ένα στοιχείο που θα διατηρήσει το x-height της πρώτης επιλεγμένης γραμματοσειράς |
none number |
|
|
CSS2 |
font-stretch |
Συμπυκνώνει ή επεκτείνει την τρέχουσα οικογένεια γραμματοσειράς |
normal wider narrower ultra-condensed extra-condensed condensed semi-condensed semi-expanded expanded extra-expanded ultra-expanded |
|
|
CSS2 |
font-style |
Ορίζει το στυλ της γραμματοσειράς |
normal italic oblique |
4.0 |
4.0 |
CSS1 |
font-variant |
Εμφανίζει το κείμενο με μικρά κεφαλαία (small-caps) ή κανονικά (normal) |
normal small-caps |
6.0 |
4.0 |
CSS1 |
font-weight |
Ορίζει το βάρος (weight) μιας γραμματοσειράς |
normal bold bolder lighter 100 200 300 400 500 600 700 800 900 |
4.0 |
4.0 |
CSS1 |
Ιδιότητες Περιγράμματος του CSS
Οι ιδιότητες περιγράμματος (border properties) του CSS ορίζουν τα περιγράμματα γύρω από ένα στοιχείο.
<html>
<head>
<style>
p.dotted {border-style: dotted}
p.dashed {border-style: dashed}
p.solid {border-style: solid}
p.double {border-style: double}
p.groove {border-style: groove}
p.ridge {border-style: ridge}
p.inset {border-style: inset}
p.outset {border-style: outset}
</style>
</head>
<body>
<p> The "border-style" property is not recognized by Netscape
4. </p>
<p> Netscape 6 supports all border styles. </p>
<p> Internet Explorer 5.5 supports all border styles. Internet Explorer 4.0 - 5.0 does not support the "dotted" and
"dashed" values </p>
<p class="dotted"> A dotted border </p>
<br>
<p class="dashed"> A dashed border </p>
<br>
<p class="solid"> A solid border </p>
<br>
<p class="double"> A double border </p>
<br>
<p class="groove"> A groove border </p>
<br>
<p class="ridge"> A ridge border </p>
<br>
<p class="inset"> An inset border </p>
<br>
<p class="outset"> An outset border </p>
</body>
</html>
<html>
<head>
<style>
p.soliddouble {border-style: solid double}
p.doublesolid {border-style: double solid}
p.groovedouble {border-style: groove double}
p.three {border-style: solid double groove}
</style>
</head>
<body>
<p>
<b> Note: </b> Netscape 4 does not support the "border-style"
property. Use the "border" property to set the borders in
Netscape. </p>
<p class="soliddouble"> Some text </p>
<br>
<p class="doublesolid"> Some text </p>
<br>
<p class="groovedouble"> Some text </p>
<br>
<p cla ss="three"> Some text </p>
</body>
</html>
<html>
<head>
<style>
p.one
{
border-style: solid;
border-color: #0000ff
}
p.two
{
border-style: solid;
border-color: #ff0000 #0000ff
}
p.three
{
border-style: solid;
border-color: #ff0000 #00ff00 #0000ff
}
p.four
{
border-style: solid;
border-color: #ff0000 #00ff00 #0000ff
rgb(250, 0, 255)
}
</style>
</head>
<body>
<p class="one"><b> Note: </b> The "border-color" property is not recognized in Internet Explorer if it is used alone. Use the
"border-style" property to set the borders first in Internet Explorer. </p>
<p class="two"> Some text </p>
<p class="three"><b> Note: </b> Netscape 4 does not support the "border-color" property. Use the "border" property to set the
borders and colors in Netscape.</p>
<p class="four"> Some text </p>
</body>
</html>
<html>
<head>
<style>
p
{
border-style: solid;
border-bottom-width: 15px
}
</style>
</head>
<body>
<p> The "border-bottom-width" property is not recognized in Internet Explorer if it is used alone. Use the "border-style"
property to set the borders first with Internet Explorer. </p>
</body>
</html>
<html>
<head>
<style>
p
{
border-style: solid;
border-left-width: 15px
}
</style>
</head>
<body>
<p> The "border-left-width" property is not recognized in Internet Explorer if it is used alone. Use the "border-style"
property to set the borders first in Internet Explorer. </p>
</body>
</html>
<html>
<head>
<style>
p
{
border-style: solid;
border-right-width: 15px
}
</style>
</head>
<body>
<p> The "border-right-width" property is not recognized in Internet Explorer if it is used alone. Use the "border-style"
property to set the borders first in Internet Explorer. </p>
</body>
</html>
<html>
<head>
<style>
p
{
border-style: solid;
border-top-width: 15px
}
</style>
</head>
<body>
<p> The "border-top-width" property is not recognized in Internet Explorer if it is used alone. Use the "border-style" property to set the borders first in Internet Explorer. </p>
</body>
</html>
<html>
<head>
<style>
p
{
border-bottom: medium solid #ff0000
}
</style>
</head>
<body>
<p><b> Note: </b> Netscape 4 does not support the "border-bottom" property. Use the "border-bottom-width"
property to set the width of the bottom border with Netscape. </p>
</body>
</html>
<html>
<head>
<style>
p
{
border-left: medium solid #ff0000
}
</style>
</head>
<body>
<p><b> Note: </b> Netscape 4 does not support the "border-left" property. Use the "border-left-width" property to
set the width of the left border in Netscape. </p>
</body>
</html>
<html>
<head>
<style>
p
{
border-right: medium solid #ff0000
}
</style>
</head>
<body>
<p><b> Note: </b> Netscape 4 does not support the "border-right" property. Use the "border-right-width" property to
set the width of the right border in Netscape. </p>
</body>
</html>
<html>
<head>
<style>
p
{
border-top: medium solid #ff0000
}
</style>
</head>
<body>
<p><b> Note: </b> Netscape 4 does not support the "border-top" property. Use the "border-top-width" property to
set the width of the top border in Netscape. </p>
</body>
</html>
<html>
<head>
<style>
p.one
{
border-style: solid;
border-width: 5px
}
p.two
{
border-style: solid;
border-width: 5px 10px
}
p.three
{
border-style: solid;
border-width: 5px 10px 1px
}
p.four
{
border-style: solid;
border-width: 5px 10px 1px medium
}
</style>
</head>
<body>
<p class="one"> The "border-width" property is not recognized in Internet Explorer if it is used alone. Use the "border-style"
property to set the borders first in Internet Explorer. </p>
<p class="two"> Some text </p>
<p class="three"> Some text </p>
<p class="four"> Some text </p>
</body>
</html>
<html>
<head>
<style>
p
{
border: medium double rgb(250, 0, 255)
}
</style>
</head>
<body>
<p> Some text </p>
</body>
</html>
Οι ιδιότητες περιγραμμάτων μάς δίνουν τη δυνατότητα να καθορίσουμε το στυλ, το χρώμα και το πλάτος του περιγράμματος ενός στοιχείου. Στην HTML χρησιμοποιούμε πίνακες για να δημιουργούμε περιγράμματα γύρω από ένα κείμενο, αλλά με τις ιδιότητες περιγραμμάτων μπορούμε να δημιουργήσουμε περιγράμματα με ωραία εφέ και τα οποία μπορούν να εφαρμοσθούν σ’ ένα οποιοδήποτε στοιχείο.
Ιδιότητα |
Περιγραφή |
Τιμές |
ΝΝ |
ΙΕ |
W3C |
border |
Ορίζει όλες τις ιδιότητες για τα τέσσερα περιγράμματα σε μια δήλωση |
border-width border-style border-color |
4.0 |
4.0 |
CSS1 |
border-bottom |
Ορίζει όλες τις ιδιότητες του κάτω περιγράμματος σε μια δήλωση |
border-bottom-width border-style border-color |
6.0 |
4.0 |
CSS1 |
border-bottom-color |
Ορίζει το χρώμα του κάτω περιγράμματος |
border-color |
6.0 |
4.0 |
CSS2 |
border-bottom-style |
Ορίζει το στυλ του κάτω περιγράμματος |
border-style |
6.0 |
4.0 |
CSS2 |
border-bottom-width |
Ορίζει το πλάτος του κάτω περιγράμματος |
thin medium thick length |
4.0 |
4.0 |
CSS1 |
border-color |
Ορίζει το χρώμα των τεσσάρων περιγραμμάτων και μπορεί να έχει τιμή από ένα έως τέσσερα χρώματα |
color |
6.0 |
4.0 |
CSS1 |
border-left |
Ορίζει όλες τις ιδιότητες του αριστερού περιγράμ-ματος σε μια δήλωση |
border-left-width border-style border-color |
6.0 |
4.0 |
CSS1 |
border-left-color |
Ορίζει το χρώμα του αριστερού περιγράμματος |
border-color |
6.0 |
4.0 |
CSS2 |
border-left-style |
Ορίζει το στυλ του αριστερού περιγράμματος |
border-style |
6.0 |
4.0 |
CSS2 |
border-left-width |
Ορίζει το πλάτος του αριστερού περιγράμματος |
thin medium thick length |
4.0 |
4.0 |
CSS1 |
border-right |
Ορίζει όλες τις ιδιότητες του δεξιού περιγράμματος σε μια δήλωση |
border-right-width border-style border-color |
6.0 |
4.0 |
CSS1 |
border-right-color |
Ορίζει το χρώμα του δεξιού περιγράμματος |
border-color |
6.0 |
4.0 |
CSS2 |
border-right-style |
Ορίζει το στυλ του δεξιού περιγράμματος |
border-style |
6.0 |
4.0 |
CSS2 |
border-right-width |
Ορίζει το πλάτος του δεξιού περιγράμματος |
thin medium thick length |
4.0 |
4.0 |
CSS1 |
border-style |
Ορίζει το στυλ των τεσσάρων περιγραμμάτων και μπορεί να έχει τιμή από ένα έως τέσσερα στυλ |
none hidden dotted dashed solid double groove ridge inset outset |
6.0 |
4.0 |
CSS1 |
border-top |
Ορίζει όλες τις ιδιότητες του πάνω περιγράμματος σε μια δήλωση |
border-top-width border-style border-color |
6.0 |
4.0 |
CSS1 |
border-top-color |
Ορίζει το χρώμα του πάνω περιγράμματος |
border-color |
6.0 |
4.0 |
CSS2 |
border-top-style |
Ορίζει το στυλ του πάνω περιγράμματος |
border-style |
6.0 |
4.0 |
CSS2 |
border-top-width |
Ορίζει το πλάτος του πάνω περιγράμματος |
thin medium thick length |
4.0 |
4.0 |
CSS1 |
border-width |
Ορίζει το πλάτος των τεσσάρων περιγραμμάτων σε μια δήλωση και μπορεί να έχει από μία έως τέσσερις τιμές |
thin medium thick length |
4.0 |
4.0 |
CSS1 |
Οι ιδιότητες περιθωρίου (margin properties) του CSS ορίζουν το διάστημα γύρω από τα στοιχεία.
<html>
<head>
<style>
p.margin {margin-left: 2cm}
</style>
</head>
<body>
<p>
This is a paragraph This is a paragraph
This is a paragraph This is a paragraph
</p>
<p class="margin">
This is a paragraph with a left margin
This is a paragraph with a left margin
</p>
</body>
</html>
<html>
<head>
<style>
p.margin {margin-right: 5cm}
</style>
</head>
<body>
<p>
This is a paragraph This is a paragraph
This is a paragraph This is a paragraph
</p>
<p class="margin">
This is a paragraph with a right margin
This is a paragraph with a right margin
</p>
</body>
</html>
<html>
<head>
<style>
p.margin {margin-top: 5cm}
</style>
</head>
<body>
<p>
This is a paragraph This is a paragraph
This is a paragraph This is a paragraph
</p>
<p class="margin">
This is a paragraph with a top margin
This is a paragraph with a top margin
</p>
</body>
</html>
<html>
<head>
<style>
p.margin {margin-bottom: 80px}
</style>
</head>
<body>
<p>
This is a paragraph This is a paragraph
This is a paragraph This is a paragraph
</p>
<p class="margin">
This is a paragraph with a bottom margin
This is a paragraph with a bottom margin
</p>
<p>
This is a paragraph This is a paragraph
This is a paragraph This is a paragraph
</p>
</body>
</html>
<html>
<head>
<style>
p.margin {margin: 2cm 4cm 3cm 4cm}
</style>
</head>
<body>
<p> This is a paragraph </p>
<p class="margin"> This is a paragraph with margins </p>
<p> This is a paragraph </p>
</body>
</html>
Οι ιδιότητες περιθωρίου ορίζουν το διάστημα γύρω από τα στοιχεία. Μπορούμε να χρησιμοποιήσουμε αρνητικές τιμές για να επικαλύψουμε (overlap) το περιεχόμενο.
Το πάνω, δεξιά, κάτω και αριστερό περιθώριο μπορούν να αλλάξουν ανεξάρτητα χρησιμοποιώντας ξεχωριστές ιδιότητες. Μπορούμε να χρησιμοποιήσουμε την ιδιότητα margin για να αλλάξουμε όλα τα περιθώρια μονομιάς.
Ιδιότητα |
Περιγραφή |
Τιμές |
ΝΝ |
ΙΕ |
W3C |
margin |
Ορίζει τις ιδιότητες περιθωρίου σε μια δήλωση |
margin-top margin-right margin-bottom margin-left |
4.0 |
4.0 |
CSS1 |
margin-bottom |
Ορίζει το κάτω περιθώριο ενός στοιχείου |
auto length % |
4.0 |
4.0 |
CSS1 |
margin-left |
Ορίζει το αριστερό περιθώριο ενός στοιχείου |
auto length % |
4.0 |
3.0 |
CSS1 |
margin-right |
Ορίζει το δεξιό περιθώριο ενός στοιχείου |
auto length % |
4.0 |
3.0 |
CSS1 |
margin-top |
Ορίζει το πάνω περιθώριο ενός στοιχείου |
auto length % |
4.0 |
3.0 |
CSS1 |
Ιδιότητες Padding του CSS
Οι ιδιότητες padding του CSS ορίζουν το διάστημα ανάμεσα στο περίγραμμα και στο περιεχόμενο του στοιχείου.
Ορισμός του Αριστερού Padding ενός Κελιού Πίνακα
<html>
<head>
<style>
td {padding-left: 2cm}
</style>
</head>
<body>
<table border="1">
<tr>
<td> This is a tablecell with a left padding </td>
</tr>
</table>
</body>
</html>
Ορισμός του Δεξιού Padding ενός Κελιού Πίνακα
<html>
<head>
<style>
td {padding-right: 5cm}
</style>
</head>
<body>
<table border="1">
<tr>
<td> This is a tablecell with a right padding.
<p><b> Note: </b> Netscape 4 does not support the "padding-right" property. </p> </td>
</tr>
</table>
</body>
</html>
Ορισμός του Πάνω Padding ενός Κελιού Πίνακα
<html>
<head>
<style>
td {padding-top: 2cm}
</style>
</head>
<body>
<table border="1">
<tr>
<td> This is a tablecell with a top padding </td>
</tr>
</table>
</body>
</html>
Ορισμός του Κάτω Padding ενός Κελιού Πίνακα
<html>
<head>
<style>
td {padding-bottom: 2cm}
</style>
</head>
<body>
<table border="1">
<tr>
<td> This is a tablecell with a bottom padding </td>
</tr>
</table>
</body>
</html>
Όλες οι Ιδιότητες Padding σε μια Δήλωση
<html>
<head>
<style>
td {padding: 1.5cm}
td.twovalues {padding: 0.5cm 2.5cm}
</style>
</head>
<body>
<table border="1">
<tr>
<td> This is a tablecell with padding on each side </td>
</tr>
</table>
<br>
<table border="1">
<tr>
<td class="twovalues"> This is a tablecell with padding on each side. The top and bottom padding have the same
value (0.5cm), while the left and right padding have another value (2.5) </td>
</tr>
</table>
</body>
</html>
Το Padding του CSS
Οι ιδιότητες padding (παραγεμίσματος) ορίζουν το διάστημα ανάμεσα στο περίγραμμα ενός στοιχείου και στο περιεχόμενό του. Αρνητικές τιμές δεν επιτρέπονται. Τα πάνω, δεξιά, κάτω και αριστερά padding μπορούν να αλλάξουν ανεξάρτητα χρησιμοποιώντας ξεχωριστές ιδιότητες.
Ιδιότητα |
Περιγραφή |
Τιμές |
ΝΝ |
ΙΕ |
W3C |
padding |
Ορίζει όλες τις ιδιότητες padding σε μια δήλωση |
padding-top padding-right padding-bottom padding-left |
4.0 |
4.0 |
CSS1 |
padding-bottom |
Ορίζει το κάτω padding ενός στοιχείου |
length % |
4.0 |
4.0 |
CSS1 |
padding-left |
Ορίζει το αριστερό padding ενός στοιχείου |
length % |
4.0 |
4.0 |
CSS1 |
padding-right |
Ορίζει το δεξιό padding ενός στοιχείου |
length % |
4.0 |
4.0 |
CSS1 |
padding-top |
Ορίζει το πάνω padding ενός στοιχείου |
length % |
4.0 |
4.0 |
CSS1 |
Οι ιδιότητες λίστας (list properties) μάς δίνουν τη δυνατότητα να επιλέξουμε ανάμεσα σε διαφορετικά σημάδια λίστας (list-item markers), να ορίσουμε μια εικόνα σαν list-item marker καθώς και τη θέση ενός list-item marker.
<html>
<head>
<style>
ul.disc
{
list-style-type: disc
}
ul.circle
{
list-style-type: circle
}
ul.square
{
list-style-type: square
}
</style>
</head>
<body>
<ul class="disc">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ul>
<ul class="circle">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ul>
<ul class="square">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ul>
</body>
</html>
<html>
<head>
<style>
ol.decimal
{
list-style-type: decimal
}
ol.lroman
{
list-style-type: lower-roman
}
ol.uroman
{
list-style-type: upper-roman
}
ol.lalpha
{
list-style-type: lower-alpha
}
ol.ualpha
{
list-style-type: upper-alpha
}
</style>
</head>
<body>
<ol class="decimal">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ol>
<ol class="lroman">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ol>
<ol class="uroman">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ol>
<ol class="lalpha">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ol>
<ol class="ualpha">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ol>
</body>
</html>
<html>
<head>
<style>
ul
{
list-style-image: url("../images/ball3.gif")
}
</style>
</head>
<body>
<p><b> Note: </b> Netscape 4 does not support the
"list-style-image" property. </p>
<ul>
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ul>
</body>
</html>
<html>
<head>
<style>
ul.inside
{
list-style-position: inside
}
ul.outside
{
list-style-position: outside
}
</style>
</head>
<body>
<p><b> Note: </b> Netscape 4 does not support the "list-style-position" property.</p>
<p> This list has a value of "inside" : </p>
<ul class="inside">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ul>
<p> This list has a value of "outside" : </p>
<ul class="outside">
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ul>
</body>
</html>
<html>
<head>
<style>
ul
{
list-style: square inside url("../images/ball3.gif")
}
</style>
</head>
<body>
<p><b> Note: </b> Netscape 4 does not display the images or position the list. </p>
<ul>
<li> Coffee </li>
<li> Tea </li>
<li> Coca Cola </li>
</ul>
</body>
</html>
Ιδιότητα |
Περιγραφή |
Τιμές |
ΝΝ |
ΙΕ |
W3C |
list-style |
Ορίζει όλες τις ιδιότητες μιας λίστας σε μια δήλωση |
list-style-type list-style-position list-style-image |
6.0 |
4.0 |
CSS1 |
list-style-image |
Ορίζει μια εικόνα σαν το list-item marker |
none url |
6.0 |
4.0 |
CSS1 |
list-style-position |
Ορίζει πού θα τοποθετηθεί στη λίστα το list-item marker |
inside outside |
6.0 |
4.0 |
CSS1 |
list-style-type |
Ορίζει τον τύπο του list-item marker |
none disc circle square decimal decimal-leading-zero lower-roman upper-roman lower-alpha upper-alpha lower-greek lower-latin upper-latin hebrew armenian georgian cjk-ideographic hiragana katakana hiragana-iroha katakana-iroha |
4.0 |
4.0 |
CSS1 |
marker-offset |
|
auto length |
|
|
CSS2 |