Thuộc tính Màu sắc trong CSS

Trong bài hướng dẫn tự học CSS này, bạn sẽ tìm hiểu các phương pháp định nghĩa các giá trị màu khác nhau trong CSS theo 3 cách khác nhau

Trong bài hướng dẫn tự học CSS này, bạn sẽ tìm hiểu các phương pháp định nghĩa các giá trị màu (color) khác nhau trong CSS.

Thuộc tính màu sắc (color) trong CSS
Thuộc tính màu sắc (color) trong CSS

Thiết lập thuộc tính color trong CSS

Thuộc tính color xác định màu văn bản (màu nền trước nói chung) của một phần tử.

Chẳng hạn, trong ví dụ bên dưới:

  • Thuộc tính color được chỉ định trong bộ chọn CSS (Selector) body xác định màu văn bản mặc định cho toàn bộ trang.

Hãy thử chạy ví dụ sau trên trình duyệt để xem nó hoạt động như thế nào:

Mã HTML:

<body>
    <h1>Đây là một tiêu đề H1</h1>
    <p>Đây là một đoạn văn</p>
    <div class="text-green">Đây làm một câu đơn giản.</div>
</body>

Mã CSS:

body {
    color: #ff5722;
}
.text-green {
    color: #008000;
}

Lưu ý: Thuộc tính color thường kế thừa giá trị màu từ phần tử cha của chúng, trừ trường hợp phần tử anchor (thẻ liên kết <a></a>). Ví dụ: Nếu bạn chỉ định màu cho phần tử body, nó sẽ tự động được chuyển xuống các h1, h2.., p, v.v.

Nếu bạn chưa biết cách liên kết file CSS với HTML thì nên đọc lại bài viết: Nhập môn CSS

3 Cách định nghĩa giá trị màu sắc trong CSS

Màu sắc trong CSS thường được chỉ định trong các định dạng sau:

  • Một tên màu – ví dụ như ‘red’
  • Một giá trị HEX – ví dụ như ‘#ff0000’
  • Một giá trị RGB – ví dụ như ‘rgb (255, 0, 0)’

CSS3 đã giới thiệu một số định dạng màu khác như HSL, HSLA và RGBA cũng hỗ trợ độ trong suốt alpha. Chúng ta sẽ tìm hiểu về chúng chi tiết hơn trong phần CSS3 color sau.

Bây giờ, hãy tìm hiểu và sử dụng các phương pháp cơ bản để xác định các giá trị màu:

#1: Cách định nghĩa màu trong CSS bằng tên màu

CSS đã định nghĩa sẵn một vài từ khóa (keyword) màu cho phép bạn chỉ định các giá trị màu một cách dễ dàng.

Các từ khóa màu cơ bản này là: aqua, black, blue, fuchsia, gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white, và yellow.

Lưu ý: Tên màu không phân biệt chữ hoa chữ thường.

Hãy thử chạy ví dụ sau để hiểu cách sử dụng tên màu trong CSS.

Mã HTML:

<body>
    <h1>Tự học CSS</h1>
    <p>Cách định nghĩa màu sắc trong CSS</p>
</body>

Mã CSS:

h1 {
    color: red;
}
p {
    color: purple;
}

Tuy nhiên, các trình duyệt web hiện đại thực tế hỗ trợ nhiều tên màu hơn so với định nghĩa trong tiêu chuẩn CSS, nhưng để an toàn hơn, bạn nên sử dụng các giá trị màu HEX thay thế.

Tham khảo: 140 tên màu được hỗ trợ bởi CSS3

Bởi vì nhiều người vẫn dùng trình duyệt cũ, mà trình duyệt cũ thì không hỗ trợ các tên màu ngoài 16 màu đã liệt kê ở trên dẫn tới có thể bị sai màu.

#2: Cách định nghĩa màu trong CSS bằng mã màu HEX

Hex (viết tắt của Hexadecimal) cho đến nay là phương pháp định nghĩa màu sắc được sử dụng phổ biến nhất trên web.

Mã màu Hex biểu thị các màu bằng mã sáu chữ số, như #rrggbb, trong đó rr, gg và bb tương ứng là thành phần màu đỏ, xanh lục và xanh lam của màu.

Giá trị của mỗi thành phần có thể thay đổi từ 00 (không có màu) và FF (full color) trong ký hiệu thập lục phân hoặc 0 và 255 trong ký hiệu tương đương thập phân.

Do đó, #ffffff đại diện cho màu trắng và # 000000 đại diện cho màu đen.

Hãy xem ví dụ sau:

Mã HTML:

<body>
    <h1>Tự học CSS</h1>
    <p>Cách định nghĩa màu sắc trong CSS</p>
</body>

Mã CSS:

h1 {
    color: #ffa500;
}
p {
    color: #00ff00;
}

Lưu ý: Hệ thập lục phân hoặc Hex đề cập đến sơ đồ đánh số sử dụng 16 ký tự làm cơ sở. Nó sử dụng các số từ 0 đến 9 và các chữ cái A, B, C, D, E và F tương ứng với các số thập phân 10, 11, 12, 13, 14 và 15.

Mẹo: Nếu mã thập lục phân của một màu có các cặp giá trị giống nhau, thì nó cũng có thể được viết bằng ký hiệu viết tắt để tránh gõ thêm, ví dụ, giá trị màu hex #ffffff cũng có thể được viết là #fff, # 000000 dưới dạng # 000, # 00ff00 là # 0f0, # ffcc00 là # fc0, v.v.

#3: Cách định nghĩa màu trong CSS bằng mã màu RGB

Màu sắc trong CSS cũng có thể được định nghĩa bằng mã màu RGB (R = Red, G = Green và B= Blue) bằng cách sử dụng ký hiệu hàm rgb().

Hàm rgb() chấp nhận ba giá trị được phân tách bằng dấu phẩy, xác định lượng thành phần màu đỏ, xanh lục và xanh lam của màu.

Các giá trị này thường được chỉ định là số nguyên trong khoảng từ 0 đến 255, trong đó 0 không đại diện cho không có màu gì và 255 đại diện cho màu mạnh nhất.

Bạn có thể hiểu như là:

  • R = 0 có nghĩa là màu đỏ có độ mạnh là 0.
  • R = 255 có nghĩa là màu đỏ có độ mạnh cao nhất.

Ví dụ sau chỉ định màu giống như trong ví dụ HEX nhưng bây giờ là trong ký hiệu RGB.

Mã HTML:

<body>
    <h1>Tự học CSS</h1>
    <p>Cách định nghĩa màu sắc trong CSS</p>
</body>

Mã CSS:

h1 {
    color: rgb(255, 165, 0);
}
p {
    color: rgb(0, 255, 0);
}

Chú ý: Bạn cũng có thể xác định giá trị RGB bên trong hàm rgb() năng theo tỷ lệ, 100% màu mạnh nhất, và 0% (không chỉ đơn giản là 0) đại diện cho không có màu. Ví dụ, bạn có thể xác định màu đỏ, hoặc là rgb(255, 0, 0) … bằng(100%, 0%, 0%).

Mẹo: Nếu R, G và B đều được đặt thành 255, tức là rgb (255, 255, 255), màu sẽ là màu trắng. Tương tự, nếu tất cả các kênh được đặt thành 0, tức là rgb (0, 0, 0), màu sẽ là màu đen. Hãy thử thay đổi các giá trị RGB để hiểu cách thức hoạt động của nó hơn.

Ảnh hưởng của thuộc tính màu sắc tới border và outline như thế nào?

Thuộc tính màu không chỉ dành cho nội dung văn bản, mà cho bất kỳ thứ gì có giá trị màu.

Ví dụ: Nếu giá trị border-color hoặc outline-color không được định nghĩa rõ ràng cho phần tử, giá trị color sẽ được sử dụng thay thế.

Hãy xem một ví dụ sau.

Mã HTML:

<body>
    <p class="one">Màu của đường viền giống với màu văn bản của phần tử.</p>
    <p class="two">Màu của đường viền giống với màu văn bản của phần tử.</p>
</body>

Mã CSS:

p.one {
    color: #0000ff;
    border: 2px solid;
}
p.two {
    color: #00ff00;
    outline: 2px solid;
}

Hãy thử chạy ví dụ trên và bạn sẽ thấy, mặc dù border-color và outline-color không được định nghĩa. Nhưng nó đã có vì ảnh hưởng của thuộc tính color.

Bạn đã biết cách thiết lập, sử dụng thuộc tính color trong CSS chưa?

Bài viết này mình đã hướng dẫn bạn cách định nghĩa thuộc tính color trong CSS cũng như cách định nghĩa giá trị color bằng 3 cách.

Mình tin rằng nó rất dễ hiểu mà thôi. Còn cách thiết lập giá trị màu theo từng loại phần tử, … cụ thể thì tiếp tục học bạn sẽ dần dần được biết thêm.

Lưu ý: Nếu bạn muốn học một khóa học lập trình toàn diện để có thể đi làm thì hãy tham khảo Khóa học PHP (Fullstack) hoặc Khóa học Java (Fullstack) tại NIIT – ICT Hà Nội.

Chúc bạn học tốt.

Học tiếp: Thuộc tính background trong CSS

Đọc thêm: 9 bộ chọn CSS phổ biến

9 Bộ chọn CSS phổ biến

Trong bài học bộ chọn CSS này, bạn sẽ tìm hiểu cách sử dụng 9 bộ chọn CSS phổ biến (CSS Selector) để áp dụng thuộc tính CSS cho các phần tử.

Trong bài học bộ chọn CSS này, bạn sẽ tìm hiểu cách sử dụng 9 bộ chọn CSS phổ biến (CSS Selector) để áp dụng thuộc tính CSS cho các phần tử.

Bộ chọn CSS
Bộ chọn CSS

Bộ chọn CSS là gì?

Bộ chọn CSS (hay còn gọi là CSS Selector) là một quy tắc để chỉnh định đến phần tử trong trang web.

Các thuộc tính CSS được liên kết với bộ chọn CSS này sẽ được áp dụng vào phần tử tương ứng.

Bộ chọn là một trong những phần quan trọng nhất của CSS vì chúng cho phép bạn nhắm mục tiêu đến các phần tử cụ thể trên trang web của mình theo nhiều cách khác nhau để chúng có thể áp dụng thuộc tính CSS cho nó.

Có một số loại bộ chọn có sẵn trong CSS, hãy đọc thêm các phần bên dưới để nắm được các bộ chọn CSS phổ biến.

Bộ chọn CSS #1: Bộ chọn CSS phổ quát

Bộ chọn CSS phổ quát, được biểu thị bằng dấu hoa thị (*), nó nhắm mục tiêu đến mọi phần tử đơn lẻ trên trang.

Bộ chọn CSS phổ quát có thể được bỏ qua nếu các điều kiện khác tồn tại trên phần tử.

Bộ chọn này thường được sử dụng để loại bỏ nhanh chóng các lề (margin) và phần đệm (padding) mặc định khỏi các phần tử.

Hãy thử ví dụ sau để hiểu cách thức hoạt động của nó:

* {
    margin: 0;
    padding: 0;
}

Các quy tắc kiểu bên trong bộ chọn * sẽ được áp dụng cho mọi thành phần trong trang.

Lưu ý: Không nên sử dụng bộ chọn phổ quát (*) quá thường xuyên, vì bộ chọn này khớp với mọi thành phần trên trang web gây quá nhiều áp lực không cần thiết cho trình duyệt. Thay vào đó, sử dụng kiểu phần tử hoặc bộ chọn class thay thế.

Bộ chọn CSS #2: Bộ chọn CSS theo kiểu phần tử

Bộ chọn CSS theo kiểu phần tử với tất cả các phần tử trong trang web có kiểu tương ứng. Hãy thử một ví dụ để xem nó hoạt động như thế nào:

p {
    color: blue;
}

Các quy tắc kiểu bên trong bộ chọn p sẽ được áp dụng cho tất cả các phần tử <p> trong trang web và tô màu blue cho nó, bất kể vị trí của nó ở đâu.

Bộ chọn CSS #3: Bộ chọn CSS theo id

Bộ chọn CSS theo id được sử dụng để áp dụng thuộc tính CSS cho một phần tử duy nhất. (Vì id là duy nhất)

Bộ chọn CSS theo id được xác định bằng dấu thăng (#) ngay sau đó là tên id.

#error {
    color: red;
}

Quy tắc CSS này áp dụng màu văn bản red cho phần tử có id là error.

Lưu ý: Tên id phải là duy nhất trong một trang nhất định – có nghĩa là không có hai phần tử trong HTML của bạn có thể cùng tên id, nếu không nó sẽ gây nhầm lẫn.

Bộ chọn CSS #4: Bộ chọn CSS theo class

Các bộ chọn CSS theo class có thể được sử dụng để chọn bất kỳ phần tử HTML nào có thuộc tính class cùng tên.

Tất cả các phần tử có lớp đó sẽ được định dạng theo quy tắc được xác định.

Bộ chọn CSS theo class được định nghĩa bằng dấu thời gian (.) ngay sau đó là tên class.

.blue {
    color: blue;
}

Các quy CSS ở trên làm cho văn bản có màu blue của tất cả các phần tử trong trang có class là blue sẽ được áp dụng.

Bạn có thể chọn theo một nhóm phần tử. Ví dụ:

p.blue {
    color: blue;
}

Quy tắc CSS p.blue này làm cho văn bản có màu blue. Nhưng chỉ áp dụng cho các phần tử p có class là blue.

Các phần tử khác cũng có class blue như là div, span, … thì không được áp dụng.

Bộ chọn CSS #5: Bộ chọn CSS theo hậu duệ

Bạn có thể sử dụng các bộ chọn CSS này khi bạn cần chọn một phần tử là hậu duệ của một phần tử khác.

Ví dụ, nếu bạn muốn chỉ nhắm mục tiêu đến các thẻ <a> được chứa trong danh sách không có thứ tự, thay vì nhắm mục tiêu tất cả các phần tử <a>.

Đây là cách bạn có thể chọn:

ul.menu li a {
    text-decoration: none;
}
h1 em {
    color: green;
}

Các quy tắc CSS bên trong bộ chọn ul.menu li a chỉ áp dụng cho những phần tử có trong phần tử ul có class là .menu và không có tác dụng đối với các thẻ <a> khác trong trang.

Tương tự, các quy tắc kiểu bên trong bộ chọn h1 em sẽ chỉ được áp dụng cho những phần tử <em> có bên trong phần tử <h1> và không ảnh hưởng đến các phần tử <em> khác.

Bộ chọn CSS #6: Bộ chọn CSS theo phần tử con trực tiếp

Một bộ chọn CSS theo phần tử con trực tiếp được sử dụng để chỉ chọn các phần tử là phần tử con trực tiếp của một số phần tử.

Một bộ chọn con được tạo thành từ hai hoặc nhiều bộ chọn cách nhau bởi một ký hiệu lớn hơn ( > ).

Ví dụ, bạn có thể sử dụng bộ chọn này để chọn cấp độ phần tử danh sách đầu tiên bên trong danh sách lồng nhau có nhiều cấp độ.

Hãy xem một ví dụ để hiểu cách thức hoạt động của nó:

ul > li {
    list-style: square;
}
ul > li ol {
    list-style: none;
}

Quy tắc CSS bên trong bộ chọn ul > li chỉ áp dụng cho các phần tử <li> là phần tử con trực tiếp của phần tử <ul> và không có tác dụng đối với các phần tử <li> khác.

Bộ chọn CSS #7: Bộ chọn CSS theo anh chị em liền kề

Các bộ chọn CSS anh chị em liền kề có thể được sử dụng để chọn các phần tử anh chị em (tức là các phần tử ở cùng cấp).

Bộ chọn này có cú pháp như: E1 + E2, trong đó E2 là mục tiêu của bộ chọn.

Bộ chọn h1 + p trong ví dụ sau sẽ chỉ chọn các phần tử <p> nếu cả hai phần tử <h1> và <p> có chung cha mẹ trong document tree và <h1> đứng ngay trước phần tử <p>.

Điều đó có nghĩa là chỉ những thẻ <p> xuất hiện ngay sau mỗi thẻ <h1> mới có được áp dụng quy tắc CSS này.

Hãy xem cách bộ chọn này thực sự hoạt động thế nào:

h1 + p {
    color: blue;
    font-size: 18px;
}
ul.task + p {
    color: #f0f;
    text-indent: 30px;
}

Bộ chọn CSS #8: Bộ chọn CSS theo anh chị em tương tự

Bộ chọn anh chị em tương tự giống như bộ chọn anh chị em liền kề (E1 + E2), nhưng nó ít nghiêm ngặt hơn.

Một bộ chọn anh chị em tương tự được tạo thành từ hai bộ chọn đơn giản được phân tách bằng ký tự dấu ngã (∼).

Nó có thể được viết như sau: E1 ~ E2, trong đó E2 là mục tiêu của bộ chọn.

Bộ chọn h1 ~ p trong ví dụ dưới đây sẽ chọn tất cả các phần tử <p> đứng trước phần tử <h1>, trong đó tất cả các phần tử có chung cha mẹ trong document tree.

h1 ∼ p {
    color: blue;
    font-size: 18px;
}
ul.task ∼ p {
    color: #f0f;
    text-indent: 30px;
}

Có các bộ chọn phức tạp hơn như bộ chọn thuộc tính, pesudo-class, pesudo-element. Chúng ta sẽ được học chi tiết trong các bài sắp tới.

>> Đọc thêm ngay: 8 CSS Selector front end dev cần phải biết

Bộ chọn CSS #9: Bộ chọn CSS theo nhóm

Thông thường một số bộ chọn trong một file CSS có chung các thuộc tính.

Bạn có thể nhóm chúng vào một danh sách được phân tách bằng dấu phẩy ( , ) để giảm thiểu code CSS hơn.

Nó cũng ngăn bạn lặp lại code.

h1 {
    font-size: 36px;
    font-weight: normal;
}
h2 {
    font-size: 28px;
    font-weight: normal;
}
h3 {
    font-size: 22px;
    font-weight: normal;
}

Như bạn có thể thấy trong ví dụ trên, cùng một quy tắc font-weight: normal; được chia sẻ bởi các bộ chọn h1, h2 và h3.

Vì thế, bạn có thể được nhóm vào cùng một nhóm như sau:

h1, h2, h3 {
    font-weight: normal;
}
h1 {
    font-size: 36px;
}
h2 {
    font-size: 28px;
}
h3 {
    font-size: 22px;
}

Bạn đã hiểu kha khá về bộ chọn CSS rồi đấy.

Đây là những bộ chọn CSS hay sử dụng nhất trong khi viết CSS. Hãy đọc kỹ và luyện tập lại các ví dụ ở trên nhé.

Bởi vì bộ chọn CSS này rất quan trọng, hiểu được các bộ chọn CSS bạn sẽ tránh được nhiều tính huống “Em đã CSS rồi mà nó không thay đổi”.

Chúc bạn tự học CSS tốt.

Học tiếp: Thuộc tính màu sắc trong CSS

Đọc thêm: Cú pháp CSS

PHPDEV

Cú pháp CSS

Trong hướng dẫn tự học CSS này, bạn sẽ tìm hiểu về cú pháp CSS, cách định nghĩa và khai báo CSS trong file CSS của mình.

Trong hướng dẫn tự học CSS này, bạn sẽ tìm hiểu về cú pháp CSS, cách định nghĩa và khai báo CSS trong file CSS của mình.

Cú pháp CSS cơ bản
Cú pháp CSS cơ bản

Đầu tiên, hãy cùng…

1. Hiểu cơ bản về cú pháp CSS

CSS bao gồm một tập hợp các quy tắc được trình duyệt web diễn giải và sau đó được áp dụng cho các thành phần tương ứng như đoạn văn, tiêu đề, v.v. trong tài liệu HTML.

Quy tắc CSS có hai phần chính, bộ chọn CSS (hay còn gọi là CSS Selector) và một hoặc nhiều khai báo CSS:

Minh họa các thành phần của Cú pháp CSS
Minh họa các thành phần của Cú pháp CSS

Bộ chọn CSS chỉ định phần tử hoặc các phần tử trong trang HTML để áp dụng quy tắc CSS trong dấu ngoặc nhọn.

>> Đọc thêm: 8 kiểu CSS Selector lập trình viên front end nào cũng cần phải biết.

Trong khi đó, các khai báo CSS trong khối xác định cách các phần tử được định dạng trên trang web.

Mỗi khai báo bao gồm:

  • Một thuộc tính và một giá trị được phân tách bằng dấu hai chấm ( : )
  • Kết thúc bằng dấu chấm phẩy ( ; )
  • Và các nhóm khai báo được bao quanh bởi dấu ngoặc nhọn { }.

Thuộc tính là thuộc tính CSS bạn muốn thay đổi. Chúng có thể là phông chữ, màu sắc, hình nền, v.v …

Mỗi thuộc tính có một giá trị, ví dụ thuộc tính màu có thể có giá trị là blue hoặc #0000FF, v.v.

Đây là một ví dụ:

h1 {color: blue; text-align: center;}

Để làm cho CSS dễ đọc hơn, bạn có thể đặt một khai báo CSS trên mỗi dòng, như ví dụ sau:

h1 {
    color: blue;
    text-align: center;
}

Trong ví dụ trên:

  • h1 là một bộ chọn CSS
  • colortext-align là các thuộc tính CSS
  • Cùng với đó, bluecenter là các giá trị tương ứng.

Lưu ý: Một khai báo CSS luôn kết thúc bằng dấu chấm phẩy ” ; ” và các nhóm khai báo CSS luôn được bao quanh bởi dấu ngoặc nhọn ” { } “.

2. Viết comment trong CSS

Comment CSS thường được thêm vào với mục đích làm cho mã nguồn dễ hiểu hơn.

Các comment có thể giúp các lập trình viên khác (hoặc bạn trong có thể dễ dàng chỉnh sửa mã nguồn trong tương lai) dễ hiểu bạn đang muốn làm gì với đống CSS này..

Nhận xét rất có ý nghĩa đối với lập trình viên nhưng bị các trình duyệt bỏ qua.

Một nhận xét CSS:

  • bắt đầu bằng dấu / *
  • và kết thúc bằng * /

Giống như trong ví dụ dưới đây:

/* Đây là một comment CSS */
h1 {
    color: blue;
    text-align: center;
}
/* Đây là một comment CSS
trên nhiều dòng */
p {
    font-size: 18px;
    text-transform: uppercase;
}

Bạn cũng có thể comment một phần code CSS để vô hiệu hóa nó (thường dành cho mục đích gỡ lỗi hay còn gọi là debug)

Ví dụ:

h1 {
    color: blue;
    text-align: center;
}
/*
p {
    font-size: 18px;
    text-transform: uppercase;
}
*/

3. CSS có phân biệt chữ HOA chữ thường không?

Tên thuộc tính CSS và nhiều giá trị thì không phân biệt chữ hoa chữ thường.

Trong khi đó, các bộ chọn CSS thường phân biệt chữ hoa chữ thường, ví dụ, bộ chọn class .maincontent là không giống với .mainContent.

Do đó, để an toàn hơn, bạn nên cứ mặc định là rằng tất cả các thành phần của cú pháp CSS là phân biệt chữ hoa chữ thường.

Tránh lẫn lộn và dễ nhầm lẫn sau này.

Cú pháp CSS dễ hiểu chứ?

Cú pháp CSS là một trong những thứ dễ hiểu nhất trong lập trình. Chắc bạn cũng thấy thế đung không?

Nhiều người thấy khó học CSS có chăng là do CSS là một bộ môn có tính nghệ thuật và chính CSS cũng có rất nhiều thuộc tính, và thi thoảng lại tương tác theo cách không rõ ràng nên mới gây khó khăn.

CSS nhiều thuộc tính nhưng bạn không cần phải nhớ hết. Và hãy cứ học theo Series Tự học CSS này là bạn cũng sẽ sớm thuần phục được CSS thôi.

Bạn có thể tham khảo tất cả các thuộc tính CSS hay dùng nhất tại đây.

PHPDEV

Nhập môn CSS

Bài viết nhập môn CSS này sẽ hướng dẫn bạn làm thế nào để có thể tạo ra file css, và áp dụng CSS cho HTML.

Bài viết nhập môn CSS này sẽ hướng dẫn bạn làm thế nào để có thể tạo ra file css, và áp dụng CSS cho HTML.

Nhập môn CSS
Nhập môn CSS

Tệp CSS chỉ đơn giản là một tệp văn bản đơn giản được lưu với phần mở rộng .css.

Nhưng, trước khi chúng ta bắt đầu, hãy đảm bảo rằng bạn có một số kiến ​​thức về HTML.

>> Tham khảo: Tự học HTML trên W3C (nếu bạn là người mới bắt đầu, chưa biết gì)

Và khi đã hiểu cơ bản về HTML, hãy quay lại đây và bắt đầu với Cascading Style Sheets (CSS).

3 Cách thêm CSS vào trong HTML

CSS có thể được đính kèm dưới dạng file riêng biệt hoặc được nhúng trong chính file HTML.

Có ba phương pháp để thêm CSS vào file HTML:

  • Kiểu CSS nội tuyến (inline styles) – Sử dụng thuộc tính style trong thẻ HTML.
  • Kiểu nhúng CSS (embedded styles) – Sử dụng phần tử <style> và đặt ở trong thẻ head của HTML
  • CSS bên ngoài (external style) – Sử dụng phần tử <link> để trỏ đến file CSS ở bên ngoài.

Cách #1: CSS nội tuyến (Inline Styles)

Các kiểu CSS nội tuyến được sử dụng để áp dụng trực tiếp CSS vào từng thẻ HTML (thẻ bắt đầu).

Nó có thể được gắn vào một phần tử HTML bằng cách sử dụng thuộc tính style.

Thuộc tính style bao gồm một loạt các cặp Giá trịThuộc tính CSS.

Mỗi cặp “thuộc tính: giá trị” được phân tách bằng dấu chấm phẩy (;), giống như bạn sẽ viết CSS vào một file CSS bên ngoài vậy.

Nhưng nó cần phải đặt tất cả trên một dòng, tức là không ngắt dòng sau dấu chấm phẩy, như ví dụ bên dưới đây:

<h1 style="color:red; font-size:30px;">Đây là thẻ H1</h1>
<p style="color:green; font-size:22px;">Đây là một đoạn văn bản.</p>
<div style="color:blue; font-size:14px;">Chào bạn đến với series tự học CSS3.</div>

Sử dụng các cách viết CSS nội tuyến thường được coi là bad pratice.

Vì các quy tắc kiểu được nhúng trực tiếp bên trong thẻ HTML, nó làm cho thuộc tính trình bày bị trộn lẫn với nội dung của tài liệu.

Điều này làm cho code khó duy trì và phủ nhận mục đích sử dụng CSS.

Lưu ý: Không thể CSS các phần tử giả (pesudo-element) và các lớp giả (pesudo-class) với các kiểu nội tuyến. Do đó, bạn nên tránh sử dụng các thuộc tính css trong code HTML của mình. Sử dụng kiểu liên kết file CSS là cách làm phổ biến nhất để thêm CSS vào HTML.

Thực tế: Vẫn có trường hợp ưu tiên viết CSS trong phần tử HTML nếu thực sự cần tối ưu tốc độ tải trang. ^^

Cách #2: Nhúng CSS (Embedded Styles)

Kiểu Nhúng CSS hoặc CSS nội tuyến chỉ ảnh hưởng đến file HTML mà chúng được nhúng vào.

Nhúng CSS là viết CSS trong phần tử <style> và đặt nó trong phần <head> của tài liệu HTML.

Bạn có thể định nghĩa bất kỳ số lượng phần tử style nào trong tài liệu HTML nhưng chúng phải xuất hiện giữa thẻ <head></head>.

Hãy xem một ví dụ nhúng CSS dưới đây:

<!DOCTYPE html>
<html>
<head>
    <title>Đây là file HTML</title>
    <style>
        body {background-color: YellowGreen;}
        p {color: #fff;}
    </style>
</head>
<body>
    <h1>Đây là một tiêu đề</h1>
    <p>Đây là một đoạn văn bản.</p>
</body>
</html>

Lưu ý: Thuộc tính type của thẻ <style> và thẻ <link> (nghĩa là type = “text/css”) xác định ngôn ngữ của bảng style. Thuộc tính này là hoàn toàn chỉ là thông tin. Bạn có thể bỏ qua phần này vì CSS là ngôn ngữ định kiểu chuẩn và mặc định trong HTML5.

Cách #3: CSS bên ngoài (External Styles)

Kiểu CSS bên ngoài là cách làm phổ biến nhất trong lập trình web.

File CSS bên ngoài chứa tất cả các quy tắc kiểu trong một tài liệu riêng mà bạn có thể liên kết từ bất kỳ tệp HTML nào trên trang web của mình.

CSS bên ngoài là linh hoạt nhất vì với file CSS bên ngoài, bạn có thể thay đổi giao diện của toàn bộ trang web chỉ bằng cách thay đổi một tệp.

Bạn có thể đính kèm các file CSS bên ngoài theo hai cách:

  • Liên kết file CSS
  • hoặc nhập file CSS

Liên kết file CSS bên ngoài

Trước khi liên kết đến CSS, chúng ta cần tạo một file CSS trước.

Hãy mở trình trình soạn thảo và tạo một tệp mới. Bây giờ hãy nhập mã CSS sau trong tệp này và lưu nó với tên bất kỳ nhưng có phần mở rộng là .css.

Ví dụ, mình lưu tên file là style.css

body {
    background: lightyellow;
    font: 18px Arial, sans-serif;
}
h1 {
    color: orange;
}

Một file CSS bên ngoài có thể được liên kết với một tài liệu HTML bằng cách sử dụng thẻ <link>.

Thẻ <link> nằm trong phần <head>, như bạn có thể thấy trong ví dụ sau:

<!DOCTYPE html>
<html>
<head>
    <title>Đây là file HTML</title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <h1>Đây là một tiêu đề</h1>
    <p>Đây là một đoạn văn bản.</p>
</body>
</html>

Ở đây mình lưu file CSS trong thư mục css. Còn file HTML đang nằm cùng cấp với thư mục css, như thế này:

Ví dụ thư mục đặt file CSS để liên kết CSS bên ngoài vào HTML
Ví dụ thư mục đặt file CSS để liên kết CSS bên ngoài vào HTML

Nhưng nếu bạn để file CSS cùng cấp với file HTML thì bạn có liên kết như thế này:

<!DOCTYPE html>
<html>
<head>
    <title>Đây là file HTML</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <h1>Đây là một tiêu đề</h1>
    <p>Đây là một đoạn văn bản.</p>
</body>
</html>

Mẹo: Trong số tất cả ba phương thức, sử dụng CSS bên ngoài là phương pháp tốt nhất để định nghĩa và áp dụng các kiểu cho các tài liệu HTML. Như bạn có thể thấy rõ với các file CSS bên ngoài, tệp HTML chỉ cần thêm một dòng code tối thiểu.

Nhập CSS (import CSS)

@import CSS là một cách khác để tải một file CSS bên ngoài vào trong HTML. Câu lệnh @import hướng dẫn trình duyệt tải một file CSS bên ngoài và sử dụng nó.

Bạn có thể sử dụng nó theo hai cách.

Đơn giản nhất là đặt trong phần header. Lưu ý là, các quy tắc CSS khác vẫn có thể được bao gồm trong thẻ <style>.

Đây là một ví dụ các nhập CSS vào HTML:

<style>
    @import url("css/style.css");
    p {
        color: blue;
        font-size: 16px;
    }
</style>

Tương tự, bạn có thể sử dụng @import để nhập một file CSS trong một file CSS khác.

@import url("css/layout.css");
@import url("css/color.css");
body {
    color: blue;
    font-size: 14px;
}

Lưu ý: Tất cả các @import phải đặt ở đầu CSS. Bất kỳ quy tắc kiểu nào được định nghĩa trong file CSS này sẽ ghi đè lên các quy tắc xung đột trong file CSS đã nhập. Tuy nhiên, không nên nhập file CSS này vào file CSS khác do nó sẽ có vấn đề về hiệu suất.

Chúc mừng bạn đã nhập môn CSS.

Như vậy là qua bài này bạn đã biết cách tạo ra file CSS, biết viết CSS ở đâu cũng như cách để áp dụng CSS cho tài liệu HTML.

Tuy nhiên, bài viết này mới chỉ là phần nhập môn CSS, chặng đường dài còn ở phía trước.

Hãy kiên trì học tập hàng ngày bạn nhé.

Học tiếp: Cú pháp CSS

Đọc thêm: Giới thiệu Series Tự học CSS

PHPDEV

Giới thiệu series tự học CSS3

Mỗi bài trong series hướng dẫn tự học CSS này chứa rất nhiều ví dụ CSS trong thế giới thực mà bạn có thử làm lại ngay lập tức. Những ví dụ này sẽ giúp bạn hiểu rõ hơn về khái niệm hoặc chủ đề về CSS.

Trong series bài viết này, mình sẽ hướng dẫn bạn tìm hiểu, tự học CSS3 từ những thứ cơ bản nhất cho đến cả các kỹ năng CSS nâng cao.

Giới thiệu series tự học CSS3
Giới thiệu series tự học CSS3

CSS là gì?

CSS là công nghệ quan trọng được sử dụng trong thiết kế trang web.

CSS là viết tắt của Cascading Style Sheets.

Nó là ngôn ngữ biểu định kiểu chuẩn được sử dụng để mô tả bản trình bày (nghĩa là bố cục và định dạng) của các trang web.

Trước khi có CSS, gần như tất cả các thuộc tính để trình bày trang web được chứa trong HTML (cụ thể là bên trong các thẻ HTML).

Tất cả các màu phông chữ, màu nền, sắp xếp các thành phần, đường viền và kích thước phải được mô tả rõ ràng trong HTML.

Do đó, việc lập trình các trang web lớn đã trở thành một quá trình lâu dài và tốn kém, vì thông tin về trình bày được lặp đi lặp lại vào mỗi trang của trang web.

Để giải quyết vấn đề này, CSS được World Wide Web Consortium (W3C) giới thiệu vào năm 1996 (cũng là tổ chức duy trì tiêu chuẩn của nó).

CSS được thiết kế để cho phép tách biệt phần kiểu dáng ra khỏi HTML.

Bây giờ, các lập trình viên web có thể chuyển thông tin định dạng của các trang web sang một file riêng biệt.

Làm như thế, chúng ta có file HTML đơn giản hơn nhiều và khả năng bảo trì tốt hơn.

CSS3 là phiên bản mới nhất của đặc tả CSS. CSS3 bổ sung một số tính năng và cải tiến kiểu dáng mới để tăng cường khả năng trình bày website.

Lưu ý: Hướng dẫn tự học CSS này sẽ giúp bạn tìm hiểu các nguyên tắc cơ bản của ngôn ngữ CSS3 mới nhất, từ các chủ đề cơ bản đến nâng cao từng bước. Nếu bạn là người mới bắt đầu, hãy bắt đầu với theo từng bài viết một và dần dần chuyển sang bài bài tiếp theo.

CSS có thể làm gì?

Chỉ cần làm việc tốt với CSS thì bạn có thể kiếm rất nhiều tiền. Bạn hiểu ý mình chứ?

Có rất nhiều điều bạn có thể làm với CSS.

  • Bạn có thể dễ dàng áp dụng các kiểu dáng trên các phần tử.
  • Bạn có thể kiểm soát việc code css của cả một dự án bằng một file css duy nhất.
  • Bạn có thể trình bày cùng một trang khác nhau trên các thiết bị khác nhau.
  • Bạn có thể tạo các trạng thái động của các phần tử như hover, focus, v.v.
  • Bạn có thể thay đổi vị trí của một thành phần trên trang web mà không cần thay đổi HTML.
  • Bạn có thể thay đổi hiển thị các thành phần HTML hiện có.
  • Bạn có thể chuyển đổi các phần tử như tỷ lệ, xoay, nghiêng, v.v. trong không gian 2D hoặc 3D.
  • Bạn có thể tạo hiệu ứng animation và chuyển tiếp mà không cần sử dụng bất kỳ JavaScript nào. (Tham khảo: Học CSS Animation)
  • Bạn có thể tạo phiên bản in thân thiện của các trang web của bạn.

Danh sách không kết thúc ở đây, có nhiều điều thú vị khác mà bạn có thể làm với CSS. Bạn sẽ tìm hiểu về tất cả chúng một cách chi tiết trong các chương sắp tới.

Ưu điểm điểm khi sử dụng CSS

Ưu điểm lớn nhất của CSS là cho phép tách biệt kiểu dáng và bố cục khỏi nội dung của tài liệu. Dưới đây là một số lợi thế, tại sao người ta nên bắt đầu sử dụng CSS?

Ưu điểm #1: Sử dụng CSS Tiết kiệm nhiều thời gian

CSS cung cấp rất nhiều tính linh hoạt để đặt các thuộc tính kiểu của một phần tử. Bạn có thể viết CSS một lần.

Và sau đó cùng một mã có thể được áp dụng cho các nhóm phần tử HTML và cũng có thể được sử dụng lại trong nhiều trang HTML.

Ưu điểm #2: Sử dụng CSS giúp bảo trì dễ dàng

CSS cung cấp một phương tiện dễ dàng để cập nhật định dạng của tài liệu và để duy trì tính nhất quán trên nhiều tài liệu. Bởi vì nội dung của toàn bộ các trang web có thể được kiểm soát dễ dàng bằng cách sử dụng một hoặc nhiều biểu định kiểu.

Ưu điểm #3: Sử dụng CSS giúp trang tải nhanh hơn

CSS cho phép nhiều trang chia sẻ CSS với nhau, giúp giảm độ phức tạp và lặp lại trong nội dung cấu trúc của trang web.

Nó giảm đáng kể kích thước tệp, và làm cho tốc độ tải trang nhanh hơn.

>> Kiểm tra tốc độ tải trang tại đây!

Ưu điểm #4: Sử dụng CSS cho phép trình bày đa dạng hơn.

CSS có khả năng trình bày đa dạng hơn rất nhiều so với HTML và cung cấp khả năng kiểm soát tốt hơn nhiều đối với bố cục của các trang web.

Vì thế, bạn có thể có cái nhìn tốt hơn nhiều về tổng thể và dễ dàng xử lý khi lập trình.

Ưu điểm #5: Sử dụng CSS giúp trang web tương thích nhiều thiết bị

CSS cũng cho phép các trang web được tối ưu hóa cho nhiều loại thiết bị (người ta gọi là responsive).

Khi sử dụng CSS, cùng một file HTML, chúng ta có thể trình bày nó theo các kiểu xem khác nhau cho các thiết bị kết xuất khác nhau như máy tính để bàn, điện thoại di động, tivi..v.v.

Note: Bây giờ hầu hết các thuộc tính HTML đang được khuyến cáo là không nên sử dụng. Vì thế, thông thường, bạn nên sử dụng CSS càng nhiều càng tốt để tăng khả năng thích ứng trang web và khả năng tương thích với các trình duyệt hiện đại.

Series hướng dẫn tự học CSS này bao gồm những gì?

Loạt bài hướng dẫn tự học CSS này bao gồm tất cả các nguyên tắc cơ bản của CSS, bao gồm:

  • CSS Selector
  • Các thuộc tính màu sắc, nền, phông chữ…
  • Các liên kết, danh sách, bảng…
  • … cũng như khái niệm về CSS box model, …

Khi bạn cảm học được CSS cơ bản, bạn sẽ chuyển sang cấp độ tiếp theo:

  • Cách đặt thiết lập kích thước và căn chỉnh các yếu tố
  • Phương pháp định vị các phần tử trên trang web
  • Xử lý hình ảnh
  • Các khái niệm về đơn vị tương đối và đơn vị tuyệt đối
  • Mô hình định dạng trực quan, hiển thị và khả năng hiển thị
  • Các lớp, lớp giả và các thành phần
  • Đa phương tiện…

Cuối cùng, bạn sẽ được học về một số tính năng nâng cao được giới thiệu trong CSS3 như:

  • Gradient color
  • Hiệu ứng drop shadow, 2D và 3D
  • Độ trong suốt
  • Cũng như phương pháp tạo hiệu ứng chuyển tiếp (transition) và hiệu ứng hoạt hình (animation)
  • Bố cục flex (Tham khảo: Tự học Flexbox)
  • Hiệu ứng filter
  • Khái niệm phương tiện Media queries, và nhiều hơn nữa….

Bắt đầu tự học CSS ngay thôi

CSS rất thú vị, và rất dễ để bắt đầu học lập trình web.

Mỗi bài trong series hướng dẫn tự học CSS này chứa rất nhiều ví dụ CSS trong thế giới thực mà bạn có thử làm lại ngay lập tức. Những ví dụ này sẽ giúp bạn hiểu rõ hơn về khái niệm hoặc chủ đề về CSS.

Nó cũng sẽ bao gồm những cách viết CSS thông minh cũng như các mẹo hữu ích và ghi chú quan trọng.

Bắt đầu tự học CSS ngay thôi!

Học tiếp: Nhập môn CSS

Đọc thêm: Giới thiệu series tự học PHP

PHPDEV