Polaroid
ANHUU34 nghĩ rằng các bạn đã sử dụng thành thạo hệ thống CSS mà Vg34 đã chủ trương và hướng dẩn để các bạn làm wap không cần mã, vừa ít tốn công viết và không dễ dàng nhầm lẩn. Để tự tạo cho mình bản CSS như thế các ban nên đọc kỹ bài này và thực hành thử, có sai thì viết lại, đừng nản chí nhé. Khi xưa Vg34 tạo bảng Creactor_template.css cho mình đâu phải viết một lần là được ngay đâu......!!!!!! Các bạn bắt đầu nhé...
CÚ PHÁP TRONG CSS
Cú pháp của CSS được tạo nên bởi 3 thành phần:
1- Thành phần lựa chọn (thường là một thẻ HTML) (Selector)
2- Thuộc tính (Property)
3- Giá trị (Value) Cú pháp của CSS được thể hiện như sau: Selector { Property1: Value1; Property2: Value2; }
- Selector thường là các thẻ HTML mà bạn muốn định nghĩa thêm.
Property là thuộc tính mà bạn muốn thay đổi; mỗi một thuộc tính cần phải có một giá trị.
SỰ PHÂN CÁCH TRONG CSS
Một thuộc tính và giá trị của nó được phân cách bởi dấu hai chấm (:)

Hai cặp thuộc tính-giá trị được phân cách nhau bởi dấu chấm phảy (;)

Toàn bộ các cặp thuộc tính-giá trị của một thẻ HTML được đặt trong cặp dấu ngoặc nhọn ({}) Ví dụbody{color: black}

*Phần chữ trong thẻ body sẽ có màu đen

hay: p {text-align: center}

*tất cả các thẻ p trong trang HTML sẽ được canh giữa.

* hay định nghĩa nhiều thuộc tính: p { text-align: center; color: red; font-family: arial }


Nhóm các thẻ
Trong trường hợp bạn muốn định nghĩa nhiều thẻ giống nhau bạn có thể nhóm các thẻ lại. Ví dụ dưới đây sẽ nhóm tất cả các thẻ Header lại và định nghĩa chúng sẽ có màu xanh: h1,h2,h3,h4,h5,h6 { color: green }

TẠO CÁC LỚP
Bằng việc tạo ra các lớp, bạn có thể định nghĩa nhiều kiểu thể hiện khác nhau cho cùng một thẻ HTML và áp dụng mỗi lớp vào một vị trí cần thiết trên trang web. Các lớp gắn với 1 thẻ cụ thể như:

Ví dụ: Trên trang web của bạn có 3 loại đoạn văn:

Đoạn văn canh lề trái, đoạn văn canh lề giữa và đoạn văn canh lề phải. Khi đó bạn có thể định nghĩa 3 lớp riêng biệt cho 3 loại đoạn văn này như sau:

.p.trai {text-align: left}

.p.phai {text-align: right}

.p.giua {text-align: center}

Tiếp theo, trong trang HTML bạn sử dụng như sau:

p class="trai": Đoạn văn này được canh lề trái.</p>

p class="phai": Đoạn văn này được canh lề phải.</p>

p class="giua": Đoạn văn này được canh lề giữa.</p>
Chú ý:
Các tham số p clas=”trái”, p clas=”phai”; p clas=”giua” phải dược viết trong móc nhọn: < và: >

- CSS phân biệt chữ hoa và chữ thường giống như C++ do đó khi viết bạn cần phải cẩn thận trong việc sử dụng chữ hoa, chữ thường. Nếu không trình có thể bỏ qua những tham số sai mà trình không hiểu

- Trong trang HTML, bạn chỉ được phép khai báo 1 thẻ thuộc duy nhất một lớp. Trái điều này mặc dù trình duyệt không báo lỗi nhưng các lớp sẽ không hoạt động được. Ví dụ về sử dụng lớp sai:< p class="trai" class="phai">Đây là đoạn định nghĩa sai</p> Các ví dụ ở trên là ví dụ về việc tạo các lớp bị "gắn chặt" với một thẻ nào đó, tức là ta không sử dụng được lớp này trong thẻ khác.


Theo các khai báo ở trên, ví dụ dưới đây sẽ không hoạt động:

< td class="trai">Ví dụ này không hoạt động</td>

Các lớp không gắn với một thẻ cụ thể (có thể gắn với hầu như tất cả các thẻ):Rất đơn giản, bạn có thể tạo ra một lớp mà lớp đó có thể gắn vào hầu như bất cứ thẻ nào trên trang web bằng cách bỏ tên thẻ ở đầu đi nhưng nhớ giữ lại dấu chấm (.)

Ví dụ:Định nghĩa một lớp "giua" có thể gắn với bất cứ thẻ nào

.giua{text-align="center"}

và trong trang HTML ta sử dụng như sau:

< p class="giua">Đoạn văn này được canh lề giữa.</p>

< td class="giua">Câu này cũng được canh lề giữa.</p>
TẠO CÁC ĐỊNH DANH (ID)
ơng tự như các lớp, các định danh cũng cho phép chúng ta chia các thẻ thành nhiều loại khác nhau. Tuy nhiên trên thực tế thì Định danh khác với lớp!!! Một lớp có thể áp dụng nhiều lần ở nhiều vị trí trên trang web, tuy nhiên 1 định danh chỉ có thể áp dụng được duy nhất cho 1 thẻ và tên của định danh phải là duy nhất trên 1 trang web.

Các ví dụ:
1. Đoạn mã dưới đây có thể áp dụng cho thẻ <P> có ID là para1 p#para1 { text-align: center; color: red } Khi sử dụng như sau:< P id="para1">Đoạn văn bản</p>

2. Đoạn mã dưới đây có thể có hiệu lực cho thẻ đầu tiên có ID là xyz: *#xyz {color: green} Khi sử dụng:< p id="xyz">Đoạn văn bản</P>

3. Đoạn mã dưới đây chỉ có thể áp dụng cho thẻ <P> đầu tiên: p#wer345 {color: green} Khi sử dụng:< p id="wer345">Đoạn văn bản</p>

4. Và đoạn dưới đây không có hiệu lực:< h1 id="wer345">Đoạn văn bản không được áp dụng</p>

Chú thích:
trong CSS Bạn có thể bổ xung các chú thích cho đoạn mã của mình trong CSS. Các đoạn chú thích sẽ được trình duyệt bỏ qua. Đoạn chú thích được tạo ra tương tự như trong C++ (đặt bắt đầu bởi /* và kết thúc bởi */)

Ví dụ:
/* Đây là đoạn chú thích*/ p { text-align: center; /* Và đây là một đoạn chú thích khác */ color: black; font-family: arial }

Làm thế nào để chèn một đoạn mã CSS vào trang web
- Khi trình duyệt web đọc trang web của bạn nó sẽ định dạng trang web theo cách CSS đã qui định cho nó.

- Theo như bài đầu tiên đã đề cập, chúng ta có tất cả 3 loại CSS dó đó chúng ta cũng sẽ có 3 cách để chèn CSS vào trang web của mình.

Với External Style
( Sử dụng file CSS được định nghĩa thành 1 file riêng)

Sử dụng External Style là một cách lý tưởng khi ta cần phải định dạng nhiều trang web theo một mẫu thống nhất. Với External Style chúng ta có thể thay đổi dáng vẻ của một trang web chỉ với việc thay đổi duy nhất 1 file. Mỗi trang web sử dụng file CSS ngoài này đều phải sử dụng thẻ <LINK>

. Thẻ <LINK> được đặt bên trong thẻ <HEAD>, với thuộc tính href sẽ trỏ đến file .CSS bên ngoài.


Ví dụ:
<head>< link rel="stylesheet" type="text/css" href="mystyle.css" />< /head>



Nếu một trang web có đoạn mã trên thì khi hiển thị trang web trình duyệt sẽ đọc các style được định nghĩa trong file mystyle.css và định dạng văn bản theo nó.

Nếu tên file của bạn không phải là mystyle.css thì bạn chỉ cần đổi tên của file thành tên file của bạn.

Một file CSS có thể được viết ra từ bất kì trình soạn thảo văn bản nào. Trong file CSS chỉ chứa các định dạng, không bao gồm các thẻ HTML.

Một tệp CSS nên ghi với phần mở rộng là .CSS
Ví dụ dưới đây thể hiện toàn bộ nội dung của một file CSS
hr {color: sienna} p {margin-left: 20px} body {background-image: url("images/back40.gif")}

Với Internal Style (Định nghĩa các style sheet ngay trong trang web)

Trong trường hợp mỗi trang web của bạn sử dụng các định dạng khác nhau, bạn hãy dùng Internal Style Sheet. Để định nghĩa Internal Style Sheet bạn sử dụng thẻ <STYLE> đặt bên trong thẻ <HEAD>.

Ví dụ:
. hr {color: sienna} p {margin-left: 20px} body {background-image: url("images/back40.gif")}

Với Internal Style (Định nghĩa các style sheet ngay trong trang web)

Trong trường hợp mỗi trang web của bạn sử dụng các định dạng khác nhau, bạn hãy dùng Internal Style Sheet. Để định nghĩa Internal Style Sheet bạn sử dụng thẻ <STYLE> đặt bên trong thẻ <HEAD>.

Chú ý:
Thông thường trình duyệt sẽ bỏ qua đoạn mã mà nó không thể hiểu nổi. Điều đó có nghĩa là với các trình duyệt cũ chúng sẽ bỏ qua thẻ <STYLE>. Tuy nhiên nó không bỏ qua nội dung bên trong thẻ này. Điều đó có nghĩa là phần thông tin định nghĩa style của bạn sẽ bị "phơi" hết lên trang web.

- Do đó để giải quyết vấn đề này bạn hãy sử dụng chú thích của HTML để bao quanh các mã định nghĩa CSS.

Đoạn mã trên được sửa lại thành như sau:
< head>< style type="text/css">< !--hr {color: sienna} p {margin-left: 20px} body {background-image: url("images/back40.gif")}-->< /style>< /head>

Với Inline Style (style được qui định ngay trong mỗi thẻ HTML) . Khi sử dụng Inline Style Sheet là bạn đã đánh mất đi những tác dụng to lớn của CSS với việc trộn lẫn mã định dạng với nội dung trang. Bạn chỉ nên sử dụng phương pháp này trong một số trường hợp rất đặc biệt mà cách định dạng thẻ chỉ áp dụng duy nhất 1 lần trong 1 trang web.

Sử dụng phương pháp này bạn đưa ngay những mã định dạng vào thẻ HTML cần thiết. Các mã định dạng này có thể bao gồm mọi thứ có thể dùng trong Internal Style Sheet và External Style Sheet.

THAY ĐỔI MÀU SẮC
Đoạn mã dưới đây sẽ thay đổi màu sắc và lề của một đoạn trong trang web.

< p style="color: sienna; margin-left: 20px"> This is a paragraph< /p>

Sử dụng nhiều Style Sheet Nếu cùng một thẻ được định nghĩa ở nhiều nơi thì thẻ này sẽ kế thừa tất cả các thuộc tính đã được định nghĩa ở tất cả các vị trí.

Nếu như các thuộc tính định nghĩa xung đột nhau chúng sẽ được lấy theo thứ tự ưu tiên đã đề cập đến ở bài 1.

Ví dụ
Một file style sheet ngoài được định nghĩa thẻ <H3> như sau:

- h3 { color: red; text-align: left; font-size: 8pt }



Sau đó một trang web sử dụng file CSS ở trên trong nó lại có phần định nghĩa cho thẻ <H3> như sau:

- h3 { text-align: right; font-size: 20pt }

Và kết quả thẻ <H3> sẽ được định nghĩa là kết hợp của 2 định nghĩa trên và là:

- color: red; text-align: right; font-size: 20pt


Áp dụng CSS với nền của trang web
Thuộc tính Background cho phép chúng ta điều khiển nền của một thành phần nào đó trên trang web. Thành phần này có thể là nền trang, nền nút, nền ô textbox,...

Bạn thử tưởng tượng, chúng ta có thể đặt được những thuộc tính gì cho nền?

CSS cho phép bạn lựa chọn những thuộc tính sau:
- Nền là màu đồng nhất hay là một bức ảnh?

+ Trong trường hợp là màu đồng nhất thì đó là màu gì? Xanh, đỏ, Vàng, Xám, Đen



+ Trong trường hợp đó là ảnh:

- Ảnh đó là ảnh nào?

- Ảnh đó được sắp xếp thế nào?

Các lựa chọn như vậy CSS cho phép qui định như sau:
* Thuộc tính background-color:

- Ý nghĩa: Cho phép đặt màu nền là một màu đồng nhất nào đó.

Các giá trị:

+ Bộ màu RGB (RGB(255,0,0): Màu đỏ;

RGB(0,255,0): Màu xanh lá cây,...)



+ Màu được qui định bởi những con số HEX (#FF0000: Màu đỏ; #00FF00: Màu xanh lá cây,...)

+ Màu cơ bản được đặt tên bằng từ tiếng Anh (red: đỏ; green: xanh lá cây,...)

+ transparent: Trong suốt (có thể nhìn xuyên qua đối tượng có màu nền trong suốt được)


Ví dụ:
tạo một lớp nếu áp dụng nó thì đối tượng sẽ có màu nền đỏ.

.MauNenDo {background-color: #FF0000}

· Thuộc tính backround-image đặt một ảnh có sẵn làm nền
Các giá trị:

+ url(địa chỉ): lấy ảnh được chỉ định trong "địa chỉ" làm nền.

+ none: Không có ảnh nền.