(¯`·._.·trungqui1991·._.·´¯)

º)))).·´¯`·.DIỄN ĐÀN CÔNG NGHỆ THÔNG TIN ¸.·´¯`·.¸((((º
 
Trang ChínhCalendarGalleryTrợ giúpTìm kiếmThành viênNhómĐăng kýĐăng Nhập

Share | 
 

 Tutorial CSS toàn tập

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Admin
Admin
avatar

Tổng số bài gửi : 22
Join date : 13/03/2011

Bài gửiTiêu đề: Tutorial CSS toàn tập   Sun Mar 13, 2011 9:20 pm

<div> Bài 1: Giới Thiệu

.1. CSS là gì?
Trong lĩnh vực xây dựng, chúng ta có trang trí nội thất; trong lĩnh vực thẩm
mỹ - làm đẹp, chúng ta có kỹ thuật make-up; còn trong lĩnh vực thiết kế web chúng
ta có CSS. Đây chỉ là một định nghĩa giàu hình ảnh của Pearl thôi (nhưng cũng
thực tế nhỉ (smile). Còn CSS (Cascading Style Sheets mà Pearl tạm dịch là tờ mẫu
theo Style Sheets) là một ngôn ngữ quy định cách trình bày cho các tài liệu viết
bằng HTML, XHTML, XML, SVG, hay UML,…

2.1. Cú pháp CSS:
Để tìm hiểu cú pháp CSS chúng ta hãy thử xem một ví dụ sau.
Ví dụ: Để định màu nền cho một trang web là xanh nhạt (light cyan) chúng ta dùng
code sau:
+ Trong HTML:
+ Trong CSS: body { background-color:#00BFF3; }
Nhìn qua ví dụ trên ít nhiều chúng ta cũng thấy được mối tương đồng giữa
các thuộc tính trong HTML và CSS cho nên nếu bạn đã học qua HTML thì cũng sẽ
rất dễ dàng tiếp thu CSS. Đó là một chút lợi thế của câu chuyện hành trình mà
Pearl đã nói ở bài trước. Nhưng không sao cả, bây giờ hãy nhìn vào ví dụ của
chúng ta và các bạn xem nó có giống với cấu trúc sau không nhé.
Cú pháp CSS cơ bản:
Selector { property:value; }
Trong đó:

+ Selector: Các đối tượng mà chúng ta sẽ áp dụng các thuộc tính trình bày. Nó là
các tag HTML, class hay id (chúng ta sẽ học về 2 thành phần này ở bài học sau).
Ví dụ: body, h2, p, img, #title, #content, .username,…
Trong CSS ngoài viết tên selector theo tên tag, class, id. Chúng ta còn có thể
viết tên selector theo phân cấp như để chỉ các ảnh ở trong #entry, chúng ta viết
selector là #entry img, như vậy thì các thuộc tính chỉ định sẽ chỉ áp dụng riêng cho
các ảnh nằm trong #entry.
Khi viết tên cho class, đôi khi sẽ có nhiều thành phần có cùng class đó, ví dụ
như thẻ img và thẻ a cùng có class tên vistors nhưng đây lại là hai đối tượng khác
nhau, 1 cái là ảnh của người thăm, 1 cái là liên kết tới trang người thăm. Nên nếu
khi viết CSS ta ghi là .visitors { width:50 } thì sẽ ảnh hưởng tới cả hai thành phần.
Nên trong trường hợp này, nếu bạn có ý dùng CSS đó chỉ riêng phần ảnh thì chỉ
nền ghi là img .visitors thôi.
Một lối viết tên selector nữa đó là dựa trên tên các thuộc tính có trong
HTML. Ví dụ trong HTML ta có đoạn mã như vầy: . Để áp dụng thuộc tính CSS cho riêng ô tìm
kiếm này chúng ta sẽ dùng selector input[name=”Search”].
Ngoài việc viết tên selector cụ thể, chúng ta cũng có thể dùng một selector
đại diện như * { color:red } sẽ tác động đến tất cả các thành phần có trên trang web
làm cho chúng có text màu đỏ.
+ Property: Chính là các thuộc tính quy định cách trình bày. Ví dụ: background-
color, font-family, color, padding, margin,…
Mỗi thuộc tính CSS phải được gán một giá trị. Nếu có nhiều hơn một thuộc
tính cho một selector thì chúng ta phải dùng một dấu ; (chấm phẩy) để phân cách
các thuộc tính. Tất cả các thuộc tính trong một selector sẽ được đặt trong một cặp
ngoặc nhọn sau selector.
Ví dụ: body { background:#FFF; color:#FF0000; font-size:14pt }
Để dễ đọc hơn, bạn nên viết mỗi thuộc tính CSS ở một dòng. Tuy nhiên, nó
sẽ làm tăng dung lượng lưu trữ CSS của bạn.
Ví dụ: body {
background:#FFF;
bolor:#FF0000;
font-size:14pt
}
Đối với một trang web có nhiều thành phần có cùng một số thuộc tính,
chúng ta có thể thực hiện gom gọn lại như sau:
h1 { color:#0000FF;
text-transform:uppercase }
h2 {
color:#0000FF;
text-transform:uppercase;
}
h3 {
color:#0000FF;
text-transform:uppercase;
}
=> h1, h2, h3 {
color:#0000FF;
text-transform:uppercase;
}
+ Value: Giá trị của thuộc tính. Ví dụ: như ví dụ trên value chính là #FFF dùng để
định màu trắng cho nền trang.
Đối với một giá trị có khoảng trắng, bạn nên đặt tất cả trong một dấu ngoặc
kép. Ví dụ: font-family:”Times New Roman”
Đối với các giá trị là đơn vị đo, không nên đặt một khoảng cách giữa số đo
với đơn vị của nó. Ví dụ: width:100 px. Nó sẽ làm CSS của bạn bị vô hiệu trên
Mozilla/Firefox hay Netscape.
Chú thích trong CSS:
Cũng như nhiều ngôn ngữ web khác. Trong CSS, chúng ta cũng có thể viết chú
thích cho các đoạn code để dễ dàng tìm, sửa chữa trong những lần cập nhật sau.
Chú thích trong CSS được viết như sau /* Nội dung chú thích */
Ví dụ:
/* Màu chữ cho trang web */
body {
color:red
}
2.2. Đơn vị CSS:
Trong CSS2 hỗ trợ các loại đơn vị là đơn vị đo chiều dài và đơn vị đo góc,
thời gian, cường độ âm thanh và màu sắc. Tuy nhiên, sử dụng phổ biến nhất vẫn là
đơn vị đo chiều dài và màu sắc. Sau đây là bảng liệt kê các đơn vị chiều dài và màu
sắc dùng trong CSS.
Đơn vị chiều dài

http://illiweb.com/fa/pbucket.gif

2.3. Vị trí đặt CSS:
Ở trên chúng ta đã tìm hiểu về cú pháp viết CSS, nhưng còn đặt nó ở đâu
trong tài liệu HTML? Trong phần này, Pearl xin giới thiệu với các bạn về vấn đề
này.
Chúng ta có ba cách khác nhau để nhúng CSS vào trong một tài liệu HTML
+ Cách 1: Nội tuyến (kiểu thuộc tính)
Đây là một phương pháp nguyên thủy nhất để nhúng CSS vào một tài liệu
HTML bằng cách nhúng vào từng thẻ HTML muốn áp dụng. Và dĩ nhiên trong
trường hợp này chúng ta sẽ không cần selector trong cú pháp.
Lưu ý: Nếu bạn muốn áp dụng nhiều thuộc tính cho nhiều thẻ HTML khác nhau thì
không nên dùng cách này.
Ở ví dụ sau chúng ta sẽ tiến hành định nền màu trắng cho trang và màu chữ xanh lá
cho đoạn văn bản như sau:


Ví dụ


[color:ff65=green”]^_^ Welcome To WallPearl’s Blog ^_^




+ Cách 2: Bên trong (thẻ style)
Thật ra nếu nhìn kỹ chúng ta cũng nhận ra đây chỉ là một phương cách thay
thế cách thứ nhất bằng cách rút tất cả các thuộc tính CSS vào trong thẻ style (để
tiện cho công tác bảo trì, sửa chữa ấy mà).
Cũng ví dụ làm trang web có màu nền trắng, đoạn văn bản chữ xanh lá, chúng ta sẽ
thể hiện như sau:


Ví dụ

body { background-color:#FFF }
p { color:#00FF00 }



^_^ Welcome To WallPearl’s Blog ^_^



Lưu ý: Thẻ style nên đặt trong thẻ head.
Đối với những trình duyệt cũ, không thể nhận ra thẻ . Theo mặc định, thì
khi một trình duyệt không nhận ra một thẻ thì nó sẽ hiện ra phần nội dung chứa
trong thẻ. Như ở ví dụ trên, nếu trình duyệt không hỗ trợ thẻ style thì 2 dòng CSS:
body {background-color:#FFF } p { color:#00FF00 } sẽ hiện ra trên trình duyệt.
Để tránh tình trạng này, bạn nên đưa vào thêm dấu ở sau khối
code CSS. Như ví dụ trên sẽ viết lại là:



+ Cách 3: Bên ngoài (liên kết với một file CSS bên ngoài)
Tương tự như cách 2 nhưng thay vì đặt tất cả các mã CSS trong thẻ style
chúng ta sẽ đưa chúng vào trong một file CSS (có phần mở rộng .css) bên ngoài và
liên kết nó vào trang web bằng thuộc tính href trong thẻ link.
Đây là cách làm được khuyến cáo, nó đặc biệt hữu ích cho việc đồng bộ hay
bảo trì một website lớn sử dụng cùng một kiểu mẫu. Các ví dụ trong sách này cũng
được trình bày theo kiểu này.

http://illiweb.com/fa/pbucket.gif

Nào bây giờ chúng ta hãy mở Notepad lên và thử thực hiện theo ví dụ sau:
Đầu tiên chúng ta sẽ tạo ra một file vidu.html có nội dung như sau:


Ví dụ



^_^ Welcome To WallPearl’s Blog ^_^



Sau đó hãy tạo một file style.css với nội dung:
body {
background-color:#FFF
}
p {
color:#00FF00
}
Hãy đặt 2 file này vào cùng một thư mục, mở file vidu.html trong trình duyệt của
bạn và xem thành quả.
Lưu ý:
Để lưu 1 file với 1 đuôi khác .txt trong Notepad chúng ta chọn Save as type
là All Files. Có thể chọn Encoding là UTF-8, nếu bạn chú thích CSS bằng tiếng
Việt.
Trong CSS chúng ta còn có thể sử dụng thuộc tính @import để nhập một file
CSS vào CSS hiện hành. Cú pháp: @import url(link)
2.4. Sự ưu tiên:
Trước khi thực thi CSS cho một trang web. Trình duyệt sẽ đọc toàn bộ CSS
mà trang web có thể được áp dụng, bao gồm: CSS mặc định của trình duyệt, file
CSS bên ngoài liên kết vào trang web, CSS nhúng trong thẻ và các CSS
nội tuyến. Sau đó, trình duyệt sẽ tổng hợp toàn bộ CSS này vào một CSS ảo, và
nếu có các thuộc tính CSS giống nhau thì thuộc tính CSS nào nằm sau sẽ được ưu
tiên sử dụng (cái này cũng giống như chương trình “Ai Là Triệu Phú” trên truyền
hình vậy, chỉ câu trả lời sau cùng mới được chấp nhận (smile)). Theo nguyên tắc
đó trình duyệt của bạn sẽ ưu tiên cho các CSS nội tuyến > CSS bên trong > CSS
bên ngoài > CSS mặc định của trình duyệt.
Ví dụ:
Trong một trang web có liên kết tới file style.css có nội dung như sau:
p {
color:#333;
text-align:left;
width:500px
}
trong thẻ giữa thẻ cũng có một đoạn CSS liên quan:
p {
background-color:#FF00FF;
text-align:right;
width:100%;
height:150px
}
trong phần nội dung trang web đó cũng có sử dụng CSS nội tuyến:

Đi qua bài học này, bạn đã nắm bắt được cách định font chữ cho một thành phần
trang web cũng như cách sử dụng các kiểu font in nghiêng, in đậm, font small-caps
và cách qui định kích thước font. Trong bài học kế chúng ta sẽ được tìm hiểu thêm
về các thuộc tính CSS về định dạng văn bản.

Bài 4: Text

Định dạng và thêm vào các kiểu định dạng đặc biệt cho phần nội dung một trang
web là một vấn đề quan trọng cho bất cứ nhà thiết kế web nào. Như đã nói, ở bài
học này chúng ta sẽ được tìm hiểu về các thuộc tính CSS về định dạng văn bản.
5.1. Màu chữ (thuộc tính color):
Để định màu chữ cho một thành phần nào đó trên trang web chúng ta sử
dụng thuộc tính color. Giá trị của thuộc tính này là các giá trị màu CSS hỗ trợ.
Ví dụ sau chúng ta sẽ viết CSS để định màu chữ chung cho một trang web là đen,
cho tiêu đề h1 màu xanh da trời, cho tiêu đề h2 màu xanh lá chúng ta sẽ làm như
body {
color:#000
}
h1 {
color:#0000FF
}
h2 {
color:#00FF00
}


5.2. Thuộc tính text-indent :
Thuộc tính text-indent cung cấp khả năng tạo ra khoảng thụt đầu dòng cho dòng
đầu tiên trong đoạn văn bản. Giá trị thuộc tính này là các đơn vị đo cơ bản dùng
trong CSS.
Trong ví dụ sau chúng ta sẽ định dạng thụt đầu dòng một khoảng 30px cho dòng
văn bản đầu tiên trong mỗi đoạn văn bản đối với các thành phần

p {
text-indent:30px
}
5.3. Thuộc tính text-align :
Thuộc tính text-align giúp bạn thêm các canh chỉnh văn bản cho các thành phần
trong trang web.
Cũng tương tự như các lựa chọn canh chỉnh văn bản trong các trình soạn thảo văn
bản thông dụng như MS Word, thuộc tính này có tất cả 4 giá trị : left (canh trái –
mặc định), right (canh phải), center (canh giữa) và justify (canh đều).
Trong ví dụ sau chúng ta sẽ thực hiện canh phải các thành phần h1, h2 và canh đều
đối với thành phần

h1, h2 {
text-align:right
}
p {
text-align:justify
}
5.4. Thuộc tính letter-spacing:
Thuộc tính letter-spacing được dùng để định khoảng cách giữa các ký tự trong một
đoạn văn bản.
Muốn định khoảng cách giữa các ký tự trong thành phần h1, h2 là 7px và thành
phần
là 5px chúng ta sẽ viết CSS sau:
h1, h2 {
letter-spacing:7px
}
p { letter-spacing:5px }

5.5. Thuộc tính text-decoration:
Thuộc tính text-decoration giúp bạn thêm các hiệu ứng gạch chân (underline), gạch
xiên (line-through), gạch đầu (overline), và một hiệu ứng đặc biệt là văn bản nhấp
nháy (blink).
Ví dụ sau chúng ta sẽ định dạng gạch chân cho thành phần h1, gạch đầu thành
phần h2
h1 {
text-decoration:underline
}
h2 {
text-decoration:overline
}
5.6. Thuộc tính text-transform:
Text-transform là thuộc tính qui định chế độ in hoa hay in thường của văn bản mà
không phụ thuộc vào văn bản gốc trên HTML.
Thuộc tính này có tất cả 4 giá trị: uppercase (in hoa), lowercase (in thường),
capitalize (in hoa ở ký tự đầu tiên trong mỗi từ) và none (không áp dụng hiệu ứng –
mặc định).
Trong ví dụ dưới đây chúng ta sẽ định dạng cho thành phần h1 là in hoa, h2 là in
hoa đầu mỗi ký tự.
h1 {
text-transform:uppercase
}
h2 {
text-transform:capitalize
}

Bài 5: Pseudo-classes For Links

Một thành phần rất quan trọng trong mọi website chính là liên kết.Cũng như một
đối tượng văn bản thông thường, chúng ta hoàn toàn có thể áp dụng các thuộc tính
định dạng đã học ở 2 bài trước như định font chữ, gạch chân, màu chữ,… cho một
liên kết. Hơn nữa, CSS còn cung cấp một điều khiển đặc biệt được gọi là pseudo-
classes. Pseudo-classes cho phép bạn xác định các hiệu ứng định dạng cho một đối
tượng liên kết ở một trạng thái xác định như khi liên kết chưa được thăm (a:link),
khi rê chuột lên liên kết (a:hover), khi liên kết được thăm (a:visited) hay khi liên
kết đang được kích hoạt – đang giữ nhấn chuột (a:active). Với điều khiển pseudo-
classes cùng với các thuộc tính CSS đã học chắc chắn sẽ mang lại rất nhiều ý
tưởng về trang trí liên kết cho trang web.
Sau đây chúng ta sẽ tiến hành một số ví dụ để tìm hiểu thêm về các khả năng trang
trí cho một liên kết dựa trên pseudo-classes.
Ví dụ 1: Ví dụ này chúng ta sẽ áp dụng 4 màu sắc khác nhau cho từng trạng thái
liên kết: các liên kết chưa thăm có màu xanh lá; các liên kết mouse over sẽ có màu
đỏ tươi; các liên kết đã thăm sẽ có màu đỏ và các liên kết đang kích hoạt có màu
tím.
a:link {
color:#00FF00
}
a:hover {
color:#FF00FF
}
a:visited {
color:#FF0000
}
a:active { color:# 662D91 }

Ví dụ 2: Tạo các hiệu ứng tương ứng với trình trạng liên kết: các liên chưa thăm có
màu xanh lá, kích cỡ font 14px; liên kết mouse over có màu đỏ tươi, kích cỡ font
1.2em, hiệu ứng nhấp nháy; liên kết đã thăm sẽ có màu xanh da trời, không có
đường gạch chân; các liên kết đang kích hoạt có màu tím và font dạng small-caps.
a:link {
color:#00FF00;
font-size:14px
}

a:hover {
color:#FF00FF;
font-size:1.2em;
text-decoration:blink
}

a:visited {
color:#FF0000;
text-decoration:none
}

a:active {
color:# 662D91;
font-variant:small-caps
}
Ví dụ 3: Ví dụ này cũng tạo cho liên kết hiệu ứng màu sắc giống ví dụ 2 nhưng sẽ
có thêm 1 số hiệu ứng: các liến kết sẽ có khung viền màu đen, kích cỡ font 14px;
liên kết mouse over có nền light cyan; các liên kết đã thăm có nền light yellow.

a {
border:1px solid #000;
font-size:14px
}

a:link {
color:#00FF00;
}

a:hover {
background-color:#00BFF3;
color:#FF00FF;
font-size:1.2em;
text-decoration:blink
}

a:visited {
background-color:#FFF568;
color:#FF0000;
text-decoration:none
}

a:active { color:#662D91; font-variant:small-caps }
Ba ví dụ trên chỉ là một tí gợi ý về khả năng kết hợp các thuộc tính CSS với
pseudo-classes để tạo nên nhiều hiệu ứng hấp dẫn cho trang web. Cũng xin nói
luôn là các ví dụ Pearl trình bày trong bài này cũng như những bài khác thật ra
trông không dễ nhìn, đó là do Pearl không có nhiều thời gian để chăm chút các ví
dụ của mình. Cái mà Pearl muốn nói chỉ là làm thế nào các bạn hiểu tác dụng một
thuộc tính nào đó để có thể vận dụng cho trang web của chính mình.

Bài 6: Class & ID

Trong các bài học trước, chúng ta đã được học các thuộc tính CSS về background,
color, font,… Tuy nhiên, bạn cũng nhận ra là khi áp dụng một thuộc tính CSS cho
một thành phần nào đó ví dụ như h1, h2, p, a, img,… thì toàn bộ các thành phần
này trong trang web đều nhận thuộc tính này. Vậy có các nào để nhóm lại một số
thành phần nào đó để áp dụng một thuộc tính đặc biệt. Ví dụ như bạn muốn các
liên kết trên menu trang web sẽ được in hoa, và có kích cỡ lớn hơn so với liên kết
trong nội dung thì phải làm thế nào? Đây chính là vấn đề mà chúng ta sẽ cùng giải
quyết trong chương này.
7.1. Nhóm các phần tử với class :
Ví dụ chúng ta có một đoạn mã HTML sau đây :
Danh Sách Các Tỉnh, Thành Phố Của Việt Nam

* Hà Nội
* TP. Hồ Chí Minh
* Đà Nẵng
* Thừa Thiên Huế
* Khánh Hòa
* Quãng Ninh
* Tiền Giang




Yêu cầu đặt ra là làm thế nào để tên các thành phố là màu đỏ và tên các tỉnh là màu
xanh da trời. Để giải quyết vấn đề này chúng ta sẽ dùng một thuộc tính HTML gọi
là class để tạo thành 2 nhóm là thành phố và tính. Ta sẽ viết lại đoạn HTML sau
thành như thế này:
Danh Sách Các Tỉnh, Thành Phố Của Việt Nam

* Hà Nội
* TP. Hồ Chí Minh
* Đà Nẵng
* Thừa Thiên Huế
* Khánh Hòa
* Quãng Ninh
* Tiền Giang


Với việc dùng class để nhóm các đối tượng như trên thì công việc của chúng ta sẽ
trở nên đơn giản hơn nhiều:
li .tp {
color:FF0000
}
li .tinh {
color:0000FF
}
Lưu ý: Không nên đặt tên class với ký tự đầu là chữ số, nó sẽ không làm việc cho
Firefox.

7.2. Nhận dạng phần tử với id:
Ví dụ:
Cũng với đoạn HTML như ví dụ về class. Nhưng yêu cầu đặt ra là Hà Nội sẽ có
màu đỏ sậm, TP. Hồ Chí Minh màu đỏ, Đà Nẵng màu đỏ tươi còn các tỉnh màu
xanh da trời. Để giải quyết vấn đề này chúng ta sẽ sử dụng thuộc tính HTML là id
để nhận dạng mỗi thành phố và dùng class để nhóm các tỉnh. Đoạn HTML của
chúng ta bây giờ sẽ là :
Danh Sách Các Tỉnh, Thành Phố Của Việt Nam

* Hà Nội
* TP. Hồ Chí Minh
* Đà Nẵng
* Thừa Thiên Huế
* Khánh Hòa
* Quãng Ninh
* Tiền Giang


Và đoạn CSS cần dùng sẽ là :
#hanoi { color:# 790000 }
#hcmc { color:#FF0000 }
#danang { color:#FF00FF }
.tinh { color:#0000FF }
Lưu ý: Không nên đặt tên id với ký tự đầu là chữ số, nó sẽ không làm việc cho
Firefox.

Trải qua hai ví dụ trên chúng ta có thể rút ra những kết luận sau:
- Class dùng để nhóm các đối tượng có cùng thuộc tính, do tính chất đó nó có
thể được sử dụng nhiều lần.
- Id dùng để nhận dạng một đối tượng đặc trưng, id có tính duy nhất.
Trong bài học này, chúng ta đã được học về các sử dụng class và id để áp dụng các
đặc tính đặc biệt cho một thành phần web. Ở bài kế tiếp chúng ta sẽ được học thêm
về hai thẻ và <span> trong HTML và ý nghĩa 2 thẻ này đối với việc viết
CSS.
Về Đầu Trang Go down
Xem lý lịch thành viên http://trungqui1991.forumvi.net
 
Tutorial CSS toàn tập
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
(¯`·._.·trungqui1991·._.·´¯) :: Your first category :: (¯`•._.•-•=»‡«=•- CÔNG NGHỆ THÔNG TIN-•=»‡«=•-•._.•´¯) :: ––––•(-• (¯`•._.• LẬP TRÌNH WEB•._.•´¯)•-)•–––– :: ••.•´¯`•.•• LẬP TRÌNH HTML&&CSS-
Chuyển đến