CÔNG TY TNHH Thiết bị HOÀNG THANH
Gallery
Liên Hệ Hoàng Thanh
gpextreme@yahoo.com 0903 398 881
Ngày đăng: 13/08/2018 . Số lần xem: 2010

Bài 2: Một Số Quy Ước Về Cách Viết CSS 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: <body bgcolor=”#00BFF3”>

 

+  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: <input name=”Search” type=”Text” value=”Key Word”>. Đểáp dụng thuộc tính CSS cho riêng ô tìmkiế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

 

Đơn vị

Mô tả

 

Đơn vị

 

Mô tả

 

%

Phần trăm

 

ex

 

1  ex  bằng  chiều  cao  của  chữ x

 

in

Inch (1 inch = 2.54 cm)

 

 

in  thường  của  font  hiện  hành.

 

 

 

 

 

cm

Centimeter

 

 

 

Do    đó,    đơn    vị    này    không

 

 

 

 

 

 

mm

Millimeter

 

 

 

những  phụ  thuộc  trên  kích  cỡ

 

 

 

 

 

 

 

 

 

 

 

 

font   chữ   mà   còn   phụ   thuộc

 

 

 

 

 

 

 

loại   font   chữ   vì   cùng   1   cỡ

 

 

 

 

 

 

 

14px  nhưng  chiều  cao  chữ  x

 

 

 

 

 

 

 

của     font      Times      và     font

 

 

 

 

 

 

 

Tohama là khác nhau.

 

em

1  em  tương  đương  kích  thước

pt

 

Point (1 pt = 1/72 inch)

 

 

font  hiện  hành,  nếu  font  hiện

pc

 

Pica (1 pc = 12 pt)

 

 

hành có kích cỡ 14px thì 1 em

px

 

Pixels    (điểm    ảnh    trên    màn

 

 

= 14 px. Đây là một đơn vị rất

 

 

hình máy tính)

 

 

 

 

 

 

 

 

 

hữu   ích   trong   việc   hiển   thị

 

 

 

 

 

trang web.

 

 

 

 

 

Đơn vị màu sắc

 

 

 

 

 

 

 

 

 

 

 

 

 

Đơn vị

 

 

Mô tả

 

 

 

 

Color-name

 

Tên  màu  tiếng  Anh.  Ví  dụ:  black,  white,  red,  green,  blue,

 

 

 

 

cyan, magenta,…

 

 

 

 

RGB (r,g,b)

 

Màu  RGB  với  3  giá  trị  R,  G,  B  có  trị  từ  0  –  255  kết  hợp  với

 

 

 

 

nhau tạo ra vô số màu.

 

 

 

RGB

 

 

Màu RGB với 3 giá trị R, G, B có trị từ 0 – 100% kết hợp.

 

(%r,%g,%b)

 

 

 

 

 

 

Hexadecimal

 

Mã   màu   RGB   dạng   hệ   thập   lục.   Ví   dụ:   #FFFFFF:   trắng,

 

RGB

 

 

#000000: đen, #FF00FF: đỏ tươi.

 

 

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:

 

<html>

 

<head>

 

<title>Ví dụ</title>

 

</head>

 

<body style=”background-color=#FFF;”>

 

<p style=”color:green”>^_^ Welcome To WallPearl’s Blog ^_^</p>

 

</body>

 

</html>

 

+ 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:

 

<html>

 

<head>

 

<title>Ví dụ</title>

 

<style type=”text/css”>

 

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

 

</style>

 

</head>

 

<body>

 

<p>^_^ Welcome To WallPearl’s Blog ^_^</p>

 

</body>

 

</html>

 

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ẻ <style>. 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 <!-- ở trước và --> ở sau khối code CSS. Như ví dụ trên sẽ viết lại là:

 

<style type=”text/css”>

 

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

 

</style>

+ 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.

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:

<html>

 

<head>

 

<title>Ví dụ</title>

 

<link rel=”stylesheet” type=”text/css” href=”style.css” />

 

</head>

 

<body>

 

<p>^_^ Welcome To WallPearl’s Blog ^_^</p>

 

</body>

 

</html>

 

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ẻ <style> 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ẻ <style> giữa thẻ <head> 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:

 

<p style=”height:200px; text-align:center; border:1px solid #FF0000; color:#000” }

 

Khi thực thi CSS trình duyệt sẽ đọc hết tất cả các nguồn chứa style rồi sẽ tổng hợp lại vào một CSS ảo và nếu có sự trùng lắp các thuộc tính CSS thì nó sẽ lấy thuộc

tính CSS có mức ưu tiên cao hơn. Như ví dụ trên chúng ta sẽ thấy CSS cuối cùng mà phần tử p nhận được là:

 

p {

 

background-color:#FF00FF; width:100%;

 

height:200px; text-align:center; border:1px solid #FF0000; color:#000

 

 

}

 

Vậy có cách nào để thay đổi độ ưu tiên cho một thuộc tính nào đó? Thật ra thì trong CSS đã có sẵn một thuộc tính giúp chúng ta thực hiện điều này, đó chính là thuộc tính !important. Chỉ cần bạn đặt thuộc tính này sau một thuộc tính nào đó theo cú pháp selector { property:value !important } thì trình duyệt sẽ hiểu đây là một thuộc tính được ưu tiên. Bây giờ, chúng ta cùng xét lại ví dụ trên nhưng có đặt thêm một số thuộc tính !important vào xem kết quả như thế nào nhé.

 

p {

 

width:500px; text-align:left !important; color:#333 !important

 

}

 

p {

 

background-color:#FF00FF; width:100%;

 

height:150px !important; text-align:right;

 

}

 

<p style=”text-align:center; height:200px; border:1px solid #FF0000; color:#000” }

Phần CSS sẽ tác động lên thuộc tính p là:

 

p {

 

background-color:#FF0000; width:100%;

 

height:150px !important; text-align:left !important; border:1px solid #FF0000; color:#333 !important

 

}

 

Lưu   ý:   Cùng   một   thuộc  tính  cho   một   selector  thì   nếu   cả  hai  thuộc   tính  đều

đặt !important thì cái sau được lấy.

Có thể bạn muốn xem

Bài 8: Span & Div (13/08/2018)
TẠI SAO LẠI LÀ BA (13/08/2018)
Thời gian muộn (13/08/2018)