Học HTML và CSS: Handbook toàn diện về HTML và CSS

Một cuốn sổ tay toàn diện để tìm hiểu các nguyên tắc cơ bản của HTML và CSS, hai ngôn ngữ cơ bản của phát triển web. Mục đích của hướng dẫn này là dạy các kiến ​​thức cơ bản về HTML và CSS mà bạn sẽ sử dụng trong quá trình phát triển web.

Xin chào và chào mừng bạn đến với sổ tay toàn diện về HTML và CSS này. Mục tiêu của tôi là dạy cho bạn mọi thứ bạn cần biết về cách xây dựng các trang web nhanh và đẹp, trông tuyệt vời trên mọi thiết bị.

Tôi cho rằng bạn không có kiến ​​thức về HTML hoặc CSS và muốn học mọi thứ từ đầu. Vì vậy, cuốn sổ tay này thân thiện với người mới bắt đầu.

Bây giờ, hãy nhảy vào và bắt đầu!

Mục lục

  1. Những gì bạn cần
  2. Nguyên tắc cơ bản của phát triển web
  3. Bạn sẽ học gì
  4. Ngôn ngữ và công cụ phát triển web
  5. HTML là gì?
  6. CSS là gì?
  7. JavaScript là gì?
  8. Một ví dụ thực tế
  9. Con đường học tập phát triển Frontend
  10. Khung phát triển Frontend
  11. Tìm hiểu một hệ thống kiểm soát phiên bản
  12. Cách thức hoạt động của web
  13. Cách kiểm tra các yêu cầu và phản hồi HTTP
  14. Khái niệm cơ bản về HTML – Cách tạo tài liệu HTML
  15. Khái niệm cơ bản về CSS
  16. Cách định dạng mã của bạn
  17. Cách kiểm tra trang bằng DevTools
  18. Cách xác thực các trang web
  19. Phần đầu
  20. Bộ ký tự là gì?
  21. Các yếu tố để làm việc với văn bản
  22. tiêu đề
  23. Thực thể HTML
  24. Cách tạo siêu liên kết
  25. Cách nhúng hình ảnh
  26. Phần kết luận

Những gì bạn cần

Bây giờ, chúng ta hãy xem các công cụ bạn cần để làm theo.

Để bắt đầu, bạn sẽ cần một trình soạn thảo mã. Có rất nhiều trình chỉnh sửa mã ngoài kia, như Visual Studio Code (VS Code), Sublime Text, Atom, v.v.

228437114-ee721d18-7269-4812-8a3f-e4929c7d32ca--1--2

Trang chủ trang web Visual Studio Code

Trong hướng dẫn này, tôi sẽ sử dụng Mã VS, cùng với một số tiện ích mở rộng để khởi động máy chủ web và định dạng mã của chúng tôi.

Bạn có thể sử dụng trình chỉnh sửa mã yêu thích của mình nếu có, nhưng nếu không, hãy truy cập code.visualstudio.com và tải xuống phiên bản VS Code mới nhất.

228437114-ee721d18-7269-4812-8a3f-e4929c7d32ca--2--1

Trang chủ trang web Visual Studio Code

Bây giờ, ở đây bên trong Mã VS, chúng tôi sẽ cài đặt một số tiện ích mở rộng.

228437944-65153043-097c-4003-83c5-600a17e40e4e-1

Trình chỉnh sửa mã Visual Studio

Vì vậy, hãy mở bảng tiện ích mở rộng và tìm kiếm Prettier.

228438387-1317efb7-7b17-44d7-a143-4d4cee2fd6cd-1

Tìm kiếm Tiện ích mở rộng cho Mã VS

Đây là tiện ích mở rộng mà chúng ta sẽ cài đặt - Trình định dạng mã đẹp hơn.

228438834-c8451253-6ddb-4eb6-8eae-65cff8d2f445-1

Tiện ích mở rộng đẹp hơn chúng tôi sẽ cài đặt

Với tiện ích mở rộng này, chúng tôi có thể định dạng mã của mình và làm cho mã nhất quán và đẹp mắt. Đây là một tiện ích mở rộng rất phổ biến và như bạn có thể thấy trong hình ảnh, nó đã được tải xuống hơn 30 triệu lần.

Vì vậy, bạn có thể thấy nút cài đặt mà tôi đã đánh dấu màu đỏ. Chỉ cần nhấp vào nó, và bạn đã hoàn tất.

Tiếp theo, chúng ta sẽ cài đặt một tiện ích mở rộng khác có tên Live Server. Với điều này, chúng tôi có thể khởi chạy trang web của mình bên trong Máy chủ web phát triển.

228439797-863d9f0c-14d1-4235-86bf-ca346283941a-1

Máy chủ trực tiếp VS Phần mở rộng mã

Một lần nữa, đây là một phần mở rộng rất phổ biến. Nó đã được tải xuống hơn 32 triệu lần.

Bây giờ, ngoài những thứ này, chúng tôi sẽ sử dụng Trình duyệt để xem và kiểm tra các trang web của mình. Một lần nữa, bạn có thể sử dụng trình duyệt yêu thích của mình, nhưng trong sổ tay này, tôi sẽ sử dụng Google Chrome. Tôi khuyến khích bạn sử dụng cùng một trình duyệt để có thể dễ dàng theo dõi khóa học.

Nguyên tắc cơ bản của phát triển web

Chúng ta sẽ bắt đầu hành trình phát triển web của mình tại đây. Trong mỗi phần, bạn sẽ học được điều gì đó mới về phát triển web và khi kết thúc hướng dẫn này, bạn sẽ kết hợp tất cả những điều đó lại với nhau để xây dựng một trang web đẹp.

Bạn sẽ học gì

  1. Các ngôn ngữ và công cụ phát triển web
  2. Các khái niệm chính (ví dụ: URL là gì, HTTP là gì, DOM là gì, v.v.)
  3. Làm thế nào các trang web hoạt động. Vì vậy, bạn sẽ hiểu chính xác điều gì sẽ xảy ra khi bạn sử dụng trình duyệt của mình để truy cập một trang web.
  4. Cách kiểm tra lưu lượng mạng bằng DevTools. Đây là một công cụ rất mạnh được sử dụng bởi các nhà phát triển frontend.
  5. Khái niệm cơ bản về HTML và CSS
  6. Làm thế nào để xác nhận các trang web. Đây là điều mà rất nhiều nhà phát triển bỏ lỡ.

Đây sẽ là một hành trình tuyệt vời, vì vậy hãy tham gia và bắt đầu!

Ngôn ngữ và công cụ phát triển web

Cuốn sổ tay này là bước đầu tiên của bạn để trở thành nhà phát triển web.

228444645-476ebbd9-74aa-44cb-a9f6-8dd1442ba3d0-1

cầu thang chu kỳ

Bây giờ, hãy để tôi cung cấp cho bạn một lộ trình đơn giản để biết bạn đang ở đâu và bạn nên đi đâu tiếp theo.

Các trang web có hai phần: frontend và backend.

228445584-175083e5-14f8-47fd-b438-a27b30942518-1

Frontend VS Backend

Giao diện người dùng là phần bạn nhìn thấy trong trình duyệt của mình và tương tác với. Tất cả các khía cạnh trực quan.

Phần phụ trợ là phần cung cấp năng lượng cho giao diện người dùng. Nó nằm sau hậu trường và chủ yếu là lưu trữ dữ liệu trong cơ sở dữ liệu và cung cấp dữ liệu đó cho giao diện người dùng.

228446529-5ade703c-8214-4a0a-a142-ce54e6dbfb87-1

Meme Frontend vs Backend

Vì vậy, các công việc phát triển web được chia thành ba loại chính:

  1. Phát triển Front-End
  2. Phát triển Back-End
  3. Phát triển Full-Stack (bao gồm cả Phát triển Front-End và Phát triển Back-End)

Nhà phát triển Front-End sử dụng HTML, CSS và JavaScript để xây dựng giao diện người dùng.

Nhà phát triển Back-End có sẵn nhiều công cụ khác nhau, nằm ngoài phạm vi của hướng dẫn này. Bạn có thể đọc thêm về sự khác biệt ở đây .

Vì vậy, bây giờ hãy nói về HTML, CSS và JavaScript.

HTML là gì?

HTML là viết tắt của Ngôn ngữ đánh dấu siêu văn bản. Tôi biết đó là một câu nói hay nhưng về cơ bản, chúng tôi sử dụng HTML để xác định cấu trúc hoặc các khối xây dựng của các trang web của chúng tôi.

CSS là gì?

CSS là viết tắt của Cascading Style Sheets. Chúng tôi sử dụng nó để tạo kiểu cho các trang web và làm cho chúng đẹp mắt.

JavaScript là gì?

JavaScript được sử dụng để thêm chức năng vào các trang web. Hãy để tôi cung cấp cho bạn một sự tương tự.

Hãy nghĩ về một tòa nhà.

228742008-f0d0d5f5-9136-4494-b1b5-0e3ba7ffb47e-1

Tòa nhà đang được xây dựng

Một tòa nhà trong thế giới thực giống như một trang web trên internet. Nó có khung hoặc cấu trúc – khung và nền tảng của tòa nhà (HTML).

Nó có thể có những bức tường, cửa sổ và gạch đẹp mắt để hoàn thiện và làm cho nó trông đẹp mắt (CSS).

228742707-a3db4be3-2b9d-4749-a7e8-f54d860ca109-1

gạch lát nền nhà

Và nó có thể có chức năng nhất định, chẳng hạn như nhà ở, bệnh viện hoặc siêu thị (JavaScript).

228743359-d5f13786-72b6-433e-aa0e-d12a04647ea3-1

Thang máy của một ngôi nhà

Ví dụ, khi chúng ta nhấn nút thang máy, nó sẽ đến đón chúng ta. JavaScript sẽ kích hoạt điều này theo cách tương tự của chúng tôi.

Một ví dụ thực tế

Đây là một ví dụ thực tế. Giả sử bạn muốn xây dựng một trang web như Twitter. Đối với hồ sơ, bạn muốn có một bố cục như thế này:

256450759-9dc91522-1226-4502-9d16-8498f2b390f4

Ảnh chụp màn hình hồ sơ Twitter của Karlgusta Annoh

Đầu tiên, chúng tôi sử dụng HTML để xác định các khối xây dựng của bố cục này. Những khối xây dựng này ở đây là gì?

  1. Một tấm ảnh.
  2. Một số văn bản cho biết địa chỉ Twitter của người dùng (ví dụ: @KarlgustaAnnoh).
  3. Một khối văn bản khác chứa thông điệp (Dạy viết mã thông qua các câu chuyện...).
  4. Các nút/biểu tượng để chỉnh sửa hồ sơ, Vị trí, liên kết và ngày tháng.
  5. Số lượng người theo dõi.

Chúng tôi sử dụng HTML để thêm các khối xây dựng này vào trang web của chúng tôi.

Sau đó, chúng tôi sử dụng CSS để tạo sự hấp dẫn trực quan cho nó. Ví dụ: với CSS, chúng ta có thể làm cho văn bản được in đậm (như tên), chúng ta có thể làm tròn hình ảnh của chúng ta. Chúng tôi cũng có thể thay đổi màu của các biểu tượng vị trí, liên kết và ngày tháng cũng như xác định giao diện của chúng khi chúng tôi di chuột qua chúng.

Vì vậy, CSS là tất cả về hiệu ứng hình ảnh. Với CSS, chúng ta cũng có thể tạo ra những hình ảnh động đẹp mắt.

Bây giờ, hầu hết các trang web ngày nay đều có tính tương tác. Chúng phản hồi các hành động của chúng tôi như nhấp chuột và cuộn. Đây là lúc JavaScript xuất hiện. Với JavaScript, chúng ta có thể thêm chức năng hoặc hành vi vào các trang web của mình. Ví dụ: chúng ta có thể nhấp vào nút để theo dõi một người.

Vì vậy, JavaScript là ngôn ngữ lập trình, trong khi HTML (Ngôn ngữ đánh dấu) và CSS (Ngôn ngữ tạo kiểu) về mặt kỹ thuật thì không. Điều này có nghĩa là chúng ta không thể sử dụng chúng để ra lệnh cho máy tính phải làm gì. Chúng tôi sử dụng chúng để xác định các khối xây dựng của các trang web của chúng tôi và tạo kiểu cho chúng.

Mọi trang web mà bạn đã xem trên internet đều được xây dựng bằng ba ngôn ngữ này. Vì vậy, bạn càng học và hiểu rõ về chúng cũng như các tính năng của chúng, bạn càng phát triển giao diện người dùng tốt hơn.

Con đường học tập phát triển Frontend

Vì vậy, hành trình phát triển giao diện người dùng của bạn sẽ bắt đầu với HTML và CSS. Tôi có thể nói, nếu bạn dành 3-5 giờ mỗi ngày để học và viết mã, bạn sẽ có hiểu biết hợp lý về hai ngôn ngữ này trong một khoảng thời gian tương đối ngắn - có thể là một hoặc hai tháng (nhưng tất nhiên mọi người học ở một tốc độ khác nhau). , và điều đó tốt).

Khi bạn học những ngôn ngữ này, thì bạn cần học JavaScript. Tôi có một khóa học riêng để học JavaScript. Vì vậy, sau khi hoàn thành hướng dẫn này, bạn có thể muốn đăng ký khóa học đó.

Bạn cũng có thể xem chương trình dạy JavaScript của freeCodeCamp (cùng với HTML và CSS, trong số các công nghệ khác).

Tôi muốn nói rằng việc học JavaScript có thể mất thêm vài tháng nữa. Tất nhiên, bạn sẽ không trở thành chuyên gia JavaScript trong một thời gian ngắn như vậy, nhưng bạn có thể hiểu rõ hơn về nó. Bạn cũng sẽ học được nhiều hơn khi bạn làm việc trên các dự án khác nhau.

Vì vậy, vài tháng đầu tiên (hoặc lâu hơn) của việc học viết mã là về các nguyên tắc cơ bản.

Khung phát triển Frontend

Giờ đây, việc xây dựng trang web thường bao gồm một loạt các nhiệm vụ lặp đi lặp lại. Đây là nơi mà các framework và thư viện front-end xuất hiện.

Một khung hoặc thư viện đi kèm với rất nhiều mã mà chúng tôi có thể sử dụng lại trong các trang web của mình. Vì vậy, họ giúp chúng tôi hoàn thành công việc nhanh hơn. Đó là lý do tại sao ngày nay rất nhiều công ty sử dụng một trong những thư viện hoặc framework phổ biến này như React, Angular hoặc Vue.

Về mặt kỹ thuật, React là một thư viện, trong khi Vue và Angular là các framework. Nó là một thư viện. Tuy nhiên, bỏ qua những khác biệt nhỏ , tất cả các công cụ này đều phục vụ cùng một mục đích: chúng giúp chúng tôi xây dựng ứng dụng nhanh hơn.

Bây giờ, bạn không cần phải học tất cả những điều này để bắt đầu. Các công ty khác nhau sử dụng các công cụ khác nhau cho các dự án khác nhau.

Vì vậy, khi bạn chuyển từ dự án này sang dự án khác, bạn có thể muốn tìm hiểu về các công cụ khác. Nếu bạn mới bắt đầu, chỉ cần tập trung vào React vì đây là công cụ phổ biến nhất trong lĩnh vực này.

238845973-a711e604-a57e-43ee-b94f-540bf5524296-1

Biểu đồ hiển thị tất cả các công cụ khác để tìm hiểu, đó là HTML và CSS, JavaScript, React và Git

Khi bạn học React, bạn luôn có thể học các công cụ khác nếu cần.

Để tìm hiểu những kiến ​​thức cơ bản về React, có thể bạn sẽ cần vài tháng.

Một lần nữa, tôi có một khóa học toàn diện về React nếu bạn quan tâm đến điều đó.

Bây giờ, bước tiếp theo là gì?

Tìm hiểu một hệ thống kiểm soát phiên bản

Chúng tôi sử dụng Hệ thống kiểm soát phiên bản để theo dõi lịch sử dự án của mình và cộng tác làm việc với những người khác.

Có rất nhiều Hệ thống kiểm soát phiên bản ngoài kia, như:

  • Git
  • Lật đổ (SVN)
  • Không kiên định

và như thế. Nhưng Git là công cụ phổ biến nhất trong không gian này và nó được sử dụng trong hơn 70% công ty phần mềm. Bạn sẽ thấy rằng Git xuất hiện trong hầu hết các mô tả/yêu cầu công việc.

Vì vậy, đây là những kỹ năng cần thiết mà mọi nhà phát triển giao diện người dùng phải có. Bạn sẽ thấy những điều này được liệt kê trong hầu hết các bản mô tả công việc.

Bây giờ, các công việc khác nhau đòi hỏi những kỹ năng khác, nhưng những kỹ năng này thay đổi từ công ty này sang công ty khác. Vì vậy, bạn có thể học những điều bổ sung này trong tương lai hoặc trong công việc.

Hiện tại, chỉ cần tập trung vào bốn kỹ năng này.

238845973-a711e604-a57e-43ee-b94f-540bf5524296--1--1

Biểu đồ hiển thị tất cả các công cụ để tìm hiểu, đó là HTML và CSS, JavaScript, React, Git

Hãy nhớ rằng, ít hơn là nhiều hơn.

Đừng cố gắng học quá nhiều thứ một cách nhanh chóng. Bạn sẽ không thực sự giữ lại được nhiều và cuối cùng sẽ lãng phí thời gian của bạn.

ĐƯỢC RỒI. Đó là lộ trình của bạn. Tiếp theo, chúng ta sẽ nói về cách thức hoạt động của web.

Cách thức hoạt động của web

Bạn đã bao giờ tự hỏi làm thế nào các trang web hoạt động? Trong phần này, tôi sẽ cho bạn biết chính xác điều gì sẽ xảy ra khi bạn nhập địa chỉ của một trang web vào trình duyệt của mình và nhấn ENTER.

Là một phần của điều này, chúng ta sẽ nói về một số khái niệm và thuật ngữ quan trọng mà bạn cần biết với tư cách là nhà phát triển web.

Vì vậy, giả sử chúng tôi khởi chạy trình duyệt của mình và truy cập một trang web như https://www.microsoft.com.

Bây giờ địa chỉ mà chúng ta có trong thanh địa chỉ được gọi là URL, viết tắt của Bộ định vị tài nguyên thống nhất. Về cơ bản, đó là một cách để xác định vị trí tài nguyên trên internet.

Tài nguyên có thể là:

  • Trang web (Tài liệu HTML)
  • Hình ảnh
  • Tập video
  • Phông chữ

và như thế.

238847319-e9fa8b6d-6ebe-4a38-8ec1-93c1461cdc99-1

địa chỉ Google

Vì vậy, chúng tôi nhập URL và nhấn ENTER. Điều gì xảy ra bây giờ?

Vâng, có hai phần liên quan ở đây:

238847042-de4cc113-935b-4e7b-946f-8cd5d60b9221-1

Máy khách và Máy chủ

  • Trình duyệt (còn gọi là Máy khách)
  • Máy chủ (máy tính hoặc máy tính lưu trữ trang web mục tiêu của chúng tôi). Chúng tôi gọi tắt là Máy chủ Web hoặc Máy chủ.

Đây là những gì chúng tôi gọi là mô hình máy khách-máy chủ. Khách hàng yêu cầu một dịch vụ, máy chủ cung cấp dịch vụ.

238847726-3e22bc78-e5d0-4ea9-88a4-edeba69a3637-1

Mô hình máy khách-máy chủ

Vì vậy, trình duyệt của chúng tôi sẽ gửi một tin nhắn đến máy chủ và nói: "Này! Hãy cho tôi trang chủ của trang web này."

238848365-44f5c69f-1522-4be0-8b0b-4608dd3ad6a8-1

Người đàn ông đang gõ trên trình duyệt

Điều này tương tự như cách bạn gửi tin nhắn văn bản cho bạn bè của mình. Bạn có thể coi điện thoại của mình là máy khách gửi tin nhắn và điện thoại của bạn bè là máy chủ nhận tin nhắn.

238848858-672871b7-2bd5-489a-a06f-22aee24b7bbb--1-

Người đàn ông và người phụ nữ gõ với người đàn ông đại diện cho khách hàng và máy chủ đại diện cho máy chủ

Bây giờ đến ví dụ của chúng tôi. Thông báo này được định dạng dựa trên giao thức có tên HTTP (Giao thức truyền siêu văn bản).

Bạn có thể đã nhận thấy nó trước đây, nhưng chưa bao giờ biết nó là gì.

238849235-d27a7ce4-0902-48a6-be95-66c903885dcc--1

Trỏ tới https trong URL của Google

Nói một cách đơn giản, HTTP là một giao thức mà máy khách và máy chủ sử dụng để giao tiếp với nhau. Nó không phải là một ngôn ngữ lập trình. Nó chỉ là một ngôn ngữ văn bản đơn giản để giao tiếp qua internet.

Chúng tôi cũng có HTTPS, đó là Mã hóa HTTP +. Vì vậy, các tin nhắn trao đổi giữa máy khách và máy chủ được mã hóa trong trường hợp này.

Đây là một ví dụ đơn giản về một thông báo HTTP:

GET /index.html HTTP/1.1
Host: www.microsoft.com
Accept-Language:en-us

Với thông báo này, trình duyệt cho máy chủ biết nó đang tìm gì.

Vì vậy, trên dòng đầu tiên, nó nói rằng nó muốn GETmột trang hoặc một tệp có tên index.htmlbằng cách sử dụng HTTP version 1.1. Index.htmlthường đại diện cho trang chủ của các trang web.

Trên dòng thứ hai, chúng ta có thể thấy máy chủ lưu trữ, đó là www.microsoft.com.

Ở dòng thứ ba, chúng ta có thể thấy ngôn ngữ en-usmà khách hàng có thể chấp nhận. Trong trường hợp này, nó là tiếng Anh.

Bây giờ, đừng lo lắng về việc ghi nhớ bất kỳ điều này. Tất cả những gì tôi muốn bạn hiểu ở đây là thông báo này được cấu trúc dựa trên HTTPgiao thức mà máy khách và máy chủ hiểu được.

Vì vậy, máy chủ nhận được thông báo này và tìm ra những gì khách hàng đang yêu cầu. Sau đó, nó sẽ gửi một tin nhắn trở lại cho khách hàng.

239146727-bac158ba-5d02-43e9-b567-78a04894a89f

Máy khách và máy chủ giao tiếp qua lại

Thông báo đầu tiên được gọi là yêu cầu HTTP.

239146727-bac158ba-5d02-43e9-b567-78a04894a89f--1-

Máy khách gửi yêu cầu HTTP đến Máy chủ

Thông báo thứ hai được gọi là phản hồi HTTP.

239148772-e4b423d7-8317-47fe-8ef8-134815add2dc

Máy khách gửi yêu cầu đến máy chủ và máy chủ gửi phản hồi

Mọi trao đổi dữ liệu bằng giao thức HTTP bao gồm hai thông báo: yêu cầu và phản hồi.

Bây giờ, những gì là trong phản ứng? Đây là một ví dụ đơn giản:

HTTP/1.1 200 OK
Date: 6th April 2023
Content-Type: text/html


<!DOCTYPE html>
<html>
...
</html>

Ở dòng đầu tiên, chúng ta thấy phiên bản của giao thức HTTP được sử dụng, theo sau là một số (200), là mã trạng thái. 200 có nghĩa là thành công hoặc OK.

Ngay bên dưới, chúng ta có thể thấy ngày và thời gian phản hồi.

Tiếp theo, chúng ta có thể thấy loại nội dung mà máy chủ đang gửi lại cho máy khách. Trong này text/html.

Sau đó, chúng ta có thể thấy mã HTML hoặc Tài liệu HTML đại diện cho trang chủ của www.microsoft.com. Tất nhiên, mã HTML thực tế dài hơn nhiều.

Bây giờ, khi trình duyệt đọc tài liệu HTML này, nó sẽ xây dựng cái mà chúng tôi gọi là DOM (Mô hình đối tượng tài liệu) . Đừng để cái tên ưa thích này làm bạn sợ. Đây là mô hình đại diện cho các đối tượng hoặc thành phần trong tài liệu HTML của chúng tôi.

Những yếu tố này là gì? Tất cả các khối xây dựng của trang của chúng tôi như đoạn văn bản, hình ảnh, liên kết và các nội dung khác. Bạn sẽ thấy chúng hoạt động trong phần tiếp theo.

Bây giờ, khi trình duyệt đang đọc tài liệu HTML này được trả về từ máy chủ, nó sẽ phát hiện ra các tham chiếu đến các tài nguyên khác trong tài liệu này như hình ảnh, phông chữ và những thứ khác.

Mỗi tài nguyên này có một địa chỉ hoặc một URL. Vì vậy, đối với mỗi tài nguyên, trình duyệt sẽ gửi một yêu cầu HTTP riêng đến máy chủ để tìm nạp tài nguyên đó.

239149773-8a845a5a-40dd-4138-96a7-e814f3f6e530

Trình duyệt gửi yêu cầu HTTP đến máy chủ để lấy tài nguyên đó

Nhiều yêu cầu HTTP trong số này được gửi song song, vì vậy chúng tôi có thể xem trang nhanh nhất có thể.

Khi trình duyệt có tất cả các tài nguyên cần thiết, nó sẽ hiển thị tài liệu HTML.

239150665-33a343ae-697a-433f-bf21-2c7c983e0cc9

Trình duyệt hiển thị tài liệu HTML

Kết xuất một tài liệu HTML có nghĩa là hiển thị nó. Đó là một thuật ngữ kỹ thuật ưa thích mà chúng tôi sử dụng thường xuyên.

Vì vậy, tóm lại, trình duyệt của chúng tôi gửi yêu cầu HTTP đến máy chủ và nhận được phản hồi HTTP. Phản hồi HTTP này chứa một tài liệu HTML.

239150967-1e2ec082-05ad-4152-a62a-d58c47e2318a

Máy khách gửi yêu cầu HTTP đến máy chủ và nhận được phản hồi HTTP chứa tài liệu HTML

Trình duyệt đọc tài liệu HTML đó để xây dựng DOM (Mô hình đối tượng tài liệu) và hiển thị trang.

239151506-081a2bac-8ba6-4c1d-b9ec-fd5130608f4b

Trình duyệt đọc tài liệu HTML để xây dựng DOM

Trong phần tiếp theo, tôi sẽ chỉ cho bạn tất cả các bước này trong thực tế.

Cách kiểm tra các yêu cầu và phản hồi HTTP

Bây giờ, hãy xem hoạt động của các yêu cầu và phản hồi HTTP.

Vì vậy, hãy mở Chrome và truy cập google.com.

239152974-fc144664-ccb4-456f-9404-5fdcdec32e19

Trang chủ Google

Bây giờ, chúng ta cần truy cập Chrome DevTools. Đây là một công cụ rất mạnh mà các lập trình viên frontend hay sử dụng.

Nhấp chuột phải, sau đó chọn Kiểm tra phần tử.

239153452-66cf6cca-0739-40b6-b44f-6303015ecad2

Nhấp chuột phải vào trang chủ Google để có tùy chọn thả xuống kiểm tra phần tử

Bây giờ, đây là các công cụ dành cho nhà phát triển. Lần đầu tiên bạn nhìn thấy nó, nó có vẻ hơi đáng sợ. Nhưng tin tôi đi, những công cụ này dễ sử dụng hơn nhiều so với bạn nghĩ.

Thông qua sổ tay này, bạn sẽ tìm hiểu thêm về DevTools.

Vì vậy, ở đây chúng tôi có một vài tab khác nhau:

  • yếu tố
  • Bảng điều khiển
  • nguồn
  • Mạng
  • Hiệu suất

Trong bản trình diễn này, chúng tôi sẽ chuyển đến Networktab để có thể kiểm tra lưu lượng truy cập Mạng đến và từ google.com.

Bây giờ, theo mặc định, Công cụ dành cho nhà phát triển được cố định ở cuối màn hình. Chúng ta có thể gắn nó ở bên trái, bên phải hoặc bỏ gắn nó dưới dạng một cửa sổ riêng biệt.

Vì vậy, ở đây chúng ta có thể gắn nó vào phía bên trái như thế này:

239153725-fbe4a8a6-9631-4aee-8e8e-3c4ad2d6ae26

Docking Dev Tools ở phía bên trái

Rất nhiều nhà phát triển giao diện người dùng thích cách bố trí này.

239153725-fbe4a8a6-9631-4aee-8e8e-3c4ad2d6ae26--1-

DevTools neo ở bên trái

Vì vậy, bạn có thể muốn đặt DevTools ở bên trái và đặt trang web ở bên phải.

Trong bản trình diễn này, tôi sẽ đặt nó dưới dạng một cửa sổ riêng biệt để chúng ta có nhiều không gian hơn để làm việc.

Vì vậy, hãy mở khóa nó:

239154217-c9ae4a45-874d-48b1-81b3-e28cc545a306--1-

Gỡ bỏ DevTools

Bây giờ, chúng ta cần làm mới trang web của mình.

239154395-428df18c-7a1d-41a7-b859-bf55d800661c

DevTools đang hiển thị tab Thành phần

Bây giờ, quay lại DevTools.

239154587-5d868760-5b64-4b63-9a53-3c245e6af900

DevTools hiển thị tab Mạng

Đây là các yêu cầu HTTP được gửi từ trình duyệt của chúng tôi đến google.com.

Như bạn có thể thấy, có tổng số 45yêu cầu. Đây là lượng dữ liệu được truyền qua mạng.

239831972-0c0858c0-5629-4ef6-980c-6cb14fee51e7

DevTools hiển thị tổng số yêu cầu

Vì vậy, trong trường hợp này, chỉ hơn 94kb.

Bây giờ, hãy xem mục đầu tiên trong danh sách này.

239832441-eb322841-89f5-49b4-9a68-2ca28fa2dfd2

Mục đầu tiên trong danh sách Mạng trong DevTools

Đây là yêu cầu HTTP đầu tiên mà Chrome gửi tới google.com. Như bạn có thể thấy, với yêu cầu này, trình duyệt muốn một GETdocumentyêu statuscầu này 200có nghĩa là OK.

Ở đây, chúng ta có thể thấy lượng dữ liệu được truyền qua mạng cho yêu cầu này và thời gian để nhận được phản hồi.

239832944-d7dac0d8-2566-4300-9751-d07fed11178b

Lượng dữ liệu được truyền qua mạng cho một yêu cầu được hiển thị trong DevTools

Nếu chúng tôi nhấp vào yêu cầu này, chúng tôi có thể xem thêm chi tiết về nó.

239853692-d5d6e725-dde7-49ce-9b7b-bdeb217744e9

Thêm chi tiết về yêu cầu hiển thị Tiêu đề

Vì vậy, ở đây trên tab tiêu đề, chúng ta có thể thấy tất cả các tiêu đề của yêu cầu và phản hồi của mình.

239854001-6c007852-4985-45c6-9888-aa2c41e32d8c

Tất cả các tiêu đề của yêu cầu của chúng tôi

Dưới đây là một số tiêu đề chung, như:

  • URL yêu cầu
  • Phương thức yêu cầu đó làGET
  • Mã trạng thái là 200
  • Địa chỉ từ xa. Đây là biểu diễn số củagoogle.com
239854001-6c007852-4985-45c6-9888-aa2c41e32d8c--1

Các tiêu đề chung được hiển thị như URL yêu cầu, Phương thức yêu cầu, Mã trạng thái và Địa chỉ từ xa

Xuống bên dưới, chúng ta có thể thấy Tiêu đề phản hồi. Có nhiều tiêu đề ở đây, nhưng nhìn chung bạn không phải lo lắng về chúng. Ví dụ, hãy xem content-type. Chúng ta đã nói về điều này trong phần trước.

240139421-d1f600e9-11a0-4a1d-8165-f164b3e0d337

Tiêu đề phản hồi - Loại nội dung

Loại phản hồi này là text/html. Bên dưới đó, chúng tôi có ngày và thời gian trả lời.

Bây giờ, nếu bạn nhấp vào tab Xem trước, bạn có thể xem bản xem trước của tài liệu HTML được trả về từ máy chủ.

240139694-7c599cbd-12fb-496b-9f08-d1d0905332f7

Tab xem trước hiển thị trang chủ của Google

Đây là trang chủ của Google.

240139694-7c599cbd-12fb-496b-9f08-d1d0905332f7--1-

Tab xem trước hiển thị trang chủ của Google

Bây giờ, trong tài liệu HTML này, chúng tôi có các tham chiếu đến các tài nguyên khác như Hình ảnh, Phông chữ, v.v.

Vì vậy, tất cả các yêu cầu tiếp theo này được gửi để tải xuống các tài nguyên đó.

240140072-4điếc42b-ed91-44e9-943b-95c2a2d0f655

Yêu cầu trong tab mạng

Ngay bên dưới yêu cầu đầu tiên, chúng tôi có yêu cầu tải xuống tệp png hoặc tệp hình ảnh.

240140608-8826f858-550c-4c36-857e-b84ee9cdbaa5

Một yêu cầu trong tab mạng để tải xuống png

Chúng ta có thể dễ dàng lọc danh sách này. Vì vậy, hãy nhấp vào biểu tượng bộ lọc ở đây:

240141576-902d7d06-e00b-4986-825c-a5d8ee23f8ab

Biểu tượng bộ lọc trên tab mạng

Theo mặc định, bạn sẽ thấy tất cả các yêu cầu. Nhưng chúng tôi có thể lọc theo loại yêu cầu.

Ví dụ: chúng tôi có thể chọn Docđể xem các yêu cầu tải xuống tài liệu HTML. Hoặc fontsđể xem các yêu cầu đã được gửi để tải xuống phông chữ.

240142087-6ce8d235-dc94-4813-8c54-b89c6399908a

Thanh menu để lọc theo Img, Doc, Phông chữ, v.v. để xem các yêu cầu đã được gửi để tải xuống phông chữ

Tiếp theo, tôi sẽ chỉ cho bạn cách tạo tài liệu HTML đầu tiên của mình.

Khái niệm cơ bản về HTML – Cách tạo tài liệu HTML

Trên màn hình của bạn, nhấp chuột phải và tạo một thư mục mới.

240143731-22a5b433-0385-4a4e-aa82-68510503af07

Thư mục mới trên Desktop

Tôi sẽ gọi nó là HTML, nhưng bạn có thể gọi nó là gì cũng được.

240144084-e82d7c85-b87c-4fbe-8de5-f038d602f763

Đã đổi tên thư mục mới thành HTML

Bây giờ, hãy quay lại VS Code và mở bảng Explorer. Sau đó, chúng tôi đi đến Mở thư mục và mở thư mục mà bạn vừa tạo.

240501474-8fc2ca41-65dc-4310-ac95-3c19da733a35

Mở thư mục HTML trong Mã VS

Bây giờ, thư mục này hiện đang trống, vì vậy hãy thêm một tệp mới vào đây có tên index.html:

240501808-dd69702b-cbec-4379-b879-9c8167607162

Thêm tệp index.html vào thư mục HTML trong Mã VS

Như tôi đã nói với bạn trước đây, index.htmlthường đại diện cho trang chủ của các trang web. Vì vậy, chúng ta hãy đi với điều đó.

240501808-dd69702b-cbec-4379-b879-9c8167607162--1-

Index.html trống trên Mã VS

Điều đầu tiên chúng ta cần làm ở đây là nói với trình duyệt rằng đây là một HTML5tài liệu. Vì vậy, chúng tôi gõ

<!DOCTYPE html>
240502316-dd8e8863-6010-4d5d-b6da-25b2cbf03711

Nhập DOCTYPE html trong tệp index.html

Với dòng mã này, bạn đang nói với trình duyệt rằng đây là tài liệu HTML5. Dòng mã này ở đây được gọi là Tuyên bố DocType. Trong các phiên bản trước của HTML, Tuyên bố DocType của chúng tôi thực sự dài và lộn xộn, nhưng HTML5 đã giải quyết được vấn đề này.

Bây giờ, tất cả những gì chúng ta cần gõ là <!DOCTYPE html>.

Nhân tiện, HTML không phải là ngôn ngữ phân biệt chữ hoa chữ thường. Điều này có nghĩa là nó không nhạy cảm với chữ hoa hoặc chữ thường.

Nhưng nói một cách thông thường, chúng tôi gõ mọi thứ bằng chữ thường, ngoại trừ <!DOCTYPE html>. Đây chỉ là một quy ước. Chúng tôi có thể nhập nó dưới dạng <!doctype html>và nó sẽ hoạt động hoàn toàn tốt, nhưng cách tốt nhất là nhập <!DOCTYPE html>.

Ngay sau đó, chúng ta cần sử dụng các phần tử HTML của mình để xác định cấu trúc của trang web này. Phần tử đầu tiên chúng ta sẽ sử dụng là phần tử html.

Vì vậy, chúng tôi gõ htmlvà nhấn TAB hoặc ENTER.

240502790-52602502-8a98-4790-a5f4-b81d5a3d205d

Đã thêm thẻ mở và đóng html

<!DOCTYPE html>
<html></html>

Một lần nữa, Mã VS đã tạo đoạn mã này cho chúng tôi.

Vì vậy, những gì chúng ta có ở bên trái là thẻ mở, <html>và những gì chúng ta có ở bên phải là thẻ đóng </html>. Vì vậy, hầu hết các phần tử HTML đều có thẻ mở và thẻ đóng. Nhưng có những trường hợp ngoại lệ mà tôi sẽ chỉ cho bạn sau trong hướng dẫn này.

Bây giờ, bên trong phần tử này, chúng ta sẽ thêm các phần tử bổ sung. Vì tôi không muốn gõ mọi thứ trong một dòng nên tôi sẽ nhấn ENTER.

<!DOCTYPE html>
<html>

</html>
240503061-2fe835a3-cc1c-445b-a715-1c1771f5e4d6

Đã thêm một dòng mới giữa các thẻ html

Bây giờ ở đây, chúng ta sẽ thêm hai yếu tố: HEAD và BODY.

Vì vậy, một lần nữa chúng tôi gõ <head>và nhấn TAB:

<!DOCTYPE html>
<html>
    <head></head>
</html>
240503261-6678495c-828f-460f-9165-b7747bc1232f

Đã thêm các thẻ đầu

Và sau đó CƠ THỂ:

<!DOCTYPE html>
<html>
    <head></head>
    <body>

    </body>
</html>
240503426-a7dd9566-53b2-4810-a0fa-66dbb881a0b6

Đã thêm các thẻ cơ thể

Chúng tôi sử dụng phần tử HEAD để cung cấp cho trình duyệt thông tin về trang này. Ví dụ, ở đây chúng ta có thể sử dụng titlephần tử để chỉ định tiêu đề của trang này xuất hiện trên trình duyệt.

240503939-fcedd24a-b3e0-454e-ad13-2aae91b9152d

Phần tử tiêu đề chỉ định tiêu đề của một trang trên trình duyệt

Bây giờ, hãy gõ My First Web Page.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
    </head>
    <body>

    </body>
</html>
240504102-b165d89e-cdbc-49dd-8868-33eb144dd751

Đã thêm tiêu đề Trang web đầu tiên của tôi

Lưu các thay đổi bằng cách nhấn CTRL + Strên Windows hoặc Command + Strên Mac.

Trước khi tiếp tục, hãy nhấp chuột phải vào một nơi nào đó và truy cập open with live server.

240504752-63640530-819f-4cca-b21f-258b430b696b

Nhấp chuột phải và chọn Mở bằng Máy chủ Trực tiếp trên Mã VS

Vì vậy, chúng tôi sẽ mở trang này bằng Máy chủ phát triển mà chúng tôi vừa cài đặt.

240809995-856fa034-c887-4915-855f-300e5afe9ec0

Trang trống trên trình duyệt có tiêu đề Trang web đầu tiên của tôi

Hãy xem. Trang của chúng tôi hiện đang trống vì chúng tôi chưa thêm bất kỳ phần tử nào bên trong trang này.

Ở đây, chúng ta có thể thấy tiêu đề mà chúng ta vừa gõ, My First Web Page:

240810165-a5f1df6d-3549-4460-9473-4c7f59e6da91

Tiêu đề trang web đầu tiên của tôi trên trình duyệt

Bây giờ hãy nhìn vào URL hoặc địa chỉ của trang này:

240810305-1da2994a-2e2b-4e01-8519-7389d16a4c15

URL cục bộ của trang

Chúng tôi có 127.0.0.1. Số này hoặc địa chỉ IP này đại diện cho máy tính cục bộ. Nó được biết đến trên toàn cầu. Vì vậy, mọi người đều biết 127.0.0.1tài liệu tham khảo máy tính hiện tại.

Sau đó, chúng ta có dấu hai chấm :và sau đó chúng ta có 5500. Đây là Số cổng mà máy chủ web của chúng tôi đang lắng nghe.

Vì vậy, máy chủ web của chúng tôi đang chờ các yêu cầu HTTP trên cổng này.

240810601-653ed24e-6d4a-4b3f-8276-aa13fdbc2452

URL cục bộ 127.0.0.1:5500/index.html hiển thị cổng 5500

Sau đó, chúng tôi có dấu gạch chéo lên /, theo sau là tên tệp của chúng tôi, index.html.

Bây giờ, quay lại Mã VS.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
    </head>
    <body>


    </body>
</html>
240810744-b453f48c-b245-4d58-b8e6-94b8e19b36df

Tệp index.html có thẻ nội dung trống và tiêu đề Trang web đầu tiên của tôi

Bên trong bodyphần tử, chúng tôi sẽ thêm các phần tử sẽ xuất hiện trên trang của chúng tôi. Vì vậy, giả sử bạn muốn hiển thị một tweet. Bạn cần những yếu tố nào ở đây? Một hình ảnh và một số yếu tố văn bản.

Vì vậy, chúng tôi gõ img(viết tắt của hình ảnh) và sau đó nhấn TAB.

Đây là yếu tố hình ảnh của chúng tôi:

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
    </head>
    <body>
        <img src="" alt="">
    </body>
</html>
240811084-a600ba6a-3ae7-4282-8200-ac9184507fa7

Thẻ body với thẻ hình ảnh bên trong

Bây giờ, phần tử hình ảnh này khác với các phần tử khác mà chúng ta đã tạo cho đến nay. Bạn có thể cho biết sự khác biệt?

<img src="" alt="">

Có hai sự khác biệt ở đây. Điểm khác biệt đầu tiên là chúng ta không có thẻ đóng. Chúng tôi chỉ có một thẻ mở, bởi vì phần tử hình ảnh không thể có bất kỳ phần tử con nào.

Bây giờ, trong các phiên bản HTML trước đây, chúng tôi thường thêm dấu gạch chéo lên phía trước.

<img src="" alt="" />

Điều này đại diện cho một thẻ tự đóng. Tuy nhiên, chúng tôi không phải làm điều này trong HTML5, vì vậy tôi sẽ giữ mã đơn giản hơn.

<img src="" alt="">

Bây giờ, ở đây chúng ta có hai thuộc tính, nguồn srcvà văn bản thay thế alt. Với thuộc tính này, chúng tôi có thể cung cấp thông tin bổ sung về một phần tử. Vì vậy, chúng tôi sử dụng srcphần tử nguồn để chỉ định đường dẫn đến hình ảnh của chúng tôi.

Hãy mở bảng thám hiểm một lần nữa bằng cách nhấn command + Btrên Mac hoặc Control + Btrên Windows.

240811656-5d1eeee2-cb13-46df-b249-1f308bc82661

Bảng thám hiểm của Mã VS

Ở đây, tôi sẽ tạo một thư mục mới có tên là images.

240812003-921c8fae-5c3c-49b2-87bd-08746e505d2d

Tạo một thư mục hình ảnh trên bảng Explorer

Đối với bản demo này, tôi sẽ sử dụng hình ảnh của riêng mình mà tôi đã tải xuống từ www.unsplash.com. Nhưng bạn có thể sử dụng bất kỳ hình ảnh nào bạn muốn.

Bây giờ, đây là hình ảnh của tôi. Tôi sẽ kéo và thả nó vào thư mục hình ảnh.

240812745-5106cd9a-f2ed-4e5c-b7f0-2e52728bbb34

Hình ảnh của tôi từ Bapt được kéo và thả vào thư mục hình ảnh

Trong srcindex.html, chúng ta sẽ gõimage/unsplash-image.jpg

<img src="image/unsplash-image.jpg" alt="">

altlà viết tắt của văn bản thay thế. Chúng ta sử dụng thuộc tính này để cung cấp cho trình duyệt một số văn bản để hiển thị trong trường hợp không hiển thị được hình ảnh. Chúng ta sẽ nói về điều này chi tiết hơn sau này.

Vì vậy, bây giờ, tôi sẽ xóa thuộc tính này.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
    </body>
</html>
240813291-212786cb-5181-42fc-a7c0-bc07d5db4830

Thẻ hình ảnh có thuộc tính alt đã bị xóa

Bây giờ, sau hình ảnh, chúng ta sẽ thêm một số thành phần văn bản. Chúng tôi nhập p, viết tắt của đoạn văn và tại đây bạn có thể nhập mã điều khiển Twitter(X) của tôi.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
    </body>
</html>
240813510-acfd4d23-c3a2-43ef-bfbe-aee195767c1a

Thẻ đoạn có xử lý Twitter của tôi

Sau đó, chúng ta sẽ thêm một thành phần văn bản khác. Tại đây, chúng ta có thể nhập nội dung tweet của mình.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
240813679-20bec994-f7f1-4cb1-a427-cb51647a82e0

Thẻ đoạn chứa nội dung Tweet của tôi

Hoàn hảo! Lưu các thay đổi.

Quay lại trình duyệt, trang của chúng tôi được làm mới tự động.

240813957-bddd910f-ffd0-46aa-9770-4b3ef0bfd4b5

Một bức ảnh của hình ảnh máy tính của tôi trên trình duyệt

Đây là một trong những nét đẹp của tiện ích mở rộng máy chủ trực tiếp. Chúng tôi không phải làm mới trang theo cách thủ công mỗi khi thực hiện thay đổi.

Bây giờ, nhìn vào những gì chúng ta có ở đây. Chúng tôi có hình ảnh của tôi và ngay bên dưới chúng tôi có hai thành phần văn bản. Hãy xem. Thật không may, chúng không được nhìn thấy rõ ràng.

241650347-ef7b1560-3888-4970-90e8-13561b83caae

Hình ảnh của tôi và các yếu tố văn bản của tôi trên trình duyệt

Điều này không giống như một Tweet vì chúng tôi chưa áp dụng CSS. Như tôi đã nói với bạn trước đây, chúng tôi sử dụng HTML để xác định cấu trúc hoặc các khối xây dựng của các trang web của chúng tôi.

Trong phần tiếp theo, tôi sẽ chỉ cho bạn cách áp dụng CSS để trang của chúng ta trông giống như một tweet thực sự.

Khái niệm cơ bản về CSS

Bây giờ, hãy xem cách chúng ta có thể sử dụng CSS để cải thiện giao diện của trang này.

Nhìn vào yếu tố đầu của chúng tôi:

<head>
    <title>My First Web Page</title>
</head>
241651530-069270e8-abbc-4705-808c-20117283c60f

Thẻ đầu của tôi chỉ có tiêu đề Trang web đầu tiên của tôi

Hiện tại, chúng tôi có một phần tử duy nhất bên trong phần tử đầu. Đó là yếu tố tiêu đề của chúng tôi.

Bây giờ, sau tiêu đề, chúng ta sẽ thêm một thành phần khác có tên là style. Đây là nơi chúng ta sẽ viết mã CSS của mình.

Vì vậy, ở giữa các thẻ kiểu, chúng ta sẽ viết một loạt các quy tắc CSS.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
241652086-a37d627e-a5e1-439e-b2ab-b769b92441bf

Thẻ hình ảnh của chúng tôi với nguồn hình ảnh của chúng tôi trong Mã VS

Đầu tiên, chúng ta sẽ làm việc với hình ảnh này. Hình ảnh của chúng ta hiện nay quá lớn.

241652624-52a77f66-ecfd-48b8-8c5c-b54ee7c9ce99

Hình ảnh của chúng tôi trên trình duyệt quá lớn

Vì vậy, hãy làm cho nó nhỏ hơn một chút.

Quay lại Mã VS. Bên trong các thẻ phong cách, chúng ta sẽ gõ như sau:

<style>
    img {
    
    }
</style>

imgtham chiếu yếu tố hình ảnh của chúng tôi. Sau đó, chúng tôi nhập một cặp dấu ngoặc nhọn {}và bên trong chúng tôi viết một hoặc nhiều khai báo CSS. Mỗi khai báo chứa một thuộc tính và một giá trị.

Ở đây, chúng ta có thể đặt thuộc tính chiều rộng thành 100px.

<style>
    img {
        width: 100px;
    }
</style>

Vì vậy, chúng tôi nhập thuộc tính, thêm dấu chấm phẩy và sau đó nhập giá trị. Sau đó, chúng tôi kết thúc dòng này bằng dấu chấm phẩy để chúng tôi có thể viết nhiều khai báo CSS.

width: 100px;

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
<html>
241653448-504d01e5-d90a-4c75-b6c6-a19e5209ce6d

Thẻ phong cách của chúng tôi với phong cách hình ảnh

Bây giờ, hãy lưu các thay đổi.

Quay lại trình duyệt, hình ảnh của chúng tôi trông nhỏ hơn. Nó tốt hơn rất nhiều.

241653590-11b470b8-d7a5-4abf-a49f-0b1e1290c9c1

Hình ảnh của chúng tôi trên trình duyệt trông nhỏ hơn

Nhưng nhìn vào các cạnh. Các cạnh rất sắc nét. Tôi muốn làm cho chúng tròn một chút để chúng có vẻ mềm mại hơn.

Quay lại quy tắc của chúng tôi - ở đây chúng tôi sẽ đặt bán kính đường viền thành 10px.

<style>
    img {
        width: 100px;
        border-radius: 10px;
    }
</style>

Đừng lo lắng về việc ghi nhớ bất kỳ thuộc tính nào trong số này. Chúng ta sẽ xem xét chúng nhiều lần trong suốt hướng dẫn. Trong phần này, tôi chỉ muốn bạn hiểu được việc sử dụng CSS là như thế nào.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 10px;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
241654065-405b3d67-d55e-4947-8a87-241bcdde0487

Bán kính đường viền 10px được thêm vào kiểu dáng của chúng tôi trên Mã VS

Bây giờ hãy lưu các thay đổi.

Nhìn kìa – các cạnh tròn và trông mềm mại hơn. Bây giờ, hãy để tôi chỉ cho bạn một thủ thuật.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
241654424-7a6132b3-d32e-422d-ae6f-62a89d9d3deb

Đã thêm bán kính đường viền 50px vào kiểu dáng của chúng tôi

Nếu với bán kính đường viền, thêm một giá trị bằng một nửa chiều rộng, chúng ta sẽ có được một hình ảnh tròn. Vì vậy, tôi sẽ đặt bán kính đường viền thành 50px bằng một nửa chiều rộng của chúng ta.

<style>
    img {
        width: 100px;
        border-radius: 50px;
    }
</style>

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
241654424-7a6132b3-d32e-422d-ae6f-62a89d9d3deb--1-

Kiểu dáng hình ảnh trên Mã VS

Và đây là kết quả:

241654708-2f191904-b47c-4ae3-a685-1e9e7cf9b4c6

Hình ảnh sau khi được tạo kiểu trên trình duyệt

Điều đó tốt hơn rất nhiều.

Bây giờ các yếu tố của chúng tôi được xếp chồng lên nhau theo chiều dọc. Nhưng tôi muốn hình ảnh được đẩy sang bên trái.

Vì vậy, hãy đặt thuộc tính float thành left.

<style>
    img {
        width: 100px;
        border-radius: 50px;
        float: left;
    }
</style>

Thao tác này sẽ đẩy phần tử hình ảnh sang bên trái phần tử văn bản của chúng ta. Hãy xem:

241655024-405b703a-0a70-457a-85bc-d531cd9b9b95

Hình ảnh khi nó được thả nổi bên trái trên trình duyệt

Điều đó tốt hơn rất nhiều, nhưng hình ảnh của chúng tôi rất gần với văn bản. Tôi muốn thêm một số không gian sau hình ảnh. Ở đây chúng ta sẽ sử dụng một thuộc tính khác gọi là margin-right. Chúng ta có thể đặt nó thành 10px.

<style>
    img {
        width: 100px;
        border-radius: 50px;
        float: left;
        margin-right: 10px;
    }
</style>

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
                float: left;
                margin-right: 10px;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
241655405-e73333cf-d47d-4b8d-820f-fd4d8b80587d

Mã trong Mã VS với kiểu dáng

Lưu các thay đổi.

241655263-36166fb8-6612-4b12-b9b6-e236e7c5a091

Hình ảnh trong trình duyệt với kiểu dáng được áp dụng

Điều đó tốt hơn rất nhiều. Bây giờ, hãy in đậm tên người dùng. Chúng tôi sẽ lặp lại quá trình này một lần nữa.

Lần này, chúng ta sẽ áp dụng một quy tắc cho thành phần đoạn văn của mình. Đặt thuộc font-weighttính thành in đậm.

<style>
    img {
        width: 100px;
        border-radius: 50px;
        float: left;
        margin-right: 10px;
    }

    p {
        font-weight: bold;
    }
</style>

Đây là mã trong Mã VS:

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
                float:left;
                margin-right: 10px;
            }
            
            p {
                font-weight: bold;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p>@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
<html>
241655711-86dd8e08-1387-4933-94ba-a231c958179b

Mã trên Mã VS với kiểu dáng đoạn văn được in đậm

Hãy xem.

241655954-4901da7a-be8d-439f-9a80-414ce4337ffc

Trình duyệt đang hiển thị kiểu được áp dụng với văn bản được in đậm

Xem những gì đã xảy ra? Cả hai yếu tố văn bản của chúng tôi đều được in đậm. Nhưng, nếu bạn chỉ muốn áp dụng kiểu này cho tên người dùng thì sao?

Vâng, chúng ta phải tách hai yếu tố đoạn này.

<body>
    <p>@KarlgustaAnnoh</p>
    <p>I love to teach you HTML!</p>
</body>

Vì vậy, tôi sẽ cung cấp cho phần tử đầu tiên một thuộc tính có tên classnhư sau:

<body>
    <p class="">@KarlgustaAnnoh</p>
    <p>I love to teach you HTML!</p>
</body>

Lớp là viết tắt của từ phân loại và chúng ta có thể sử dụng thuộc tính này để đặt phần tử này vào trong một lớp khác hoặc một danh mục khác. Cũng giống như các sản phẩm trong siêu thị.

Trong một siêu thị, chúng tôi có các sản phẩm trong các danh mục khác nhau, phải không?

Vì vậy, tôi sẽ đặt phần tử đoạn văn này bên trong một lớp hoặc bên trong một danh mục có tên là username:

<body>
    <p class="username">@KarlgustaAnnoh</p>
    <p>I love to teach you HTML!</p>
</body>

Và sau đó tôi sẽ thay đổi quy tắc này:

<style>
    p {
        font-weight: bold;
    }
</style>

hiện được áp dụng cho tất cả các thành phần đoạn văn – nhưng tôi muốn nó chỉ được áp dụng cho các thành phần đoạn văn có usernamelớp.

Vì vậy, ngay sau khi pchúng tôi gõ p.username:

    p.username {
        font-weight: bold;
    }

Bây giờ, chúng ta cũng có thể loại bỏ pvà quy tắc này sẽ áp dụng cho tất cả các phần tử có usernamelớp, cho dù chúng là phần tử đoạn văn hay các loại phần tử khác.

    .username {
        font-weight: bold;
    }

Bây giờ, lưu các thay đổi.

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img{
                width: 100px;
                border-radius: 50px;
                float: left;
                margin-right: 10px;
            }

            .username{
                font-weight: bold;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg">
        <p class="username">@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
242168669-d5514ed0-36b6-4656-904f-c29185a1e9b9

Kiểu dáng tên người dùng in đậm trên Mã VS

Bây giờ, hãy xem.

242168884-4de51be4-6e37-4b85-b640-fb3ef27446dd

Tên đăng nhập in đậm trên trình duyệt

Điều đó tốt hơn rất nhiều.

Đây là CSS đang hoạt động. Như bạn thấy, CSS có cú pháp khác với HTML.

Trong suốt phần còn lại của hướng dẫn, bạn sẽ học các ngôn ngữ này một cách chi tiết.

Tiếp theo, tôi sẽ chỉ cho bạn cách định dạng mã của bạn bằng Prettier.

Cách định dạng mã của bạn

Một điều bạn cần biết về các trình duyệt là chúng bỏ qua các khoảng trắng trong mã HTML và CSS.

Ví dụ: tôi có thể đặt tất cả các thành phần này trên một dòng và mọi thứ vẫn hoạt động.

Tôi se cho bạn xem.

<!DOCTYPE html><html><head><title>My First Web Page</title><style>img{width: 100px;border-radius: 50px;float: left;margin-right: 10px;}.username{font-weight: bold;}</style></head><body><img src="Images/altumcode.jpg"><p class="username">@KarlgustaAnnoh</p><p>I love to teach you HTML!</p></body></html>
242173925-a54f896c-a58f-4a19-9e9a-46acf75332e7

Tất cả các yếu tố trong một dòng trong Mã VS

Bây giờ, lưu các thay đổi.

Quay lại trình duyệt, chúng tôi có kết quả như trước:

242174076-72e461fb-04d7-4075-8aa3-9981b6d0228d

Trình duyệt hiển thị kết quả tương tự

Bởi vì các trình duyệt không quan tâm đến cách chúng tôi định dạng mã của mình. Tuy nhiên, định dạng là rất quan trọng khi đọc và duy trì mã. Chúng tôi muốn mã của mình đẹp và được định dạng hoàn hảo giống như một bài báo.

Đây là nơi chúng tôi có thể sử dụng plugin Prettier để giúp chúng tôi.

Với Prettier, chúng ta có thể định dạng mã của mình một cách nhất quán. Điều này cực kỳ quan trọng khi bạn là thành viên của một nhóm, bởi vì những người khác nhau có những cách định dạng mã khác nhau. Nhưng nếu mọi người trong nhóm sử dụng plugin Prettier, thì mã sẽ được định dạng nhất quán.

Vì vậy, hãy để tôi chỉ cho bạn cách sử dụng Prettier.

Ở trên cùng, bạn vào menu xem và nhấp vào phím tắt cho bảng lệnh. Trên máy Mac, đó là Shift + Command + PTrên Windows, đó là Shift + Control + P.

242177976-a46f0ce8-fa0d-47cd-ba76-be9564948afd

Shift + Control + P để mở Bảng lệnh trên Mã VS

Hãy mở bảng lệnh. Ở đó chúng tôi tìm kiếm format document. Bấm phím Enter.

242178357-372e950f-3790-4046-8a27-60e6d3766886

Trên bảng lệnh, chúng tôi tìm kiếm tài liệu định dạng

ĐƯỢC RỒI. Bây giờ, Prettier đã định dạng mã của tôi, vì vậy không có phần tử nào trong số đó nằm trên cùng một dòng.

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
                float: left;
                margin-right: 10px;
            }
            .username {
                font-weight: bold;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg"/>
        <p class="username">@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
242178837-e0104e29-850b-4a0d-8d27-537ee9b63859

Prettier đã format code trên VS Code

Điều này là tốt hơn rất nhiều. Nhưng, hãy để tôi chỉ cho bạn một mẹo!

Chúng tôi không muốn định dạng mã của mình mỗi khi thực hiện thay đổi. Vì vậy, chúng tôi có thể định cấu hình Mã VS để tự động định dạng mã ngay khi chúng tôi lưu các thay đổi.

Vì vậy, ở trên cùng, hãy chuyển đến menu mã, sau đó là Tùy chọn, rồi Cài đặt.

242796633-2262a6ea-2fdf-47e7-b741-e21a6f2918d5

Cài đặt mã VS

Ở đây, tìm kiếm format on save.

242796950-ed983e9a-d760-4f3b-9681-83311ff73eb6

Trên trang cài đặt, chúng tôi tìm kiếm định dạng khi lưu

Đây là cài đặt:

242796950-ed983e9a-d760-4f3b-9681-83311ff73eb6--1-

Định dạng trên Lưu cài đặt

Hãy kích hoạt cài đặt này.

242797170-24f990ae-662a-48bd-bd1a-025589034c4e

Kích hoạt cài đặt Định dạng khi Lưu

Bây giờ, mỗi khi chúng tôi lưu các thay đổi, Mã VS sẽ tự động định dạng mã của chúng tôi, sử dụng Prettier.

Cách kiểm tra trang bằng DevTools

Trước đó, chúng ta đã nói về DOM (Mô hình đối tượng tài liệu).

242800591-9500ec65-d0a4-4bc8-b537-ac7b680b8c2f

Mô hình đối tượng tài liệu

Tôi đã nói với bạn rằng khi trình duyệt đọc tài liệu HTML được trả về từ máy chủ, nó sẽ xây dựng Mô hình Đối tượng Tài liệu. Bây giờ, hãy để tôi chỉ cho bạn Mô hình Đối tượng Tài liệu này đang hoạt động.

242801641-5d1c1661-a49a-447e-85eb-776412974ac2

Trang index.html đã mở trên trình duyệt

Một lần nữa, chúng ta sẽ sử dụng Chrome DevTools.

Vì vậy, hãy mở DevTools.

242802084-b0d4ae55-1454-4599-92a2-90521e0ee7db

Nhấp chuột phải vào trang sau đó nhấp vào kiểm tra các yếu tố trên Chrome

Trong phần này, chúng ta sẽ xem xét tab elements.

Những gì chúng tôi có ở đây ở phía bên trái là Mô hình đối tượng tài liệu của chúng tôi.

243260252-11e3e7c2-04b4-41d9-a9eb-308ae083cf72

Ở phía bên trái của tab thành phần, chúng ta có Mô hình đối tượng tài liệu

Đây là những phần tử giống như chúng ta đã tạo trước đó trong hướng dẫn.

Chúng ta có phần tử HTML, HEAD, BODY, v.v. Tuy nhiên, chúng tôi có một số yếu tố bổ sung được đưa vào bởi Live Server:

243260555-af60c3d1-fd7c-4127-babc-4c448f2205eb

Các phần tử bổ sung được Live Server đưa vào trong tab phần tử

Đừng lo lắng về những điều này. Chúng hoàn toàn được sử dụng bởi Live Server, vì vậy nó sẽ tự động tải lại trang của chúng tôi.

Bây giờ, chúng ta có thể di chuột qua bất kỳ phần tử nào trong số này và bạn có thể thấy các phần tử được đánh dấu trên màn hình.

243261071-8f7c93c7-f494-4ba6-bb9a-4affb435e708

Đã di chuột và nhấp vào thành phần hình ảnh trên tab thành phần

Chúng ta có thể nhấp vào một phần tử và ở bên phải, chúng ta có thể thấy các kiểu được áp dụng cho phần tử này.

243261215-e072c64b-5bd7-428c-be7d-e1d47d00e5d3

Ở phía bên phải, các kiểu được áp dụng cho phần tử

Vì vậy, chúng tôi nhận được các kiểu này được xác định cho thành phần hình ảnh. CHIỀU RỘNG, BÁN KÍNH BIÊN GIỚI, v.v.

Chúng tôi có thể bật hoặc tắt các kiểu này.

243261592-f797591d-7618-4c0d-9e12-e18349bb63f1

Các kiểu được xác định cho phần tử hình ảnh

Ví dụ: chúng ta có thể vô hiệu hóa thuộc tính WIDTH và bây giờ, hình ảnh của chúng ta lớn.

243262066-6819597e-6724-4b8d-93d0-fb1b6bb16226

Vô hiệu hóa thuộc tính chiều rộng trên tab kiểu

Sau đó chúng ta có thể mang nó trở lại.

243262245-29d6be97-0afb-4fa7-9026-d1a18bde7e44

Bật lại phần tử chiều rộng

Chúng ta cũng có thể thay đổi giá trị của nó. Vì vậy, chúng ta có thể đặt nó thành, giả sử, 50px. Bây giờ, hình ảnh của chúng tôi nhỏ hơn.

243262446-94c17253-4f63-4f8c-afeb-2dc805e051da

Thay đổi kích thước của hình ảnh thành 50px trên Chrome DevTools

Rất nhiều nhà phát triển giao diện người dùng sử dụng các phong cách này để có được giao diện cụ thể mà họ muốn. Sau khi họ tìm ra các kiểu chính xác và giá trị của chúng, thì họ sẽ áp dụng chúng vào mã.

Bây giờ, một điều nữa.

243262669-fd40777c-7344-4135-a3ae-345cd211609f

Ở bên phải, chúng ta có thể thấy nơi các kiểu đã được áp dụng và số dòng

Ở đây, chúng ta có thể thấy những phong cách này đã được áp dụng ở đâu.

Vì vậy, trong index.html trên dòng 6, chúng ta có thể nhấp vào liên kết này để đưa chúng ta đến dòng mã chính xác mà chúng ta đã viết kiểu đó.

243263349-48c999a7-9e39-4025-8b07-8b3ef5a99834

Khi chúng tôi nhấp vào nó, index.html, nó sẽ đưa chúng tôi đến dòng mã chính xác mà chúng tôi đã viết kiểu đó trên DevTools

Bây giờ, chúng tôi hiện đang ở trên Sourcestab.

243263349-48c999a7-9e39-4025-8b07-8b3ef5a99834--1-

Trên tab Nguồn

ElementsChúng tôi cũng có thể quay lại tab và kiểm tra các yếu tố khác.

243556277-c580cf30-86ff-4133-91cb-0599dabb7380

Tab Thành phần để kiểm tra các thành phần khác

Vì vậy, đây là điều cơ bản để kiểm tra các phần tử bằng DevTools. Chúng ta sẽ nói về điều này chi tiết hơn trong tương lai.

Cách xác thực các trang web

Điều cuối cùng chúng ta sẽ đề cập trong phần này là xác thực.

Vì vậy, khi chúng tôi viết mã, chúng tôi có thể gặp sự cố. Nếu chúng tôi có lỗi đánh máy trong mã hoặc không sử dụng đúng cú pháp hoặc ngữ pháp, các trang web của chúng tôi có thể trông không như mong đợi.

Trong những tình huống này, chúng tôi có thể sử dụng trình xác thực để xác định các lỗi tiềm ẩn trong mã của mình.

Hiện tại, chúng tôi không gặp sự cố trên trang web này.

243557950-103b708c-9d26-4b9a-95eb-40e77d1b9857

Trang index.html trên Chrome

Tôi thấy nó hoàn toàn ổn – nhưng hãy chạy nó bằng trình xác thực HTML tiêu chuẩn.

Vì vậy, chúng tôi đi đến validator.w3.org.

243558237-e91785ee-edee-4904-8319-39009d8fd5f3

validator.w3.org

Đây là Dịch vụ xác thực đánh dấu tiêu chuẩn.

243558409-f9e9408f-7ef9-49f8-b0e7-3464bd487cc8

validator.w3.org

Chúng tôi có ba phương pháp để xác thực đánh dấu HTML của chúng tôi.

Chúng tôi có thể xác thực bằng một địa chỉ nếu trang web của chúng tôi trực tuyến trên internet, nhưng điều này không hiệu quả với chúng tôi vì trang web của chúng tôi hiện được lưu trữ cục bộ trong máy chủ phát triển của chúng tôi.

243923213-afc1cfeb-4e0b-457f-8cd0-a2df7a6ffe9e

Xác thực theo tab địa chỉ

Vì vậy, địa chỉ IP mà chúng ta có ở đây 127.0.0.1là địa chỉ IP cục bộ. Điều này có nghĩa là không ai khác có thể truy cập trang web của chúng tôi.

243923724-33a0419b-0b61-4709-9b1a-15cf7d5076fc

Địa chỉ IP 127.0.0.1 của trang index.html của chúng tôi được đánh dấu

Chúng tôi có hai phương pháp khác. Chúng ta có thể Validate by File Uploadhoặc by Direct Input.

243923911-8f3bb3ba-684f-4405-9b62-b2c03f0df58e

Hai phương thức còn lại, xác thực bằng Tải lên tệp và bằng Nhập trực tiếp được tô sáng

Trong trường hợp này, tôi sẽ sử dụng Tải lên tệp.

243924094-36b26d7f-3faa-47d3-80b4-1a1cd6955856

Chọn tùy chọn Xác thực bằng tab Tải lên tệp

Vì vậy, hãy tải index.htmltệp của chúng tôi lên và KIỂM TRA.

243924363-708a728e-6000-47c4-a2ec-7bbc315f4ecc

Tải lên tệp index.html của chúng tôi và kiểm tra nó

Hãy nhìn xem, chúng tôi có 1 cảnh báo và 2 lỗi.

243924649-a61711b8-79e8-4888-b8ac-9b9442915cfc

Kết quả hiển thị 1 cảnh báo và 2 lỗi

Cảnh báo đang nói We haven't added a lang attribute to the html start tag.

Đây là thực hành tốt nhất phổ biến. Nó cho phép chúng tôi cho các công cụ tìm kiếm biết ngôn ngữ của trang web này là gì để chúng có thể hiển thị kết quả tốt hơn.

Điều này là rất dễ dàng để sửa chữa.

Vì vậy, đây là thẻ HTML của chúng tôi trong Mã VS:

<!DOCTYPE html>
<html>
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
                float: left;
                margin-right:10px;
            }
            .username {
                font-weight: bold;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg"/>
        <p class="username">@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
244273854-61219733-f6bd-46d2-a04a-fa7e1928d63a

Thẻ bắt đầu html của chúng tôi không có thuộc tính lang

Chúng tôi sẽ thêm langthuộc tính và đặt nó thành enviết tắt của tiếng Anh.

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
                float: left;
                margin-right: 10px;
            }
            .username {
                font-weight: bold;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg" />
        <p class="username">@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
244274097-f2ff81e8-0bc4-48be-982e-0f5b55a69867

Thẻ bắt đầu html của chúng tôi với thuộc tính lang="en"

Cái gì tiếp theo? Chúng tôi có một lỗi cho biết The character encoding was not declared.

244274349-70b8377b-a165-4e02-b4f4-f19de72211f3

Lỗi trong trình xác thực hiển thị mã hóa ký tự không được khai báo

Đừng lo lắng về điều này. Chúng ta sẽ nói về nó trong phần tiếp theo.

Vì vậy, hãy xem xét lỗi thứ hai.

244274533-0d4b50c7-9846-44c8-9401-db736b65d15f

Lỗi thứ hai cho biết phần tử hình ảnh phải có thuộc tính alt

Nó đang nói rằng An image element must have an alt attribute.

Trước đó, chúng tôi đã có altthuộc tính này. Tôi đã nói với bạn rằng chúng tôi sử dụng thuộc tính alt để cung cấp mô tả cho hình ảnh của mình.

Vì vậy, nếu hình ảnh không thể hiển thị, văn bản thay thế sẽ được hiển thị thay thế.

Một lần nữa, chúng ta sẽ nói về altthuộc tính chi tiết hơn trong tương lai.

Bây giờ, hãy quay lại mã của chúng tôi - và hãy sửa lỗi này.

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>My First Web Page</title>
        <style>
        img {
            width: 100px;
            border-radius: 50px;
            float: left;
            margin-right: 10px;
        }
        .username{
            font-weight: bold;
        }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg" />
        <p class="username">@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
244274794-3a571f46-8f94-4d41-850e-abf61f672b3a

Phần tử hình ảnh của chúng tôi không có thuộc tính alt

Đây là thẻ hình ảnh của chúng tôi. Hãy thêm thuộc alttính. Đối với mô tả, tôi sẽ nói A laptop image.

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
                float: left;
                margin-right: 10px;
            }
            .username {
            font-weight: bold;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg" alt="A Laptop Image" />
        <p class="username">@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
244275174-bee9fef8-8878-42d8-a660-c54b8175bb7a

Thuộc tính alt trong phần tử hình ảnh của chúng tôi có nội dung là hình ảnh máy tính xách tay

Bây giờ, lưu các thay đổi.

Hãy tải lên lại tập tin.

244275715-2cd9cf00-26ff-4179-bb02-69a5ec6c7d9b

Tải lên lại tệp index.html trên trình xác thực

và xác nhận nó một lần nữa.

244276249-7b951144-948b-48fd-a731-6efc214d5ed1

Lỗi hiển thị bảng mã ký tự không được khai báo

Lần này, chúng tôi chỉ có một lỗi duy nhất và một thông báo không thực sự là vấn đề. Điều đó liên quan đến mã hóa ký tự mà chúng ta sẽ nói trong phần tiếp theo. Vì vậy, đây là tất cả về xác thực HTML.

Bây giờ, đối với CSS, chúng tôi có một trình xác thực khác. Vì vậy, chúng tôi đi đến jigsaw.w3.org/css-validator.

244276653-18e094fd-969e-4d96-9494-faa7d5c0bacb

Trình xác thực CSS

Bạn không cần phải ghi nhớ điều này. Chỉ cần vào Google và tìm kiếm css validator:

244276928-d5ffdbb3-ca1a-48ad-8f46-6a411aba78da

Tìm kiếm trên Trình xác thực CSS của Google

Đây là liên kết đầu tiên:

244277095-1d1fadbf-33b0-4976-a576-72bf3066bccd

Liên kết đầu tiên từ kết quả của Google

Vì vậy, chúng tôi có cùng một giao diện.

244277528-be322f17-6b20-4f95-a11e-e2eae40997fb

Dịch vụ xác thực CSS có cùng giao diện với trình xác thực trước đó

Chúng tôi có thể xác thực Mã CSS của mình bằng địa chỉ, bằng cách tải tệp lên hoặc bằng cách nhập trực tiếp.

Bây giờ, trong trường hợp này, chúng tôi đã nhúng tất cả mã CSS vào bên trong phần đánh dấu HTML của mình.

<!DOCTYPE html>
<html lang="en">
    <head>
        <title>My First Web Page</title>
        <style>
            img {
                width: 100px;
                border-radius: 50px;
                float: left;
                margin-right: 10px;
            }
            .username {
                font-weight: bold;
            }
        </style>
    </head>
    <body>
        <img src="Images/altumcode.jpg" alt="A laptop image" />
        <p class="username">@KarlgustaAnnoh</p>
        <p>I love to teach you HTML!</p>
    </body>
</html>
244600926-12431278-6585-4800-a573-03f7fffc5ba3

CSS của chúng tôi bên trong HTML

Khi các trang web của chúng tôi trở nên phức tạp hơn, chúng tôi muốn tách mã CSS của mình thành các tệp riêng biệt để mã của chúng tôi được tổ chức tốt hơn. Chúng ta sẽ nói về điều này chi tiết hơn trong tương lai.

Hiện tại, tôi sẽ sao chép tất cả mã CSS của chúng ta, sau đó chuyển đến tab thứ ba:

<style>
    img {
        width: 100px;
        border-radius: 50px;
        float: left;
        margin-right: 10px;
    }
    .username {
        font-weight: bold;
    }
</style>
244601174-27bd8ee3-c373-472e-8f7e-b54e356774d6

Sao chép CSS bên trong HTML

Dán nó ở đây và xác nhận nó.

244601684-882e0b88-a362-4486-814c-1a9c855e40d9

Dán nó vào trình xác thực CSS bằng cách sử dụng đầu vào trực tiếp

Chúng tôi không có bất kỳ lỗi nào. Mọi thứ đều hoàn hảo.

244602085-737a45a4-6c7a-4727-ba99-a1b37f509cbd

Không có lỗi sau khi kiểm tra bằng trình xác thực CSS

Đây là tất cả về xác nhận. Xác nhận là rất quan trọng. Nếu các trang web của bạn không được hiển thị như mong đợi, hãy luôn bắt đầu bằng việc xác thực nhanh, vì điều này thường có thể chỉ cho bạn đi đúng hướng.

Bây giờ, điều đó đưa chúng ta đến cuối phần này. Trong phần tiếp theo, chúng ta sẽ khám phá HTML chi tiết hơn.

Phần đầu

Trước đó trong khóa học, tôi đã nói với bạn rằng chúng tôi sử dụng phần đầu để cung cấp cho các trình duyệt và công cụ tìm kiếm thông tin về một trang web. Vì vậy, hãy khám phá nó chi tiết hơn một chút.

Tôi sẽ bắt đầu với một tài liệu trống:

244602403-338b9818-187c-495d-83ec-e7fd912eefca

Làm trống index.html trên Mã VS

Bây giờ, hãy để tôi chỉ cho bạn một thủ thuật hay. Nếu chúng ta nhập một dấu chấm than, rồi nhấn tab, chúng ta sẽ nhận được bản soạn sẵn HTML cơ bản, có nghĩa là một mẫu HTML cơ bản.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE-edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
    
    </body>
</html>
244602522-9266f086-9731-42f9-a349-af2d73f330d5

Bản soạn thảo HTML cơ bản trên Mã VS

Ở trên cùng, chúng tôi có khai báo DocType. Bên dưới, chúng ta có phần tử HTML với thuộc tính lang (đây là một phương pháp hay nhất phổ biến). Tiếp theo, chúng ta có phần đầu với một loạt các yếu tố mà chúng ta sẽ nói đến trong giây lát. Tiếp theo là phần cơ thể.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

</body>
</html>

Đây là một bản tóm tắt HTML rất cơ bản.

Bây giờ, chúng ta có gì trong phần đầu? Chà, chúng tôi có một vài yếu tố meta để cung cấp thông tin về trang web này.

Phần tử meta đầu tiên, <meta charset="UTF-8>", dùng để xác định bộ ký tự.

Bộ ký tự là gì?

Máy tính không hiểu các ký tự như A, B, C, v.v. Họ chỉ hiểu các số được biểu diễn ở định dạng nhị phân: 0 và 1.

Vì vậy, bằng cách sử dụng Bộ ký tự, chúng ta có thể ánh xạ một ký tự thành một giá trị số.

244603911-d1714639-5e7d-4036-a22e-15a578d26919

Ký tự được ánh xạ tới một giá trị số

Bộ ký tự đầu tiên được thiết kế là bộ ASCII, viết tắt của Mã tiêu chuẩn Mỹ để trao đổi thông tin.

ASCII chỉ có thể đại diện cho các ký tự bằng tiếng Anh. Vì vậy, nó rất hạn chế.

Bộ ký tự mà chúng ta sử dụng nhiều nhất hiện nay là UTF-8, có thể đại diện cho hầu hết các ký tự trên thế giới.

Vì vậy, quay lại mã của chúng tôi.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
    
    </body>
</html>
245045104-56beb557-afeb-4044-949f-f5e16b5045b2

Sử dụng bộ ký tự UTF-8

Với phần tử meta này, <meta charset="UTF-8">, chúng tôi đang xác định bộ ký tự được sử dụng trong tài liệu HTML này.

<meta name="viewport" content="width=device-width, initial-scale=1.0">

Bên dưới đó, chúng tôi có một phần tử meta <meta name="viewport content="width=device-width, initial-scale=1.0">để định cấu hình chế độ xem. Khung nhìn là khu vực hiển thị của một trang web.

245045511-2903de4f-d342-4abb-9ca2-6bb07803e56f

Một trang index.html trống trên trình duyệt

Trên điện thoại hoặc máy tính bảng, khung nhìn nhỏ hơn. Trong khi ở đây trên máy tính để bàn, chúng tôi có thể thay đổi kích thước của cổng xem bằng cách thay đổi kích thước trình duyệt.

245045651-5eab5350-7f9e-4555-ba32-a607089596b7

Thay đổi kích thước cửa sổ trình duyệt

Vì vậy, bây giờ khung nhìn của chúng tôi nhỏ hơn.

Quay lại mã của chúng tôi:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
    
    
    </body>
</html>
245045776-3b8d17ab-1490-487b-be50-21e6245881ec

Bản soạn sẵn HTML của index.html trên Mã VS

Trong phần tử meta này, chúng tôi đang xác định chiều rộng ban đầu và hệ số thu phóng cho chế độ xem. Chúng ta sẽ nói về điều này chi tiết hơn sau. Hiện tại, tất cả những gì tôi cần bạn biết là chúng tôi cần yếu tố này để trang web của chúng tôi hiển thị tốt trên tất cả các thiết bị: điện thoại di động, máy tính bảng và máy tính để bàn.

Vì vậy, cách tốt nhất là mỗi trang web nên có ít nhất hai phần tử meta này. Nhưng chúng tôi có các yếu tố meta bổ sung. Hãy để tôi chỉ cho bạn một số:

Vì vậy, nếu bạn gõ meta:

meta:compact
meta:desc
meta:edge
meta:redirect
meta:refresh
meta:utf
245046033-6593ee47-0e56-4f01-88f0-2ef259e11b33

Tất cả các meta được hiển thị trên Mã VS

Trong danh sách này, chúng ta có thể thấy tất cả các loại phần tử meta. Ví dụ: chúng tôi có một phần tử để xác định từ khóa trên trang web. Hãy chọn nó:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML,CSS" />
        <title>Document</title>
    </head>
    <body></body>
</html>
245046420-5f738c5b-8367-4fb2-911c-8b63ea0af8b1--1-

Meta cho các từ khóa được đánh dấu trên Mã VS

Tại đây, chúng ta có thể gõ nhiều từ khóa như HTML, CSS, v.v.

<meta name="keywords" content="HTML, CSS">

Trước đây, những từ khóa này được sử dụng nhiều cho Công cụ Tìm kiếm Tối ưu hóa. Nhưng ngày nay, hầu hết các công cụ tìm kiếm không đặt nặng những từ khóa này. Tuy nhiên, chúng tôi có thể sử dụng chúng để xác định các từ khóa đại diện cho trang này.

Chúng tôi có một phần tử meta khác để xác định mô tả cho trang này.

Vì vậy, nếu bạn gõ <meta name="description" content="">:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project." />
        <title>Document</title>
    </head>
    <body></body>
</html>
245361733-f398a183-f306-4216-b29f-7950466f4b7e

Meta cho mô tả được đánh dấu trên Mã VS

Trong phần nội dung, chúng ta có thể gõ mô tả cho trang này. Những gì chúng tôi nhập ở đây sẽ xuất hiện trên Google hoặc các công cụ tìm kiếm khác khi ai đó tìm kiếm trang web của chúng tôi.

Ví dụ: nếu bạn tìm kiếm Windows thì đây là những gì chúng tôi nhận được:

245362065-196a620c-0fab-42b1-a268-224ff906049a

Tìm kiếm từ apple trên Google

Bây giờ, hãy nhìn vào văn bản này:

245362251-d8fd29aa-3aa9-4d94-8d96-f78381479c53

Mô tả meta được hiển thị trên trình duyệt cho trang web của Apple

Những gì bạn thấy ở đây đến từ yếu tố này ở đây:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body></body>
</html>
245362413-7a9e4f3c-eb5d-47d1-b49d-95ed9837502c

Mô tả meta được đánh dấu trên Mã VS

Vì vậy, đây là mục đích của các phần tử meta. Với các phần tử meta, chúng ta có thể lấy thông tin về một trang web.

Tiếp theo, chúng ta sẽ nói về các yếu tố bạn cần biết khi làm việc với văn bản.

Các yếu tố để làm việc với văn bản

Bây giờ, hãy nói về các yếu tố phổ biến nhất để làm việc với văn bản. Đầu tiên, bạn sẽ tìm hiểu về phần tử đoạn văn <p></p>được sử dụng để hiển thị văn bản.

<p>I love to teach you HTML!</p>

Đôi khi, bạn có thể muốn nhấn mạnh một phần của văn bản. Giả sử, từ HTML ở đây. Để làm điều đó, chúng ta có thể bọc nó bên trong một yếu tố nhấn mạnh<em></em>

Vì vậy, ở đây tôi gõ như sau:

<p> I love to teach you <em>HTML</em>!</p>

Bất cứ khi nào chúng ta muốn nhấn mạnh nội dung nào đó, chúng ta có thể bọc nội dung đó bên trong một <em></em>phần tử.

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you <em>HTML</em>!</p>
    </body>
</html>
245362953-e0969ca0-db07-4b8e-9eb1-e835438eca82

Phần tử đoạn nhấn mạnh vào từ HTML

Bây giờ, hãy lưu các thay đổi.

Đây là những gì chúng tôi nhận được:

245364108-db8edca5-8f02-4233-aa40-e48c69f8ace1

Đoạn hiển thị trên trình duyệt có HTML được nhấn mạnh

Theo mặc định, các trình duyệt hiển thị nội dung được nhấn mạnh bằng chữ nghiêng. Nhưng, đừng cho rằng khi bạn muốn hiển thị nội dung in nghiêng, bạn nên sử dụng <em></em>phần tử. Bởi vì, mục đích của <em></em>phần tử là để nhấn mạnh nội dung trong tài liệu HTML của chúng ta. Điều này giúp các công cụ tìm kiếm trích xuất nội dung quan trọng trong tài liệu của chúng tôi.

Bất cứ điều gì liên quan đến kiểu dáng nên được thực hiện trong CSS.

Ví dụ: ở đây chúng ta có thể thay đổi kiểu mặc định của các phần tử được nhấn mạnh và xóa phần in nghiêng. Hãy để tôi chỉ cho bạn cách nó hoạt động.

Vì vậy, trong phần đầu, chúng tôi thêm phần tử được tạo kiểu như thế này:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <style>
        
        </style>
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you <em>HTML</em>!</p>
    </body>
</html>
245364659-2e5de660-ec7e-4fc4-922b-4c8d102bf4cb

Phần tử kiểu trống trong index.html trên Mã VS

Ở đây, chúng tôi xác định quy tắc cho nội dung được nhấn mạnh:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <style>
            em {
            
            }
        </style>
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you <em>HTML</em>!</p>
    </body>
</html>
245364911-6541e05b-8509-4c18-94cf-6c2a0480ddbf

Thẻ kiểu có quy tắc nhấn mạnh trống trong Mã VS

Chúng ta có thể thiết lập màu đỏ.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <style>
            em{
                color: red;
            }
        </style>
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you <em>HTML</em>!</p>
    </body>
</html>
245365227-3b41e04d-9cb2-4829-bd4d-e229d4fd8bfc

Em trong các thẻ kiểu có màu được đặt thành màu đỏ

Và kiểu chữ để bình thường.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <style>
            em {
                color: red;
                font-style: normal;
            }
        </style>
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you <em>HTML</em>!</p>
    </body>
</html>
245365648-186ffbfd-5632-47db-8707-284f28bf7060

Cái em với font-style set normal trong thẻ style trên VS Code

Bây giờ, đừng lo lắng về việc ghi nhớ bất kỳ thuộc tính CSS nào trong số này. Chúng ta sẽ xem xét chúng nhiều lần trong suốt phần còn lại của hướng dẫn này.

Nhưng hãy xem điều gì sẽ xảy ra khi chúng ta áp dụng những phong cách này.

245365937 - 24c2f926 - 24cc - 4349 - 99f0 - f18d42c4c5d7

Đoạn trên trình duyệt có chữ HTML được tô đỏ

Vì vậy, nội dung nhấn mạnh của chúng tôi được hiển thị bằng màu đỏ và nó không còn in nghiêng nữa.

Bây giờ, trong quá khứ, chúng ta có một phần tử được gọi <i></i>là viết tắt của chữ nghiêng.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <style>
            em {
                color: red;
                font-style: normal;
            }
        </style>
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you <i>HTML</i>!</p>
    </body>
</html>
245367513-300d9cff-481f-413d-99f3-1855df90cd07

Từ HTML trong thẻ Italic trên Mã VS

Nếu chúng ta sử dụng phần tử này, chúng ta sẽ nhận được kết quả như trước. Nội dung của chúng tôi được hiển thị in nghiêng. Tuy nhiên, phần tử này được coi là không dùng nữa vì HTML không dành cho việc tạo kiểu. Nó chỉ nên được sử dụng để cấu trúc nội dung.

Vì vậy, không sử dụng <i></i>phần tử để hiển thị nội dung dưới dạng in nghiêng.

Bây giờ, chúng ta có một phần tử tương tự trong HTML được gọi là <strong></strong>Phần tử mạnh thể hiện tầm quan trọng, mức độ nghiêm trọng hoặc tính khẩn cấp mạnh mẽ đối với nội dung của nó. Về mặt khái niệm, nó tương tự như yếu tố nhấn mạnh, vì vậy bạn nên sử dụng nó ở đâu thực sự phụ thuộc vào ngữ cảnh của bạn.

Hãy lưu các thay đổi và xem những gì chúng tôi nhận được.

246003071-93eabfcf-b4b5-4128-9782-1e533137031e

Đoạn có chữ HTML in đậm

Vì vậy, theo mặc định, các phần tử mạnh được hiển thị dưới dạng in đậm. Nhưng, một lần nữa, chúng ta luôn có thể thay đổi kiểu dáng.

Bây giờ, trong quá khứ, chúng ta có một phần tử khác được gọi <b></b>là viết tắt của chữ đậm. Vì vậy, bất cứ khi nào chúng tôi muốn tạo ra thứ gì đó táo bạo, chúng tôi đều sử dụng yếu tố này.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <style>
            em {
                color: red;
                font-style: normal;
            }
        </style>
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you <b>HTML</b>!</p>
    </body>
</html>
246003344-1fb98850-170e-43d2-9974-a9848a163956

Đoạn có từ HTML in đậm

Tuy nhiên, một lần nữa, yếu tố này được coi là không được dùng nữa vì việc tạo kiểu phải được thực hiện bằng CSS chứ không phải bằng HTML. Vì vậy, không sử dụng <b></b>hoặc <i></i>các yếu tố.

Bây giờ, đây là tất cả về văn bản, bây giờ hãy nói về các tiêu đề.

tiêu đề

Vì vậy, trong HTML, chúng ta có 6 phần tử tiêu đề. Đó là:

<h1>This is heading one</h1>
<h2>This is heading two</h2>
<h3>This is heading three</h3>
<h4>This is heading four</h4>
<h5>This is heading five</h5>
<h6>This is heading six</h6>

Đây là mã trên Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>Heading 2</h2>
        <h3>Heading 3</h3>
        <h4>Heading 4</h4>
        <h5>Heading 5</h5>
        <h6>Heading 6</h6>
    </body>
</html>
246003995-5986c9a4-ad72-41d8-aa17-3a858f906745

Tất cả 6 tiêu đề trong index.html trên Mã VS

Vì vậy, hãy xem những gì chúng ta có khi chạy mã.

246004255-13d0d052-1206-459f-843f-fe1d88d48035

Tất cả các tiêu đề trên một trang trong trình duyệt

Bây giờ, tiêu đề một đại diện cho tiêu đề quan trọng nhất và tiêu đề 6 đại diện cho tiêu đề ít quan trọng nhất.

Bây giờ, một sai lầm phổ biến mà tôi thấy ở rất nhiều người là họ chọn tiêu đề này dựa trên kích thước của chúng. Họ chọn, giả sử, nhóm bốn vì kích thước. Đó không phải là cách bạn phải sử dụng các tiêu đề vì kích thước luôn có thể được thay đổi bằng CSS. Đó là một vấn đề của phong cách.

Chúng ta nên sử dụng các phần tử tiêu đề này để tạo một hệ thống phân cấp.

246004726-41bafbdd-b97c-45af-896d-51f9227c18cb

Tiêu đề 1 được tô sáng

Mỗi trang web nên có một và chỉ một <h1></h1>phần tử tiêu đề ( ).

Tiêu đề này đại diện cho nội dung của trang này. Chà, không có gì xảy ra nếu chúng ta có nhiều <h1></h1>phần tử.

Ví dụ: tôi có thể lặp lại điều này để nói heading one +:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h1>Heading 1+</h1>
        <h2>Heading 2</h2>
        <h3>Heading 3</h3>
        <h4>Heading 4</h4>
        <h5>Heading 5</h5>
        <h6>Heading 6</h6>
    </body>
</html>
246004953-f0d49816-c997-4a60-a275-9370d3db7d02

Tiêu đề 1 trùng lặp trong Mã VS

Bây giờ, nhìn chúng ta có hai <h1></h1>yếu tố. Tuy nhiên, điều này sẽ gây nhầm lẫn cho các công cụ tìm kiếm. Họ sẽ không hiểu trang này nói về cái gì.

Vì vậy, mỗi trang nên có một <h1></h1>yếu tố duy nhất.

Bây giờ, sau khi chúng ta sử dụng <h1></h1>now, chúng ta nên sử dụng <h2></h2>We should not jump to <h4></h4>.

Vì vậy, giả sử trên trang này chúng ta sẽ có hai phần. Một cho HTML, một cho CSS. Bây giờ, tiêu đề tiếp theo của tôi sẽ là <h2></h2>:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <h2>Heading 2</h2>
        <h3>Heading 3</h3>
        <h4>Heading 4</h4>
        <h5>Heading 5</h5>
        <h6>Heading 6</h6>
    </body>
</html>
246005507-5c25bcdd-28ba-4a55-8348-af05d233e6cf

Tiêu đề 2 có chữ HTML

và ở đây, chúng ta có thể gõ HTML:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <h2>Heading 2</h2>
        <h3>Heading 3</h3>
        <h4>Heading 4</h4>
        <h5>Heading 5</h5>
        <h6>Heading 6</h6>
    </body>
</html>
246005507-5c25bcdd-28ba-4a55-8348-af05d233e6cf--1

Tiêu đề 2 có chữ HTML

Sau đó, bên dưới tiêu đề này, chúng ta có thể có một số văn bản. Vì vậy, tôi sẽ nói HTML Tutorial:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <p>HTML Tutorial</p>
        <h2>Heading 2</h2>
        <h3>Heading 3</h3>
        <h4>Heading 4</h4>
        <h5>Heading 5</h5>
        <h6>Heading 6</h6>
    </body>
</html>
246005961-6a01db3b-54bb-4e3e-acef-ded955986d0a--1-

Một đoạn mã có từ Hướng dẫn HTML

Tiêu đề tiếp theo của chúng ta nên là <h2></h2>.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <p>HTML Tutorial</p>
        <h2>CSS</h2>
        <h3>Heading 3</h3>
        <h4>Heading 4</h4>
        <h5>Heading 5</h5>
        <h6>Heading 6</h6>
    </body>
</html>
246006466-3ca0c6fd-a464-4331-b788-8127ee0f4f71

Heading 2 có chữ CSS trong VS Code

Đây là phần CSS. Trong phần này, chúng tôi có thể có một số văn bản bổ sung, giả sử CSS Tutorial:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <p>HTML Tutorial</p>
        <h2>CSS</h2>
        <p>CSS Tutorial</p>
        <h3>Heading 3</h3>
        <h4>Heading 4</h4>
        <h5>Heading 5</h5>
        <h6>Heading 6</h6>
    </body>
</html>
246006814-4e6c5260-e00c-4eec-a024-f73bcf0d5b3d

Một đoạn có từ CSS Tutorial

Bây giờ, tôi sẽ xóa bốn tiêu đề dưới đây.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <p>HTML Tutorial</p>
        <h2>CSS</h2>
        <p>CSS Tutorial</p>
        <h3>Heading 3</h3>
        <h4>Heading 4</h4>
        <h5>Heading 5</h5>
        <h6>Heading 6</h6>
    </body>
</html>
246007022-76e13237-9f93-4be4-9b7d-6b8b579b0475

Bốn tiêu đề bị xóa trên Mã VS

Bây giờ chúng đã bị xóa.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <p>HTML Tutorial</p>
        <h2>CSS</h2>
        <p>CSS Tutorial</p>
    </body>
</html>
246007239-d61bc75f-1ea4-42f4-a07e-56d1a103a0c2

Bốn tiêu đề đã bị xóa trên Mã VS

Hãy xem ngay bây giờ.

246007398-ef051202-6157-4103-a1c4-52f1c6a3ca78

Trang trên trình duyệt không có bốn hình ảnh bị xóa

Chúng tôi có một hệ thống phân cấp. Ở trên cùng, chúng ta có một <h1></h1>phần tử. Dưới đó, chúng tôi có hai <h2></h2>yếu tố.

246324375-f717a5b7-0fe9-43b8-abac-d5ae7b99a745

Trang trên trình duyệt có một phần tử tiêu đề và hai phần tử tiêu đề hai phần tử

Bây giờ, giả sử trong phần HTML, chúng ta sẽ có hai phần phụ. Ở đó, chúng ta nên sử dụng <h3></h3>các phần tử.

Vì vậy, đây là phần HTML của chúng tôi:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <p>HTML Tutorial</p>
        <h2>CSS</h2>
        <p>CSS Tutorial</p>
    </body>
</html>
246324550-7a32b7f2-69bd-4507-bbb2-1d8e29ba28fc

Các phần tử tiêu đề một và hai tiêu đề hai trên Mã VS

Trong phần này, chúng ta sẽ có hai <h3></h3>yếu tố CodeExercise:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <h1>Heading 1</h1>
        <h2>HTML</h2>
        <p>HTML Tutorial</p>
        <h3>Code</h3>
        <h3>Exercise</h3>
        <h2>CSS</h2>
        <p>CSS Tutorial</p>
    </body>
</html>
246324825-1b60009b-38b8-42c7-a6b0-8f74077c4928

Hai phần tử tiêu đề 3 với mã từ và bài tập trên VS Code

Bây giờ, hãy xem.

246324947-f0b6b1be-4bdb-4c94-bc0f-ffa921e54513

Trang trên trình duyệt với từ mã và bài tập

Vì vậy, chúng tôi có một hệ thống phân cấp thích hợp! Đây là cách chúng ta nên sử dụng các phần tử tiêu đề này. Chúng ta có thể trình bày cấu trúc bằng HTML càng tốt thì các công cụ tìm kiếm càng có thể đọc và hiểu nội dung của chúng ta tốt hơn.

Vì vậy, đó là tất cả về văn bản.

Tiếp theo, chúng ta sẽ nói về việc hiển thị các ký tự đặc biệt trong HTML.

Thực thể HTML

Một số ký tự được dành riêng trong HTML và để hiển thị chúng, chúng ta phải sử dụng một ký hiệu đặc biệt. Ví dụ: giả sử chúng ta muốn ngắt từ HTML bằng dấu ngoặc nhọn. Hãy xem điều gì sẽ xảy ra.

Vì vậy, tôi gõ khung góc trái và góc phải, VS Code nghĩ rằng chúng tôi đang thêm một phần tử HTML, vì vậy nó sẽ tự động tạo thẻ đóng.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you <HTML>!</HTML></p>
    </body>
</html>
246326047-5997b15a-75ce-48bf-9e5a-e32fe541cf0a

Tự động hoàn thành thẻ HTML trong Mã VS

Chúng tôi không muốn điều này, vì vậy hãy xóa nó.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you<HTML>!</p>
    </body>
</html>
246326190-c3ccac55-711e-4d56-a9f4-46b458b2f393

Đã xóa thẻ HTML cuối cùng trong Mã VS

Bây giờ, quay lại trình duyệt, nhìn. Từ HTML của chúng ta ở đâu?

246326307-065a185a-ff7a-4f64-8ada-632c2880153c

Từ HTML không hiển thị trong trang trình duyệt

Nó không có ở đây vì trình duyệt hiểu đây là một thẻ HTML.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you<HTML>!</p>
    </body>
</html>
246326451-89a59dbb-2428-4ec5-989e-13ab9449af1b

Thẻ mở HTML không bao giờ được hiển thị

Đây không phải là những gì chúng tôi muốn. Chúng tôi muốn hiển thị chính xác như thế này. Vì vậy, để giải quyết vấn đề này, chúng ta sẽ sử dụng các thực thể HTML. Tất cả các thực thể này bắt đầu bằng dấu và và kết thúc bằng dấu chấm phẩy&;

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you &; <HTML>!</p>
    </body>
</html>
246326684-06b14646-2b10-46c4-b5c5-5a2f03c64627

Thực thể HTML &; trong Mã VS

Vì vậy, chúng ta có một thực thể để hiển thị dấu nhỏ hơn, viết &lt;tắt của less than. Tương tự, chúng ta có một thực thể HTML khác để hiển thị dấu lớn hơn. Vì vậy, chúng tôi nhập viết &gt;tắt của lớn hơn, theo sau là dấu chấm phẩy.

<p>I love to teach you &lt;HTML&gt;!</p>

Đây là mã trên Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you &lt;HTML&gt;!</p>
    </body>
</html>
246327287-cc72aa62-ad4c-460c-96bb-c46e73623d24

Dấu nhỏ hơn và lớn hơn trong Mã VS

Bây giờ, quay lại trình duyệt, đó chính xác là những gì chúng tôi muốn.

246327406-98bacf76-3519-4a75-bb2c-6895d0b64f52

Từ HTML được bao quanh bởi các dấu hiệu nhỏ hơn và lớn hơn trong Mã VS

Một thực thể HTML phổ biến khác là biểu tượng bản quyền. Vì vậy, cuối cùng, tôi sẽ gõ&copy;

<p>I love to teach you &lt;HTML&gt;! &copy;</p>

Đây là mã trên Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <p>I love to teach you &lt;HTML&gt;! &copy;</p>
    </body>
</html>
246327796-384876b8-5bcc-47a1-8fa4-5b850d3112e3

Bản sao chép; thực thể

Bây giờ hãy xem.

246327943-962ad246-b5f1-4c62-8530-bd467feb0e77

Dấu hiệu sao chép hiển thị trong trang trình duyệt sau dấu chấm than

Có biểu tượng bản quyền của chúng tôi. Nó trông đẹp.

Bây giờ, chúng ta có rất nhiều thực thể trong HTML và thật lòng mà nói, bạn không cần phải ghi nhớ chúng. Trên thực tế, bạn có thể sẽ không sử dụng 99% trong số chúng. Nhưng trong trường hợp bạn tò mò, hãy để tôi cho bạn xem danh sách đầy đủ.

Vì vậy, trên Google, hãy tìm kiếm các thực thể HTML.

246733789-9f666baf-9e6a-4f92-a9ef-65d0499990e1

Google tìm kiếm các thực thể HTML

Đây là những gì tôi tìm thấy:

246734440-004f519d-23ae-4c14-b349-f0a70807ea09

Kết quả đầu tiên của Thực thể HTML từ Google

Đây là một số thực thể. Tôi chỉ sử dụng một vài trong số họ.

246734541-bbce8b3e-f4a3-4798-b791-36a7ac1bbce2

Một số Thực thể ký tự HTML hữu ích từ w3schools sau khi tìm kiếm trên Google

Bây giờ, đây là tất cả về các thực thể HTML. Tiếp theo, chúng ta sẽ nói về các liên kết.

Cách tạo siêu liên kết

Hầu như mọi trang web trên internet đều có liên kết đến các trang hoặc trang web khác. Để tạo các liên kết này, chúng tôi sử dụng phần tử neo.

<a href=""></a>

Mỗi phần tử neo phải có thuộc tính href. hreflà viết tắt của tham chiếu siêu văn bản. Về cơ bản, nó có nghĩa là một URL hoặc một liên kết.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href=""></a>
    </body>
</html>
246734779-c852f04e-7927-4c01-be1d-69f070523207

Làm trống href trên Mã VS

Trong bản trình diễn này, tôi sẽ tạo một trang thứ hai có tên about.html và sau đó liên kết với nó ở đây.

Vì vậy, ở đây trong bảng thám hiểm, hãy thêm một trang mới có tên about.html:

246734960-0827f2ca-a118-4e50-a6cf-b1d7fb5356f2

About.html trong Mã VS

Ở đây, chúng ta sẽ tạo một bản tóm tắt HTML cơ bản.

246735068-5e04c52c-4c60-4d16-92cf-64a9b5689046

Làm trống about.html trong Mã VS

Bây giờ, hãy tạo nó.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>

    </body>
</html>
246735168-6865acf2-90ae-442b-a4a8-0d62d885431f

Bản soạn sẵn HTML trong about.html trên Mã VS

Quay lại index.html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href=""></a>
    </body>
</html>
246735335-359a864e-a7eb-4c35-82a5-ba74bc795dc9

Mã index.html trên Mã VS

Ở đây, chúng ta có thể sử dụng URL tương đối hoặc tuyệt đối. Ý tôi là gì? Chà, một URL tương đối bắt đầu từ trang hiện tại. Vì vậy, hiện tại, chúng tôi đang sử dụng index.htmlvà chúng tôi muốn chuyển sang about.html.

Hiện tại, cả hai trang này đều nằm trong cùng một thư mục.

246735502-4871d42d-6212-4aa0-bb31-fbabe9639437

About.html và index.html trên cùng một thư mục như được hiển thị trên tab VS Code Explorer

Chúng tôi có thể nhập một URL tuyệt đối để about.htmlthích điều này.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="about.html"></a>
    </body>
</html>
246735647-42e9e9b5-1582-4234-b2c2-7cac3da2e1b5

Đã thêm URL tuyệt đối about.html

Đó là một URL tuyệt đối.

Bây giờ, nếu nó about.htmlnằm trong một thư mục khác thì sao?

Vì vậy, hãy thêm một thư mục mới vào dự án của chúng tôi có tên company:

246735777-6ebc7e86-8f08-49cf-87c0-fe86c509c29a

Đã thêm thư mục công ty vào dự án của chúng tôi trên Mã VS

Sau đó, chúng tôi di chuyển đến thư mục này bằng cách kéo và thả.

246735927-7796a276-7744-44f3-a86a-e6ac5b6aae53

Di chuyển about.html vào thư mục company trên VS Code

Đâu là about.htmlliên quan đến trang này? Nó nằm trong thư mục công ty.

246736043-1ab6cc88-4e2f-459b-8107-f0dc2643ada0

About.html hiện nằm trong thư mục công ty

Vì vậy, ở đây chúng tôi gõ company/about.html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html"></a>
    </body>
</html>
246736186-7f92663a-63ed-4c03-9c83-e0c36fa5cfa8

Nhập công ty/about.html trong href trên Mã VS

Đây là một URL tương đối.

Bây giờ, hãy cung cấp cho liên kết này một số văn bản. Tôi sẽ gọi nó About Melà Vì vậy, chúng tôi nhập văn bản của mình bên trong phần tử neo.

<a href="company/about.html">About Me</a>

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
    </body>
</html>
247015795-3f4a4499-53e0-4e1f-85e8-cf3479260216

company/about.html trong href trên thẻ neo của Giới thiệu về tôi trên Mã VS

Quay lại trình duyệt. Đây là liên kết của chúng tôi:

247015962-a83cda3c-24d0-4beb-a93d-bf9986617dee

Liên kết Giới thiệu về tôi trên trang trình duyệt

Khi bạn nhấp vào nó, nó sẽ đưa bạn đến trang giới thiệu trống.

247016160-126a5bed-930a-4185-bdb0-22c36720d905

Trang about.html trên trình duyệt trống

Thay vì văn bản, chúng ta có thể sử dụng một yếu tố hình ảnh.

Tôi sẽ xóa About Me:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">
        
        </a>
    </body>
</html>
247016408-217e7ab5-762f-4844-8a52-2653bef4d7a8

Đã xóa văn bản Giới thiệu về tôi trong các thẻ neo trên Mã VS

và thêm một yếu tố hình ảnh thay thế:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">
            <img src="" alt="">
        </a>
    </body>
</html>
247017401-ddded215-7b95-441f-8115-61f0dc41f9a7

Đã thêm phần tử hình ảnh bên trong thẻ neo trong Mã VS

Một lần nữa, ở đây chúng ta có thể nhập một URL tương đối cho hình ảnh mục tiêu của mình.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">
            <img src="Images/altumcode.jpg" alt="">
        </a>
    </body>
</html>
247017829-86fee8e8-9a92-4f24-9db7-2d2019bdb8f0

Một URL tương đối với hình ảnh mục tiêu của chúng tôi trên Mã VS

Đây là giao diện của nó:

247018038-07066356-27e3-4350-b605-11ca2b460725

Hình ảnh trên trang trình duyệt

Chà, hình ảnh này quá lớn. Chúng tôi luôn có thể sử dụng CSS để thay đổi kích thước nó. Tuy nhiên, bỏ qua vấn đề đó, chúng ta có biểu tượng con chuột khi di chuột qua hình ảnh này. Nó thay đổi thành một bàn tay để cho biết rằng hình ảnh này có thể nhấp được.

Bây giờ, quay lại mã của chúng tôi. Để đơn giản hóa mọi thứ, tôi sẽ loại bỏ hình ảnh này và quay lại bài viết của chúng ta.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
    </body>
</html>
247018738-55f6aa04-f880-4313-b9cb-aadb183f84b2

Đã xóa hình ảnh và thêm lại văn bản của chúng tôi vào thẻ neo trong Mã VS

Hãy đi đến trang giới thiệu và thêm một liên kết trở lại trang chủ.

Vì vậy, ở đây:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>

    </body>
</html>
247018975-02dca2be-97ba-4fc4-863d-633b98e77174

Bản soạn sẵn HTML trên trang about.html trên Mã VS

Chúng tôi sẽ thêm một yếu tố neo:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <a href=""></a>
    </body>
</html>
247019145-2429203e-6d85-4b0a-bb93-640350a6a83b

Đã thêm thẻ neo vào phần thân trên Mã VS

Chúng ta nên nhập gì cho thuộc tính href? Chà, hiện tại, chúng tôi đang ở trong thư mục công ty. Chúng ta phải lên một cấp để có thể truy cậpindex.html

Để làm điều đó, chúng ta gõ ../With this, we can go one level up.

<a href="../"></a>

Sau đó, chúng tôi có thể tham khảo index.htmlvà đối với văn bản, chúng tôi sẽ nói trang chủ.

<a href="../index.html">Home Page</a>

Một lần nữa, đây là một ví dụ khác về URL tương đối, bởi vì nó bắt đầu từ trang hiện tại và đi đến một nơi khác.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <a href="../index.html">Home Page</a>
    </body>
</html>
247019343-8358842d-17d5-4a6f-941a-4985573cdae8

Đã thêm một URL tương đối trong thẻ liên kết trỏ đến trang index.html

Nếu bạn đang ở trong cấu trúc thư mục được lồng sâu, chúng tôi có thể phải tăng nhiều cấp độ. Vì thế,

<a href="../../../index.html">Home Page</a>

Với điều này, chúng ta có thể tăng ba cấp độ.

Như bạn có thể thấy, các URL như thế này trông rất lộn xộn. Họ trông khó đọc. Trong những trường hợp đó, chúng tôi có thể sử dụng một URL tuyệt đối.

Vì vậy, chúng tôi bắt đầu với một /và điều này đại diện cho thư mục gốc của trang web của chúng tôi.

<a href="/"></a>

Ở cấp độ này, chúng tôi có quyền truy cập vào index.html.

<a href="/index.html"></a>

Vì vậy, đây là một URL tuyệt đối.

Bây giờ, quay lại index.html:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
    </body>
</html>
247019644-19574960-4c7e-4c8a-b120-181ef20e83dc

Thẻ neo trong index.html trỏ đến trang about.html trên Mã VS

Ở đây chúng tôi đang liên kết đến một tài liệu HTML. Nhưng chúng ta cũng có thể liên kết đến các tài liệu không phải HTML như hình ảnh, PDF, PowerPoint, v.v.

Vì vậy, hãy thêm một liên kết đến hình ảnh của tôi.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
    </body>
</html>
247019950-24cce8f9-9f39-4a35-bb5d-102b65cfc1e4

Đã thêm một liên kết đến hình ảnh của tôi trên Mã VS

Hãy xem.

247448170-8badce99-a958-4bac-b43b-afa526042512

Các liên kết trên trang trình duyệt

Vì vậy, đây là liên kết thứ hai của chúng tôi. Chúng ta có thể nhấp vào nó.

247448334-50f1d512-d0b5-4376-ad9e-1c596f8217ab

Nhấp vào liên kết, Ảnh máy tính của tôi, sẽ đưa chúng ta đến một trang mới có ảnh trên trình duyệt

Hình ảnh của tôi được hiển thị trong trình duyệt.

Nhưng, nếu tôi muốn nhắc người dùng tải xuống thì sao? Điều đó rất dễ dàng. Chúng tôi sẽ thêm thuộc tính tải xuống vào phần tử neo của chúng tôi.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg" download>My Computer Photo</a>
    </body>
</html>
247448595-6a29c799-82ee-4a37-94d8-ec0c8ffd9da3

Đã thêm thuộc tính tải xuống trong thẻ neo của hình ảnh của chúng tôi trên Mã VS

Nhớ lưu lại nhé.

Bây giờ, trở lại trình duyệt. Chúng tôi quay lại và làm mới trang. (Chúng tôi phải làm mới trang theo cách thủ công vì máy chủ trực tiếp chỉ làm mới trang hiện tại).

247448760-96a40691-d27f-4539-bb07-49022aeb0881

Trang trình duyệt với các liên kết của chúng tôi

Bây giờ khi tôi nhấp vào liên kết này, thay vì nhìn thấy hình ảnh của mình, tôi sẽ thấy hình ảnh của mình được tải xuống.

247448968-c1564676-149a-4185-9eea-4be2bac26f5f

Hình ảnh tải về trên trình duyệt

Chúng tôi cũng có thể liên kết đến các phần khác của trang này.

Vì vậy, hãy tạo hai phần với nhiều văn bản. Tôi sẽ thêm một yếu tố H2 HTML:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <h2>HTML</h2>
    </body>
</html>
247449199-0ccab77f-7b23-4fda-8290-02bff410f243

Đã thêm phần tử tiêu đề hai với văn bản HTML trên Mã VS

Dưới đây, chúng tôi sẽ thêm một số văn bản giả với 200 từ.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <h2>HTML</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
    </body>
</html>
247449582-83f9cf0e-fdd4-4f5e-9acc-cb0966d6e544

Đã thêm phần tử đoạn văn với một số văn bản giả trên Mã VS

Ngay sau đó, chúng ta sẽ thêm một H2 khác cho phần CSS với một số văn bản khác.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <h2>HTML</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <h2>CSS</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
    </body>
</html>
247449898-228062f2-181c-48a3-8e80-a2bb9ec8a3f1

Đã thêm tiêu đề CSS và đoạn văn với một số văn bản giả trên Mã VS

Hãy lưu các thay đổi.

Hãy xem.

247450657-2dcf1106-72c3-4e4b-9043-863b908558a6

Trang trình duyệt có văn bản giả

Ở trên cùng, chúng ta có thể thêm một liên kết đến phần CSS để chúng ta không phải cuộn. Khi người dùng nhấp vào đó, họ sẽ ngay lập tức chuyển đến phần CSS.

Vì vậy, ở đây trong phần CSS, đầu tiên chúng ta sẽ cung cấp cho phần tử này một mã định danh duy nhất. Giống như mọi người trong thế giới thực có thể có một mã định danh duy nhất như bằng lái xe hoặc hộ chiếu, mọi thành phần trên trang cũng có thể có một mã định danh duy nhất.

Ở đây, tôi sẽ đặt thuộc tính id thànhsection-css

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <h2>HTML</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <h2 id="section-css">CSS</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
    </body>
</html>
247451183-ea3e9980-b901-4ad0-bda3-c401498fda55

Đặt thuộc tính id thành section-css trong Mã VS

Tên không thực sự quan trọng ở đây. Điều quan trọng là chúng tôi đang xác định cái mà chúng tôi gọi là một đoạn hoặc một vị trí trên trang này. Bây giờ, chúng ta sẽ thêm một liên kết đến đoạn này. Vì vậy, trên cùng:

<a href="#section-css">CSS</a>

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <a href="#section-css">CSS</a>
        <h2>HTML</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <h2 id="section-css">CSS</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
    </body>
</html>
247457369-6f3e9761-0387-4e36-9bdf-cf05be7847a1

Đã thêm một liên kết đến Phần CSS trên Mã VS

Bây giờ, trở lại trình duyệt.

247457593-3bca5acf-5732-460b-a8d6-ccd3007fa06c

Liên kết CSS trên trang trình duyệt

Khi tôi nhấp vào liên kết CSS, nó sẽ đưa tôi đến phần CSS mà không cần cuộn.

247457906-b813e4d1-52cb-4c9b-b9ec-8bf72261e68d

Phần CSS trên trang trình duyệt

Bây giờ, rất nhiều trang web như thế này có một liên kết giúp bạn nhảy lên đầu trang. Hãy xem làm thế nào chúng ta có thể tạo ra điều đó.

Sau phần CSS, tôi sẽ thêm một phần tử neo khác.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <a href="#section-css">CSS</a>
        <h2>HTML</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <h2 id="section-css">CSS</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <a href="#"></a>
    </body>
</html>
247830766-af2b4754-6c1f-4648-9d5e-85d0eecfc9d8

Một phần tử neo trống trên Mã VS

Đối với hreftôi sẽ sử dụng một đoạn trống. Vì vậy, chúng tôi chỉ cần gõ một dấu thăng mà không cần định danh.

<a href="#">Jump to Top</a>

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <a href="#section-css">CSS</a>
        <h2>HTML</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <h2 id="section-css">CSS</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <a href="#">Jump to Top</a>
    </body>
</html>
247831039-d942f629-cd3a-4722-8ab6-0af296c4319c

Đã thêm văn bản Nhảy lên đầu trên phần tử neo trên Mã VS

Hãy xem qua.

247831363-36b8aa11-5370-4a56-8ab8-ca919e68fb3e

Liên kết Jump to Top trên trang trình duyệt

Đây là liên kết của chúng tôi. Khi bạn nhấp vào nó, nó sẽ đưa bạn lên trên cùng.

Bây giờ, hãy xem cách chúng tôi có thể liên kết với các trang web bên ngoài.

Vì vậy, hãy thêm một yếu tố neo khác để liên kết với Google.

Ở đây, chúng tôi phải sử dụng một URL tuyệt đối vì Google là một trang web bên ngoài. Chúng tôi đang đi đến một trang web khác. Vì vậy, làm thế nào chúng ta có thể làm điều đó? Chà, chúng ta phải bắt đầu với một giao thức.

<a href="https://google.com">Google</a>

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <a href="#section-css">CSS</a>
        <a href="https://google.com">Google</a>
        <h2>HTML</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <h2 id="section-css">CSS</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <a href="#">Jump to Top</a>
    </body>
</html>
247831739-57ddcb41-ae17-4a21-a8fb-dd7ef7794d33--1-

Một liên kết đến trang chủ Google trên VS Code

Hãy xem qua.

247832007-2258060e-4a88-428a-8a62-82a4559f84a6--1-

Liên kết Google trên trang trình duyệt

Khi chúng tôi nhấp vào liên kết Google, nó sẽ đưa chúng tôi đến Google.

247832226-29df228a-dc9c-4d23-bdbc-2514a5215b5b

Trang chủ Google

Bây giờ, đôi khi khi liên kết đến các trang web bên ngoài, chúng tôi muốn liên kết đó mở trong một tab mới. Hãy để tôi chỉ cho bạn cách làm điều đó.

<a href="https://google.com" target="_blank">Google</a>

Đây là giao diện của nó trên Mã VS.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <a href="company/about.html">About Me</a>
        <a href="Images/altumcode.jpg">My Computer Photo</a>
        <a href="#section-css">CSS</a>
        <a href="https://google.com" target="_blank">Google</a>
        <h2>HTML</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <h2 id="section-css">CSS</h2>
        <p>Lorem, ipsum, sit amet consetieu millpiscing ellit, Qiaus nesciant dietns quisquet ael, doule, eit maigures</p>
        <a href="#">Jump to Top</a>
    </body>
</html>
247832414-8b2d93b6-4a81-49b5-992c-14ff64e3942b

Đã thêm mục tiêu trống vào thẻ neo của Google trên Mã VS

Bây giờ, trở lại trang chủ.

247832655-6975924f-0d5d-4f6c-a6e7-072b7dec16cc

Trang index.html trên trình duyệt

Một lần nữa, chúng tôi phải làm mới thủ công để nhận những thay đổi mới nhất.

Bây giờ, khi tôi nhấp vào Google, chúng tôi thấy một tab mới.

247832902-64126b7b-2894-4968-b869-ef4c451d5438

Một tab trình duyệt mới khi tôi nhấp vào liên kết Google

Đây là tất cả về các liên kết.

Bây giờ, một điểm khác biệt chính trước khi chúng ta kết thúc bài học này. Sự khác biệt giữa một liên kết và một siêu liên kết là gì?

Chà, một liên kết chỉ là một địa chỉ, một URL, một vị trí của trang đích.

Siêu liên kết là thành phần mà người dùng có thể nhấp vào để điều hướng đến trang mục tiêu đó. Đó là sự khác biệt giữa một liên kết và một siêu liên kết. Tuy nhiên, khá thường xuyên, thuật ngữ này được sử dụng thay thế cho nhau.

Được rồi, chúng ta đã hoàn thành bài học này. Điều tiếp theo chúng ta sẽ nói về là hình ảnh.

Cách nhúng hình ảnh

Bây giờ, hãy nói về việc nhúng hình ảnh chi tiết hơn một chút.

Đối với bài học này, tôi sẽ lấy một hình ảnh từ unsplash.comđó chúng ta có thể tìm thấy rất nhiều hình ảnh đẹp và có sẵn miễn phí.

248164979-23649c0e-c756-4ccf-9a55-81fbd3fd9566

Trang chủ Unsplash

Vì vậy, chúng ta hãy tìm kiếm cà phê.

248165201-665fed49-0785-4765-afe7-9d44b9e26ca7

Tìm kiếm từ cà phê trên thanh tìm kiếm Bapt

Có rất nhiều hình ảnh cà phê ở đây. Tôi sẽ lấy một cái.

248165489-17317d45-0813-42d6-8c32-ee6201aec4a8

Tải xuống hình ảnh cà phê từ Bapt

Bạn có thể tải về miễn phí.

Hình ảnh có nhiều kích cỡ khác nhau. Kích thước nhỏ, trung bình và ban đầu, lớn.

248165624-734d8f45-ff40-4dbc-a707-d2e55d1e997c

Các kích thước khác nhau của hình ảnh đi kèm trong

Hiện tại, chúng tôi sẽ lấy hình ảnh này ở kích thước nhỏ.

Bây giờ, hãy tải nó xuống.

Tôi sẽ kéo và thả nó vào thư mục hình ảnh.

248166314-63892790-2c8b-4839-b25c-6774b65806e3

Kéo và thả hình ảnh vào thư mục hình ảnh trên Mã VS

Và sau đó đổi tên nó thành cà phê.

248166543-b7f78c9d-9015-4967-985f-60c145eb23d1

Đổi tên ảnh thành coffee trên VS Code

Bạn muốn đặt cho nó một cái tên mô tả. Đây là một mẹo tối ưu hóa công cụ tìm kiếm. Khi chúng tôi cung cấp tên mô tả cho hình ảnh của mình, các công cụ tìm kiếm có thể hiểu rõ hơn và lập chỉ mục các trang của chúng tôi.

Bây giờ, hãy thêm một yếu tố hình ảnh.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <img src="" alt="">
    </body>
</html>
248166798-4cfb7ef2-93f5-4794-9729-ffe2a25a6cea

Đã thêm phần tử hình ảnh trống trong index.html trên Mã VS

Chúng tôi đặt nguồn thành:

<img src="Images/coffee.jpg" alt="">

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <img src="Images/coffee.jpg" alt="">
    </body>
</html>
248166994-a23accc0-6ebc-4b73-875e-01d77652f900

Đã thêm nguồn hình ảnh

Bây giờ, còn thuộc tính thì sao alt? Chà, tôi đã đề cập ngắn gọn rằng chúng tôi sử dụng thuộc tính này để cung cấp mô tả bằng văn bản của hình ảnh. Nó không bắt buộc nhưng nó rất được khuyến khích vì một số lý do.

Lý do đầu tiên là làm cho trang của chúng tôi có thể truy cập được đối với những người khiếm thị. Một số người cần sử dụng trình đọc màn hình để đọc trang web cho họ xem. Vì vậy, với văn bản thay thế này, chúng tôi có thể cho họ biết những gì chúng tôi đang hiển thị trên trang.

Điều đó có nghĩa là, chúng ta nên viết một mô tả có ý nghĩa tốt nhưA coffee mug on a table

<img src="images/coffee.jpg" alt="A coffee mug on a table">

Đừng viết một cái gì đó như Imagehoặc Image one. Điều đó là vô nghĩa.

Bây giờ, lợi ích thứ hai của việc cung cấp một văn bản thay thế là nó giúp các công cụ tìm kiếm đọc văn bản này và hiểu những gì chúng tôi đang cung cấp ở đây.

Một lợi ích khác là nếu hình ảnh này không tải được vì lý do nào đó, văn bản thay thế sẽ được hiển thị.

Hãy để tôi chỉ cho bạn những gì tôi có ý nghĩa.

Bây giờ tôi sẽ thêm một lỗi đánh máy ở đây.

<img src="fdImages/coffee.jpg" alt="A coffee mug on a table">

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <img src="fdImages/coffee.jpg" alt="A coffee mug on a table">
    </body>
</html>
248167495-66e5229c-cb95-4bfe-ba66-25e2d0e2f2d9

Phần tử hình ảnh có lỗi đánh máy trong nguồn

Quay lại trình duyệt.

248167705-e4720f9b-f8c8-4019-bb6d-e13334946f72

Trang trình duyệt không hiển thị hình ảnh. Tuy nhiên, nó hiển thị văn bản thay thế

Hãy nhìn xem, hình ảnh không được tải, nhưng chúng tôi thấy văn bản thay thế. Điều này cũng có thể xảy ra nếu có sự cố kết nối mạng. Nếu người dùng bị ngắt kết nối, họ vẫn có thể xem văn bản thay thế.

Vì vậy, hãy loại bỏ lỗi đánh máy.

<img src="images/coffee.jpg" alt="A coffee mug on a table">

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
    </head>
    <body>
        <img src="Images/coffee.jpg" alt="A coffee mug on a table">
    </body>
</html>
248167907-663650d3-4b72-4ddb-a981-2293e283d97c

Đã xóa lỗi đánh máy khỏi nguồn hình ảnh

Bây giờ, hãy nói về việc thay đổi kích thước hình ảnh.

Như tôi đã nói với bạn trước đây, chúng ta có thể sử dụng CSS để thay đổi kích thước hình ảnh của mình.

Ở đây trong phần đầu, hãy thêm một thành phần kiểu dáng và áp dụng một quy tắc cho hình ảnh của chúng ta.

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
        <style>
            img {
            
            }
        </style>
    </head>
    <body>
        <img src="Images/coffee.jpg" alt="A coffee mug on a table">
    </body>
</html>
248671867-fe3c7ece-c20d-49c9-b833-7d6f92ce2770

Thẻ kiểu có quy tắc img trống trên Mã VS

Bây giờ, quy tắc này được áp dụng cho tất cả các hình ảnh trên trang. Đây có lẽ không phải là điều chúng tôi muốn làm trong một kịch bản trong thế giới thực.

Trong một kịch bản trong thế giới thực, bạn muốn áp dụng một lớp cho phần tử này, sau đó xác định các quy tắc cho lớp đó.

Hãy cung cấp cho hình ảnh này một số phong cách.

<style>
    img {
        width: 200px;
        height: 200px;
    }
</style>

Đây là giao diện của Mã VS:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE-edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <meta name="keywords" content="HTML, CSS" />
        <meta name="description" content="This is a simple HTML and CSS project" />
        <title>Document</title>
        <style>
            img {
                width: 200px;
                height: 200px;
            }
        </style>
    </head>
    <body>
        <img src="Images/coffee.jpg" alt="A coffee mug on a table">
    </body>
</html>
248672263-8a613a07-1c70-416d-9263-ff78b2e223b2

Quy tắc hình ảnh với kiểu dáng chiều rộng và chiều cao trên Mã VS

Bây giờ, có một vấn đề nhỏ trong hình ảnh của chúng ta: nó hơi bị bẹp. Lý do là chúng tôi đang xử lý một hình ảnh hình chữ nhật, nhưng chúng tôi đang chuyển đổi nó thành một hình ảnh vuông.

Vì vậy, làm thế nào chúng ta có thể giải quyết vấn đề này? Chà, chúng tôi có một thuộc tính trong CSS được gọi là Object Fit. Nó trông như thế này:

<style>
    img {
        width: 200px;
        height: 200px;
        object-fit: cover;
    }
</style>

Chúng ta có thể sử dụng coverđể đối tượng bao phủ hộp chứa nó.

Hộp đựng là gì? Về mặt khái niệm, có một hộp xung quanh mọi tài liệu HTML. Chúng tôi không nhìn thấy hộp này, nhưng trình duyệt sử dụng hộp đó để tìm ra cách hiển thị trang đó.

Phần kết luận

Tôi hy vọng bạn đã học được một vài điều về HTML và CSS. Hẹn sớm gặp lại! 

Chúc mừng mã hóa!

Nguồn: https://www.freecodecamp.org

#html #css 

1.05 GEEK