Cấp bậc tác giả:

TRAINING

Kiến thức CSS

Được viết bởi QuangIT ngày 23/09/2012 lúc 05:43 PM
Mục tiêu bài học Kết thúc chương này, bạn có thể: - Hiểu được cơ bản về CSS - Nắm vững kiến thức cơ bản CSS
  • 0
  • 2881

Kiến thức CSS


Mục tiêu bài học

Kết thúc chương này, bạn có thể:

- Hiểu được cơ bản về CSS

- Nắm vững kiến thức cơ bản CSS


Các bài giảng xuyên suốt:


Bài 1: Cơ bản về CSS

Trong bài mở đầu này chúng ta sẽ đi tìm hiểu một số khái niệm và đặc tính của CSS, mà chúng ta cần chú ý trong suốt quá trình làm việc với CSS


I. CSS là gì

CSS (Cascading Style Sheets) được hiểu một cách đơn giản đó là cách mà chúng ta thêm các kiểu hiển thị (font chữ, kích thước, màu sắc...) cho một tài liệu Web

II. Một số đặc tính cơ bản của CSS

1. CSS quy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộc tính của các thẻ đó (font chữ, màu sắc). Để cho thuận tiện bạn có thể đặt toàn bộ các thuộc tính của thẻ vào trong một file riêng có phần mở rộng là ".css"


CSS nó phá vỡ giới hạn trong thiết kế Web, bởi chỉ cần một file CSS có thể cho phép bạn quản lí định dạng và layout trên nhiều trang khác nhau. Các nhà phát triển Web có thể định nghĩa sẵn thuộc tính của một số thẻ HTML nào đó và sau đó nó có thể dùng lại trên nhiều trang khác.


2. Có thể khai báo CSS bằng nhiều cách khác nhau. Bạn có thể đặt đoạn CSS của bạn phía trong thẻ <head>...</head>, hoặc ghi nó ra file riêng với phần mở rộng ".css", ngoài ra bạn còn có thể đặt chúng trong từng thẻ HTML riêng biệt


Tuy nhiên tùy từng cách đặt khác nhau mà độ ưu tiên của nó cũng khác nhau. Mức độ ưu tiên của CSS sẽ theo thứ tự sau.

- Style đặt trong từng thẻ HTML riêng biệt

- Style đặt trong phần <head>

- Style đặt trong file mở rộng .css

- Style mặc định của trình duyệt

Mức độ ưu tiên sẽ giảm dần từ trên xuống dưới.

3. CSS có tính kế thừa: giả sử rằng bạn có một thẻ <div id="vidu"> đã được khai báo ở đầu file css với các thuộc tính như sau:

#vidu {

  width: 200px;

  height: 300px;

}

Ở một chỗ nào đó trong file css bạn lại khai báo một lần nữa thẻ <div id="vidu"> với các thuộc tính.

#vidu {

  width: 400px;

  background-color: #CC0000;

}

Sau đoạn khai báo này thì thẻ <div id="vidu"> sẽ có thuộc tính:

#vidu {

  width: 400px; /* Đè lên khai báo cũ */

  height: 300px;

  background-color: #CC0000;

}

--------------------------

Bài 2: Cú pháp của CSS

Sau khi hiểu là nắm bắt được một số đặc tính của CSS chúng ta tiếp tục đi tìm hiểu về cú pháp và cách khai báo của các thẻ CSS


Cú pháp của CSS được chia làm 3 phần. phần thẻ chọn (selector), phần thuộc tính (property), phần nhãn (value).


selector {property: value}

Nếu nhãn của bạn có nhiều từ bạn nên đặt nhãn của bạn vào trong dấu nháy kép


   p {font-family: "sans serif"}

Trong trường hợp thẻ chọn của bạn nhiều thuộc tính thì các thuộc tính sẽ được ngăn cách bởi dấu (;).


p {text-align:center;color:red}

Khi thẻ chọn có nhiều thuộc tính thì chúng ta nên để mỗi thuộc tính ở trên một dòng riêng biệt.


p {

  text-align: center;

  color: black;

  font-family: arial

}

---------------------------------------------

Bài 3: Làm sao chèn CSS vào trang Web

Bạn đã có một file CSS của bạn, bây giờ công việc tiếp theo là làm thế nào để chèn những đoạn CSS của bạn vào trong trang, Và xem chúng hoạt động như thế nào. Trong phần này chúng ta sẽ đi tìm hiểu chi tiết về cách chèn một đoạn style trong trang HTML hay liên kết tới một file CSS viết sẵn.


Khi trình duyệt đọc đến CSS, thì toàn bộ Website sẽ được định dạng theo các thuộc tính đã được khai báo trong phần CSS. Có ba cách cho phép chúng ta chèn định dạng CSS vào trong Website.


1. CSS được khai báo trong file riêng.


Toàn bộ mã CSS được chứa trong file riêng có phần mở rộng .css là một ý tưởng được dùng khi một file CSS sẽ được áp dụng cho nhiều trang khác nhau. Bạn có thể thay đổi cách hiển thị của toàn bộ site mà chỉ cần thay đổi một file CSS. Trong cách này thì file CSS sẽ được chèn vào văn bản HTML thông qua thẻ <link>...</link>. Ta có cú pháp như sau:


<html>

  <head>

    <link rel="stylesheet" type="text/css" href="/mystyle.css"

    medial="all" />

  </head>


  <body>

  </body>

</html>

Trình duyệt sẽ đọc toàn bộ các định dạng được quy định trong file mystyle.css và định dạng cho văn bản HTML.


File CSS có thể được soạn thảo bằng một số trình duyệt khác nhau. Trong file không được chứa mã HTML, khi ghi lại chúng ta bắt buộc phải ghi lại với phần mở rộng là .css. Giả sử chúng trong file mystyle.css ở trên chứa đoạn mã sau:


hr {color: sienna}

p {margin-left: 20px}

body {background-image: url("images/back40.gif")}

Không bao giờ sử dụng khoảng trắng trong nhãn, giả sử rằng nếu bạn dùng margin-left: 20 px; thay cho margin-left: 20px; thì IE6 sẽ hiểu còn các trình duyệt như Firefox, Opera sẽ không hiểu


2. Chèn CSS trong tài liệu HTML


Chèn thẳng CSs trong tài liệu được áp dụng trong trường hợp những định dạng CSS này chỉ giành riêng cho tài liệu HTML đó. Khi bạn chèn trực tiếp thì đoạn mã của bạn phải đặt trong thẻ <style> và đặt trong phần <head>.


<head>

<style type="text/css">

hr {color: sienna}

p {margin-left: 20px}

body {background-image: url("images/back40.gif")}

</style>

</head>

Có một số trình duyệt cũ sẽ không hiểu thẻ <style>, nó sẽ bỏ qua thẻ này. Tuy nhiên thì nội dung trong thẻ <style> vẫn hiển thị ra trang HTML. Vì vậy mà chúng ta sẽ phải dùng định dạng chú thích trong HTML để chứa phần nội dung của thẻ <style>.


<head>

<style type="text/css">

<!--

hr {color: sienna}

p {margin-left: 20px}

body {background-image: url("images/back40.gif")}

-->

</style>

</head>

3. Chèn trực tiếp vào thẻ của HTML(inline style)


Inline style được sử dụng nhiều trong trường hợp một thẻ HTML nào đó cần có style riêng cho nó.


Inline style được áp dụng cho chính thẻ HTML đó, cách này sẽ có độ ưu tiên lớn nhất so với hai cách trên. Dưới đây là một ví dụ mà chúng ta dùng Inline style


<p style="color: sienna; margin-left: 20px">

This is a paragraph

</p>

4. Nhiều Stylesheet


Trong trường hợp mà có một số thẻ có cùng định dạng, chúng ta có thể gộp chúng lại với nhau. Giả sử như sau:


h1, h2, h3 {

  margin-left: 10px;

  font-size: 150%;

  ...

}

Giống đoạn mã trên thì cả ba thẻ h1, h2, h3 đều có cùng 3 thuộc tính như trên.


Bài 4: Thuộc tính background và cách định nghĩa background cho một thẻ

Trong bài 4 này chúng ta sẽ đi tìm hiểu thuộc tính background trong CSS, nó sẽ cho phép chúng ta tùy biến màu nền của một thẻ HTML đặt một ảnh làm nền (background), làm cho một ảnh có thể lặp đi lặp lại (repeat) theo chiều ngang hoặc theo chiều dọc, chúng ta cũng có thể định vị một ảnh ở một vị trí nào đó trên trang.


Các trình duyệt hỗ trợ bao gồm: IE: Internet Explorer, F: Firefox, N: Netscape.


background: url(../images/bg_bongmo.png) repeat-x;

Lặp lại hình ảnh theo hàng ngang

background: url(../images/bg_bongmo.png) repeat-y;

Lặp lại hình ảnh theo hàng dọc

background: url(../images/bg_bongmo.png) no-repeat;

Không lặp lại hình ảnh

background: url(../images/icon_menutop.png) no-repeat right center;

Không lặp lại hình ảnh, căn giữa hướng về phía bên phải


Bài 5: Các vấn đề về văn bản và cách định dạng văn bản

Thuộc tính CSS text cho phép bạn hoàn toàn có thể quản lí được các thuộc tính của văn bản, bạn có thể quản lí được sự ẩn hiện của nó, thay đổi màu sắc, tăng hoặc giảm khoảng cách giữa các ký tự trong một đoạn, căn chỉnh việc dóng hàng (align),...


Các thuộc tính của text mà CSS hỗ trợ


Đặt màu cho một đoạn văn bản


Để đặt màu cho một đoạn văn bản chúng ta có thể dùng thuộc tính: color: #mã màu;


p {

  color: #333333;

}

Đặt màu nền cho đoạn văn bản.


Bạn có thể đặt màu nền (background) cho đoạn văn bản bằng thuộc tính background-color: #mã màu;


p {

  background-color: #FFFF00;

}

Căn chỉnh khoảng cách giữa các ký tự.


Khoảng cách giữa các ký tự trong một đoạn văn bản có thể được tăng hoặc giảm bởi thuộc tính letter-spacing: khoảng cách;


h3 {

  letter-spacing: 2em;

}


h1 {

  letter-spacing: -3em;

}

Căn chỉnh khoảng cách giữa các dòng.


Thuộc tính line-height: khoảng cách; sẽ giúp bạn căn chỉnh khoảng cách giữa các dòng trong một đoạn văn bản.


p {

  line-height: 150%; // line-height: 15px;

}

Dóng hàng


Để gióng hàng cho một đoạn văn bản chúng ta sẽ dùng thuộc tính text-align: vị trí;


p {

  text-align: left; /* left | center | right */

}

Trang hoàng thêm cho đoạn văn bản.


Một đường gạch chân hoặc đường gạch ngang dòng văn bản sẽ làm cho đoạn văn bản của bạn thêm sinh động. Để tô điểm thêm cho đoạn văn bản chúng ta sẽ dùng thuộc tính text-decoration: thuộc tính;


h3 {

  text-decoration: underline; /* Gạch chân */

}


h2 {

  text-decoration: line-through; /* Gạch ngang */

}


h1 {

  text-decoration: overline; /* kẻ trên */

}

Chỉnh vị trí của đoạn văn bản (indent).


Thuộc tính text-indent: vị trí; sẽ căn chỉnh vị trí của dòng văn bản theo chiều ngang.


h1 {

  text-indent: -2000px; /* text-indent: 30px; */

}

Điều kiển các ký tự trong một đoạn văn bản.


Bạn có thể điều khiển toàn bộ đoạn văn bản là chữ hoa hay chữ thường bởi thuộc tính text-transform: kiểu chữ;


p.uppercase {

  text-tranform: uppercase;

}


p.lowercase {

  text-tranform: lowercase;

}


p.capitalize {

  text-tranform: capitalize;

}

Đặt hướng cho đoạn văn bản.


Hướng của đoạn văn bản có thể từ trái qua phải hay từ phải qua trái chúng ta có thể điều khiển bởi thuộc tính direction: hướng;


div.rtl {

  direction: rtl; /* Right to left */

}


div.ltr {

  direction: ltr; /* Left to right */

}

Tăng khoảng cách giữa các từ.


Khoảng cách giữa các từ có thể được tăng bởi thuộc tính word-spacing: khoảng cách;


  word-spacing: 30px;

Làm mất tác dụng của đường bao của một thẻ HTML.


Để làm mất tác dụng đường bao của một thẻ HTML chúng ta dùng thuộc tính white-space: giá trị;


p {

  white-space: nowrap;

}

Thuộc tính white-space sẽ làm cho toàn bộ đoạn văn bản ở trên một dòng.


----------------------------------------------------------------------------

Bài 6: Các thuộc tính của font chữ và định nghĩa font chữ cho văn bản

Các thuộc tính về font chữ sẽ cho phép bạn thay đổi họ font (font family), độ đậm (boldness), kích thước (size) và kiểu font (style).


1. Đặt font cho đoạn văn bản.


Để đặt một loại font chữ nào đó cho đoạn văn bản thì chúng ta sẽ sử dụng thuộc tính font-faily:


p {

  font-family: Arial, Tahoma, Verdana, sans-serif;

}

Thông thường bạn cần phải khai báo họ của font ở cuối (trong ví dụ trên thì sans-serif là chỉ tới 1 họ font) để trong trường hợp máy của người duyệt Web không có các font như mình đã đặt thì nó sẽ lấy font mặc định của họ font trên.


2. Đặt đoạn văn bản sử dụng font nhãn caption.


p.caption {

  font: caption;

}

3. Đặt kích thước font cho đoạn văn bản.


Khi chúng ta muốn những đoạn văn bản hoặc tiêu đề có kích thước của chữ khác nhau, chúng ta có thể sử dụng thuộc tính font-size:


h1 {

  font-size: 20px;

}


h3 {

  font-size: 12px;

}

4. Định lại kích thước font bằng thuộc tính font-size-ajust:


p {

  font-size-ajust: 0.60;

}

5. Đặt kiểu font cho đoạn văn bản.


Chữ đậm, chữ nghiêng,... được đặt với thuộc tính font-style:


p {

  font-style: italic; /* normal  |  italic |  oblique */

}

6.


Muốn hiển thị font ở dạng small-caps hoặc ở dạng normal thì chúng ta sẽ sử dụng thuộc tính font-variant. Thuộc tính này có hai giá trị normal và small-caps


p {

  font-variant: normal; /* normal  |  small-caps */

}

7. Đặt độ đậm nhạt của font.


Khi chúng ta muốn thay đổi độ đậm nhạt của văn bản chúng ta sẽ dùng thuộc tính font-weight:. Chúng ta có thể đặt giá 3 loại giá trị cho thuộc tính này 1. normal(bình thường), 2. bold(đậm), 3. 300(đặt dạng số)


h3 {

  font-weight: bold;

}

8. Khai báo các thuộc tính font ở dạng shorthand.


p {

  font: italic small-caps 900 12px arial;

}


---------------------------------------------------------

Bài 7: Đường viền và các thuộc tính của đường viền

Các thuộc tính của đường viền (border) sẽ cho phép đặt các giá trị đặc biệt cho đườn viền như kiểu đường viền, kích thước, màu sắc. Thuộc tính này sẽ được áp dụng cho các thẻ HTML như <div>, <li>, <table>,...


Trong thuộc tính đường viền (border) chúng ta có 3 giá trị cơ bản đó là:


border-color:

border-width:

border-style:

1. Thuộc tính màu của đường viền


Để đặt màu cho đường viền chúng ta sẽ đặt thông số màu cho thuộc tính border-color:


div.color {

  border-color: #CC0000;

}

2. Đặt chiều rộng cho đường viền (border)


Nếu muốn đặt chiều rộng của đường viền chúng ta sẽ đặt giá trị cho thuộc tính border-width:


div.borerwidth {

  border-width: 2px;

}

STT Giá trị

1 thin

2 medium

3 thick

4 length

3. Chọn kiểu của đường viền


Bạn có thể sử dụng thuộc tính border-style để đặt kiểu cho đường viền. Chúng ta có thể gán cho thuộc tính này 9 giá trị khác nhau tương ứng với 9 kiểu đường viền khác nhau.


div.borderstyle {

  border-style: solid;

}

STT border-style

1 none

2 hidden

3 dotted

4 dashed

5 solid

6 double

7 groove

8 ridge

9 inset

10 outset

Với 4 phía của đối tượng ta có 4 thuộc tính border tương ứng:


border-top:

border-right:

border-bottom:

border-left:

Ứng với đường viền của mỗi phía chúng ta đều có 3 giá trị (color, width, style)


1 top

border-top-color:

border-top-width:

border-top-style:

2 right

border-right-color:

border-right-width:

border-right-style:

3 bottom

border-bottom-color:

border-bottom-width:

border-bottom-style:

4 left

border-left-color:

border-left-width:

border-left-style:

Chúng ta có thể dùng phương pháp viết mã giản lược (shorthand) để viết các thuộc tính của đường viền gọn hơn. Giả sử chúng ta đặt thuộc tính border của thẻ <div> với độ rộng bằng 1, kiểu solid và màu là #CC0000


div.border {

  border: 1px solid #CC0000;

}


-------------------------------------------


Bài 8: Các thuộc tính của margin

Thuộc tính margin sẽ định nghĩa khoảng trắng bao quanh một phần tử HTML. Nó có thể dùng giá trị âm để lồng nội dung vào với nhau. Tương ứng với 4 phía của một phần tử chúng ta có 4 thuộc tính tương ứng. Mặt khác để viết cho gọn chúng ta cũng có thể dùng cách viết giản lược để định nghĩa các giá trị cho thuộc tính margin.


Đối với các trình duyệt Netcape và IE thì giá trị mặc định của thuộc tính margin là 8px. Nhưng Opera thì không hỗ trợ như vậy. Để cho thống nhất chúng ta có thể đặt margin mặc định cho toàn bộ các phần tử.


Các giá trị mà thuộc tính margin có thể nhận được đó là: auto, length, %. Chúng ta đặt giá trị nào là tùy thích cộng với việc tương ứng tỉ lệ với các phần tử khác.


Tương ứng với 4 phía ta có 4 thuộc tính:


margin-top:

margin-right:

margin-bottom:

margin-left:

Để cho gọn chúng ta cũng có thể việt thuộc tính margin dưới dạng shorthand


div.margin {

  margin: 10px 4px 5px 9px; /* top  |  right  |  bottom  |  left*/

}


------------------------------------------------

Bài 9: Thuộc tính đường bao ngoài (Outline)

Thuộc tính Outline sẽ vẽ một đường bao ngoài toàn bộ một phần tử HTML, đối với phần tử có đường viền (border) thì đường bao này sẽ bao trọn đường viền của phần tử đó. Cũng tương tự như đường viền bạn có thể đặt cho nó các thuộc tính về màu săc, độ lớn và kiểu.


Có một điều cần chú ý là các thuộc tính của đường bao này có thể không được hỗ trợ trên IE


1. Đặt thuộc tính màu cho đường bao


Nếu muốn đặt màu cho đường bao chúng ta có thể sử dụng thuộc tính outline-color:


p {

  outline-color: #CC0000;

}

2. Đặt độ rộng cho đường bao.


Tương tự như đường viền, để đặt độ rộng cho đường bao chúng ta đặt giá trị độ lớn cho thuộc tính outline-width:


p {

  outline-width: 2px;

}

3. Chọn kiểu đường bao


Để chọn kiểu cho đường bao chúng ta sẽ đặt lần lượt các giá trị cho thuộc tính outline-style:


p {

  outline-style: dotted;

}

STT outline-style

1 none

2 hidden

3 dotted

4 dashed

5 solid

6 double

7 groove

8 ridge

9 inset

10 outset

Để cho gọn chúng ta cũng có thể viết các giá trị của thuộc tính Outline dưới dạng shorthand như sau:


div.outline {

  outline: 1px solid #000;

}


-----------------------

Bài 10: CSS padding

CSS padding sẽ định nghĩa khoảng trống giữa mép của các phần tử tới các phần tử con hoặc nội dung bên trong. Chúng ta không thể gán giá trị âm cho thuộc tính này. Cũng giống như margin thuộc tính padding cũng tương ứng với 4 phía của phần tử.


Tương ứng với 4 phía của phần tử chúng ta có 4 thuộc tính padding tương ứng đó là:


padding-top:

padding-right:

padding-bottom:

padding-left:

Các giá trị có thể gán cho các thuộc tính này là : % hoặc length


Để viết cho gọn chúng ta cũng có thể viết thuộc tính padding dưới dạng shorthand.


div.padding {

  padding: 5px 3px 2px 8px;

}

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML