logo

Đang load dữ liệu

logo devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER

Đào tạo - Phần mềm - Cho thuê nhân sự

  • 0969.609.003
  • 0978.611.889
  • Trang chủ
  • Các khoá đào tạo
    • Chuyên đề WEB - PHP

      • Lập trình web với HTML5 - CSS3- JQuery - Bootstrap - Ajax - [36 giờ]
      • Lập trình web frontend - reactjs - [75 giờ]
      • Lập trình web với mã nguồn mở PHP&MYSQL - PHP FRAMEWORK [126 giờ]

      Chuyên đề Mobile

      • Lập trình Games/Apps trên nền tảng Android - [120 giờ]
      • Lập trình Games/Apps trên nền tảng IOS - [120 giờ]

      Chuyên đề JAVA

      • Ngôn ngữ lập trình hướng đối tượng với java - [40 giờ]
      • Lập trình ứng dụng với java - [100 giờ]
      • Lập trình web site với java framework (JPA, HIBERNATE, SPRING MVC, SPRINGBOOT) - [276 giờ]

      Chuyên đề NETWORK/SECURITY

      • Khoá học Quản trị hạ tầng mạng CCNA v6 - [72 giờ]
      • Khoá học quản trị hệ thống với Windows SERVER 2012- [72 giờ]
      • Chuyên gia bảo mật hệ thống CompTIA + - [110 giờ]

      Chuyên đề .NET

      • Nền tảng lập trình hướng đối tượng với C# - [40 giờ]
      • Lập trình ứng dụng WINDOWS FORM - [100 giờ]
      • Lập trình Web với ASP.NET MVC 5, WebAPI - [145 giờ]

      Chuyên đề khác

      • Ngôn ngũ lập trình C/C++ - [80 giờ]
  • Lập trình cho trẻ em
  • Dịch vụ
    • Đào tạo theo như cầu
    • Cung cấp thiết bị - Phần mềm
    • Tư vấn - Thiết kế mạng hạ tầng
    • Tư vấn - Triển khai dịch vụ mạng
    • Tư vấn - Tư vấn, triển khai giám sát hệ thống
    • Thực tập dự án
  • Lịch khai giảng
  • Tin tức
    • Tin tức và sự kiện
    • Tin hoạt động
    • Tin công nghệ
    • Hội thảo, workshop, Codecam
    • Thông tin việc làm
    • Cẩm nang chia sẻ kiến thức
  • Tiện ích
  • Liên hệ

Cẩm nang chia sẻ kiến thức

Oct - 2020

23

Pseudo-Class trong CSS

Cẩm nang chia sẻ kiến thức

Pseudo-Class trong CSS được sử dụng để thêm các hiệu ứng đặc biệt tới một số Selector mà không cần sử dụng đến JavaScript hoặc bất cứ ngôn ngữ Script nào. Ví dụ viết CSS đổi màu các liên kết khi rê chuột vào, đổi thuộc tính một phần tử khi nhấp vào, định dạng đường dẫn khi đã và chưa được click vào...

Cú pháp pseudo-class

Cú pháp đơn giản cho Pseudo-Class trong CSS là:

selector:pseudo-class {
  property:value;
}

Pseudo-Class cho đường link

Pseudo-Class được sử dụng nhiều nhất với các đường liên kết (thẻ <a>) để tạo ra hiệu ứng thay đổi trạng thái chữ mỗi khi người dùng di chuột qua nó.

Có tất cả 4 trạng thái tương đương với 4 Pseudo-Class của đường link:

  • a:link {color:blue;}: Hiển thị hiệu ứng khác biệt để người đọc biết đây là đường liên kết.
  • a:visited {color:green;}: Đường link đã từng được click vào.
  • a:hover {color:red;}: Di chuột qua đường link.
  • a:active {color:navy;}: Đường link đang được nhấp chuột vào.

Lưu ý:

  • a:hover phải xuất hiện sau a:link và a:visited trong CSS để tạo ra hiệu ứng.
  • Tương tự, a:active phải xuất hiện sau a:hover.
  • Các tên được sử dụng cho Pseudo Class là không phân biệt chữ hoa chữ thường.
  • Pseudo Class khác với các Class khác trong CSS, tuy nhiên chúng có thể kết hợp với nhau.

Ví dụ:

<!DOCTYPE html>
<html>
<head>
<style>
/* Viết bởi Quantrimang.com */
a:link {
color: blue;
}

a:visited {
color: green;
}

a:hover {
color: pink;
}

a:active {
color: red;
}
</style>
</head>
<body>

<p><b><a href="https://quantrimang.com/" target="_blank">Trang chủ website 
Quản trị mạng</a></b></p>

</body>
</html>

Đoạn code trên định nghĩa đường liên kết lúc:

  • Bình thường sẽ có màu xanh (blue) và gạch chân là giá trị mặc định.
  • Đường liên kết đã được người dùng nhấp vào, nó sẽ có màu xanh (green).
  • Người dùng di chuột lên (chưa nhấp) nó sẽ có màu hồng.
  • Người dùng chỉ nhấp và giữ chuột nó sẽ có màu đỏ (ít khi xảy ra).

Pseudo-class và CSS Class

Các Pseudo-class có thể được kết hợp với các lớp trong CSS.

Ví dụ, khi bạn di chuột qua liên kết, nó sẽ thay đổi màu:

a.highlight:hover {
  color: #ff0000;
}

 

<!DOCTYPE html>
<html>
<head>
<style>
a.highlight:hover {
  color: #ff0000;
} 
</style>
</head>
<body>

<p><a class="highlight" href="https://quantrimang.com/">Trang chủ website 
Quản trị mạng</a> <span>(Sử dụng Pseudo-class kết hợp CSS Class)</span></p>
<p><a href="https://quantrimang.com/lang-cong-nghe">Làng Công nghệ - Quản trị 
mạng</a> <span>(Không sử dụng Pseudo-class kết hợp CSS Class)</span></p>

</body>
</html>

Di chuột vào <div>

Một ví dụ về việc sử dụng pseudo-class :hover trên <div> làm thay đổi màu nền của phần tử.

div:hover {
  background-color: purple;
}

 

<!DOCTYPE html>
<html>
<head>
<style>
div {
  background-color: purple;
  color: white;
  padding: 25px;
  text-align: center;
}

div:hover {
background-color: #DB7093;
}
</style>
</head>
<body>

<p>Di chuột qua phần tử div bên dưới sẽ làm thay đổi màu nền của nó:</p>

<div>Thử di chuột vào đây xem</div>

</body>
</html>

Dùng Pseudo-Class tạo tooltip :hover đơn giản

Tạo một tooltip :hover đơn giản kiểu di chuyển chuột vào phần tử <div> để hiển thị một phần tử <p>

p {
  display: none;
  background-color: yellow;
  padding: 20px;
}

div:hover p {
  display: block;
}

 

<!DOCTYPE html>
<html>
<head>
<style>
p {
display: none;
padding: 20px;
}

div:hover p {
display: block;
}
</style>
</head>
<body>

<div>Di chuột qua đây để thấy điều thú vị!
<p><img src="you-are-beautiful.jpg" alt="You Are Beautiful" style="width:60%"></p>
</div>

</body>
</html>

Pseudo-class :first-child trong CSS

Pseudo-class :first-child xác định một phần tử cụ thể là phần tử con đầu tiên của phần tử khác và thêm style đặc biệt tới phần tử đó.

Chọn tất cả thẻ <p> đầu tiên và định kiểu cho nó

p:first-child {
color: purple;
}

Để :first-child có thể làm việc trong IE, cần phải khai báo phần tử <!DOCTYPE> ở đầu tài liệu.

Ví dụ, để <p> đầu tiên có chữ màu tím, có thể làm như sau:

<!DOCTYPE html>
<html>
<head>
<style>
p:first-child {
  color: red;
} 
</style>
</head>
<body>

<p>Website Quản trị mạng.</p>
<p>Website Quản trị mạng.</p>
<p><b>Chú ý:</b> Để :first-child có thể làm việc trong IE, cần phải khai báo 
phần tử !DOCTYPE ở đầu tài liệu.</p>

</body>
</html>

Chọn <i> đầu tiên trong tất cả các <p> và định kiểu cho nó

p i:first-child {
  color: blue;
}

Ví dụ sau sử dụng :first-child để xác định phần tử <i> là phần tử con đầu tiên trong tất cả các <p> và thêm style đặc biệt cho <i>.

<!DOCTYPE html>
<html>
<head>
<style>
p i:first-child {
  color: blue;
} 
</style>
</head>
<body>

<p>Website <i>Quantrimang.com</i>. Website <i>Quantrimang.com</i>.</p>
<p>Website <i>Quantrimang.com</i>. Website <i>Quantrimang.com</i>.</p>
<p><b>Chú ý:</b> Để <i>:first-child</i> có thể làm việc trong IE, cần phải 
khai báo phần tử !DOCTYPE ở đầu tài liệu.</p>

</body>
</html>

Chọn tất cả các <i> trong <p> đầu tiên và định kiểu cho nó

p:first-child i {
  color: blue;
}

Ví dụ sau sử dụng :first-child để xác định tất cả các phần tử <i> là phần tử con đầu tiên trong <p> đầu tiên và thêm style đặc biệt cho <i>.

<!DOCTYPE html>
<html>
<head>
<style>
p:first-child i {
  color: blue;
} 
</style>
</head>
<body>

<p>Website <i>Quantrimang.com</i>. Website <i>Quantrimang.com</i>.</p>
<p>Website <i>Quantrimang.com</i>. Website <i>Quantrimang.com</i>.</p>
<p><b>Chú ý:</b> Để <i>:first-child</i> có thể làm việc trong IE, cần phải 
khai báo phần tử !DOCTYPE ở đầu tài liệu.</p>

</body>
</html>

Pseudo-class :lang trong CSS

Sử dụng Pseudo-class :lang trong CSS để định nghĩa một quy tắc đặc biệt cho một ngôn ngữ nào đó trong một phần tử cụ thể.

<html>
<head>
<style>
q:lang(vi) { quotes: "~" "~"; }

</style>
</head>
<body>

<p>Tiếng Việt <q lang="vi">Một đoạn văn Tiếng Việt được trích dẫn.</q></p>

</body>
</html>

Class này rất hữu ích với những tài liệu được trình bày bởi nhiều ngôn ngữ và có các quy ước khác nhau.

Ví dụ:

<!DOCTYPE html>
<html>
<head>
<style>
q:lang(vi) { quotes: "~" "~"; }
 :lang(en) { quotes: '"' '"'; }
 :lang(fr) { quotes: "<<" ">>"; }

</style>
</head>
<body>

<p>Tiếng Việt <q lang="vi">Một đoạn văn Tiếng Việt được trích dẫn.</q></p>
<p>Tiếng Anh <q lang="en">Một đoạn văn Tiếng Anh được trích dẫn.</q></p>
<p>Tiếng Pháp <q lang="fr">Một đoạn văn Tiếng Pháp được trích dẫn.</q></p>
<p><b>Chú ý:</b> Để <i>:lang</i> có thể làm việc trong IE, cần phải khai báo 
phần tử !DOCTYPE ở đầu tài liệu.</p>

</body>
</html>

Devmaster Academy via quantrimang

Các bài viết cùng chủ đề

BÍ QUYẾT HỌC LẬP TRÌNH CHO CÁC BẠN ĐẦU NĂM HỌC MỚI ❤
BÍ QUYẾT HỌC LẬP TRÌNH CHO CÁC BẠN ĐẦU NĂM HỌC MỚI...
5 Phương pháp hay để mở rộng các dự án React của bạn một cách dễ dàng
5 Phương pháp hay để mở rộng các dự án React của b...
Lab06.1 - Data Access In ASPNET MVC 5
Lab06.1 - Data Access In ASPNET MVC 5
Lab05 - Data Validation and Annotation In ASPNET MVC 5
Lab05 - Data Validation and Annotation In ASPNET M...
Lab 04 - Model in ASP.NET MVC 5 - Phần tự thực hành
Lab 04 - Model in ASP.NET MVC 5 - Phần tự thực hàn...
Lab 04 - Model in ASP.NET MVC 5 - Bài 4.2
Lab 04 - Model in ASP.NET MVC 5 - Bài 4.2

Các khóa đào tạo chuyên đề

Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
Lập trình ứng dụng trên nền tảng android Lập trình ứng dụng trên nền tảng android
Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack

Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
Lập trình ứng dụng với WINDOWS FORM Lập trình ứng dụng với WINDOWS FORM
Lập trình ứng dụng với JAVA (FORM) Lập trình ứng dụng với JAVA (FORM)
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
Lập trình frontend với reacjs (Full) Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

DEVMASTER ACADEMY

Địa chỉ: Tầng 6 - Tòa nhà VIỆN CÔNG NGHỆ
Số 25, Vũ Ngọc Phan - Láng Hạ - Đống Đa - Hà Nội

Hotline: 0969 609 003 | 0978 611 889

devmaster.contact@gmail.com

hna.tvchung@gmail.com

CÁC KHÓA HỌC CHUYÊN ĐỀ

  • Thiết kế và lập trình Website PHP, Laravel chuyên nghiệp - FullStack
  • Lập trình ứng dụng trên nền tảng android
  • Lập trình Ứng dụng với Công nghệ ASP.NET Core MVC, WebAPI, ReactJS - FullStack
  • Lập trình ứng dụng với WINDOWS FORM
  • Lập trình ứng dụng với JAVA (FORM)
  • Thiết kế và lập trình Ứng dụng với công nghệ Java (Java Framework springBoot, hibernate,...) - FullStack
  • Thiết kế và lập trình website với công nghệ HTML5, CSS3, Javascript, Bootstrapt 4, Jquery
  • Lập trình frontend với reacjs (Full)
Viện Công Nghệ Và Đào Tạo Devmaster

VIỆN CÔNG NGHỆ VÀ ĐÀO TẠO DEVMASTER - Học thực tế * Làm thực tế * Cam kết việc làm
Copyright by Ⓒ DEVMASTER 2015