Không thể lấy ứng dụng css css

Chúng ta đã học những kiến ​​thức cơ bản về CSS, nó dùng để làm gì và cách viết các biểu định kiểu đơn giản. Trong bài học này, chúng ta sẽ xem cách một trình duyệt lấy CSS và HTML và biến nó thành một trang web.

điều kiện tiên quyết. Biết sử dụng máy tính cơ bản, cài đặt phần mềm cơ bản, kiến ​​thức cơ bản về làm việc với tệp và kiến ​​thức cơ bản về HTML (nghiên cứu Giới thiệu về HTML. )Khách quan. Để hiểu những điều cơ bản về cách CSS và HTML được trình duyệt phân tích cú pháp và điều gì sẽ xảy ra khi trình duyệt gặp CSS mà trình duyệt không hiểu

Khi một trình duyệt hiển thị một tài liệu, nó phải kết hợp nội dung của tài liệu với thông tin về phong cách của nó. Nó xử lý tài liệu theo một số giai đoạn mà chúng tôi đã liệt kê bên dưới. Hãy nhớ rằng đây là phiên bản rất đơn giản của những gì xảy ra khi trình duyệt tải trang web và các trình duyệt khác nhau sẽ xử lý quy trình theo những cách khác nhau. Nhưng đây là đại khái những gì xảy ra

  1. Trình duyệt tải HTML (e. g. nhận nó từ mạng)
  2. Nó chuyển đổi HTML thành DOM (Mô hình đối tượng tài liệu). DOM đại diện cho tài liệu trong bộ nhớ của máy tính. DOM được giải thích chi tiết hơn trong phần tiếp theo
  3. Sau đó, trình duyệt sẽ tìm nạp hầu hết các tài nguyên được liên kết bởi tài liệu HTML, chẳng hạn như hình ảnh, video được nhúng và thậm chí cả CSS được liên kết. JavaScript được xử lý muộn hơn một chút trong quy trình và chúng tôi sẽ không nói về nó ở đây để mọi thứ đơn giản hơn
  4. Trình duyệt phân tích cú pháp CSS đã tìm nạp và sắp xếp các quy tắc khác nhau theo loại bộ chọn của chúng thành các "nhóm" khác nhau, ví dụ:. g. phần tử, lớp, ID, v.v. Dựa trên các bộ chọn mà nó tìm thấy, nó tìm ra quy tắc nào sẽ được áp dụng cho các nút nào trong DOM và gắn kiểu cho chúng theo yêu cầu (bước trung gian này được gọi là cây kết xuất)
  5. Cây kết xuất được đặt trong cấu trúc mà nó sẽ xuất hiện sau khi áp dụng các quy tắc cho nó
  6. Hiển thị trực quan của trang được hiển thị trên màn hình (công đoạn này được gọi là vẽ tranh)

Sơ đồ sau đây cũng cung cấp một cái nhìn đơn giản về quy trình

DOM có cấu trúc dạng cây. Mỗi phần tử, thuộc tính và đoạn văn bản trong ngôn ngữ đánh dấu sẽ trở thành một nút DOM trong cấu trúc cây. Các nút được xác định bởi mối quan hệ của chúng với các nút DOM khác. Một số phần tử là cha của các nút con và các nút con có anh chị em

Hiểu về DOM giúp bạn thiết kế, gỡ lỗi và duy trì CSS của mình vì DOM là nơi CSS của bạn và nội dung của tài liệu gặp nhau. Khi bắt đầu làm việc với DevTools của trình duyệt, bạn sẽ điều hướng DOM khi chọn các mục để xem quy tắc nào áp dụng

Thay vì giải thích dài dòng và nhàm chán, hãy xem một ví dụ để xem cách một đoạn mã HTML thực sự được chuyển đổi thành DOM

Lấy mã HTML sau

<p>
  Let's use:
  <span>Cascadingspan>
  <span>Stylespan>
  <span>Sheetsspan>
p>

Trong DOM, nút tương ứng với phần tử

của chúng tôi là nút gốc. Con của nó là một nút văn bản và ba nút tương ứng với các phần tử của chúng tôi. Các nút

P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN
    └─ "Sheets"
0 cũng là cha mẹ, với các nút văn bản là con của chúng

P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN
    └─ "Sheets"

Đây là cách trình duyệt diễn giải đoạn mã HTML trước đó — nó hiển thị cây DOM ở trên và sau đó xuất nó trong trình duyệt như vậy

p {
  margin: 0;
}

Giả sử chúng ta thêm một số CSS vào tài liệu của mình để tạo kiểu cho nó. Một lần nữa, HTML như sau

<p>
  Let's use:
  <span>Cascadingspan>
  <span>Stylespan>
  <span>Sheetsspan>
p>

Giả sử chúng ta áp dụng CSS sau cho nó

span {
  border: 1px solid black;
  background-color: lime;
}

Trình duyệt phân tích cú pháp HTML và tạo một DOM từ nó. Tiếp theo, nó phân tích cú pháp CSS. Vì quy tắc duy nhất có sẵn trong CSS có bộ chọn

P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN
    └─ "Sheets"
1 nên trình duyệt sắp xếp CSS rất nhanh. Nó áp dụng quy tắc đó cho từng một trong ba , sau đó vẽ biểu diễn trực quan cuối cùng lên màn hình

Đầu ra được cập nhật như sau

Trong bài viết Gỡ lỗi CSS của chúng tôi trong mô-đun tiếp theo, chúng ta sẽ sử dụng DevTools của trình duyệt để gỡ lỗi các sự cố CSS và sẽ tìm hiểu thêm về cách trình duyệt diễn giải CSS

Đã đề cập rằng các trình duyệt không nhất thiết phải triển khai các tính năng CSS mới cùng một lúc. Ngoài ra, nhiều người không sử dụng phiên bản trình duyệt mới nhất. Cho rằng CSS luôn được phát triển và do đó đi trước những gì trình duyệt có thể nhận ra, bạn có thể tự hỏi điều gì sẽ xảy ra nếu trình duyệt gặp một bộ chọn hoặc khai báo CSS mà trình duyệt không nhận ra

Câu trả lời là nó không làm gì cả, và chỉ chuyển sang đoạn CSS tiếp theo

Nếu một trình duyệt đang phân tích quy tắc của bạn và gặp một thuộc tính hoặc giá trị mà nó không hiểu, nó sẽ bỏ qua nó và chuyển sang khai báo tiếp theo. Nó sẽ thực hiện việc này nếu bạn mắc lỗi và viết sai chính tả thuộc tính hoặc giá trị hoặc nếu thuộc tính hoặc giá trị quá mới và trình duyệt chưa hỗ trợ

Tương tự, nếu một trình duyệt gặp một bộ chọn mà nó không hiểu, nó sẽ bỏ qua toàn bộ quy tắc và chuyển sang quy tắc tiếp theo

Trong ví dụ bên dưới, tôi đã sử dụng cách viết tiếng Anh của người Anh cho màu sắc, điều này làm cho thuộc tính đó không hợp lệ vì nó không được nhận dạng. Vì vậy, đoạn văn của tôi đã không được tô màu xanh. Tuy nhiên, tất cả các CSS khác đã được áp dụng;

<p>I want this text to be large, bold and blue.p>

________số 8_______

Hành vi này rất hữu ích. Điều đó có nghĩa là bạn có thể sử dụng CSS mới như một cải tiến, biết rằng sẽ không có lỗi xảy ra nếu không hiểu nó — trình duyệt sẽ nhận được tính năng mới hoặc không. Điều này cho phép tạo kiểu dự phòng cơ bản

Điều này đặc biệt hiệu quả khi bạn muốn sử dụng một giá trị khá mới và không được hỗ trợ ở mọi nơi. Ví dụ: một số trình duyệt cũ hơn không hỗ trợ giá trị

P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN
    └─ "Sheets"
3. Tôi có thể cung cấp chiều rộng dự phòng cho một hộp bằng pixel, sau đó tiếp tục cung cấp chiều rộng với giá trị
P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN
    └─ "Sheets"
3 là
P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN
    └─ "Sheets"
5. Các trình duyệt cũ sẽ sử dụng phiên bản pixel, bỏ qua dòng khoảng
P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN
    └─ "Sheets"
3 vì họ không hiểu nó. Các trình duyệt mới sẽ giải thích dòng này bằng cách sử dụng pixel, nhưng sau đó sẽ ghi đè dòng đó bằng dòng sử dụng
P
├─ "Let's use:"
├─ SPAN
|  └─ "Cascading"
├─ SPAN
|  └─ "Style"
└─ SPAN
    └─ "Sheets"
3 vì dòng đó xuất hiện sau trong tầng

.box {
  width: 500px;
  width: calc(100% - 50px);
}

Chúng ta sẽ xem xét nhiều cách khác để hỗ trợ các trình duyệt khác nhau trong các bài học sau

Bạn gần như đã hoàn thành mô-đun này — chúng ta chỉ còn một việc nữa phải làm. Trong bài đánh giá Tạo kiểu trang tiểu sử, bạn sẽ sử dụng kiến ​​thức mới của mình để tạo kiểu lại một ví dụ, thử nghiệm một số CSS trong quá trình này

Tại sao ứng dụng CSS không hoạt động trong phản ứng?

Lỗi này được tạo ra bởi vì trình biên dịch chỉ có thể nhập tệp từ thư mục src . Ở đây file CSS được lưu ngoài thư mục src nên trình biên dịch không import được. Để mã này hoạt động, bạn chỉ cần lưu tệp CSS bên trong thư mục src.

Tại sao CSS không tải?

Vấn đề có thể là do trình duyệt của bạn đang lưu tệp CSS vào bộ đệm ẩn . Nếu bạn đang gỡ lỗi bằng Edge, bạn có thể mở công cụ F12 và nhấp vào tab Mạng. Ở trên cùng, bạn sẽ tìm thấy nút "luôn làm mới từ máy chủ. " Hãy bật tính năng này và các tệp sẽ không được lưu vào bộ nhớ cache.

Tại sao CSS của tôi không hiển thị trong HTML của tôi?

Bộ nhớ cache của trình duyệt . Giải pháp có thể là xóa bộ đệm đối tượng WordPress, nơi lưu trữ kết xuất bộ nhớ đệm trang (Batcache) của chúng tôi. the page is likely being cached. The solution may be to purge the WordPress object cache, which stores our page caching (Batcache) renders.

Tại sao CSS không hoạt động trong Chrome?

Thử một mạng khác . Nếu kết nối internet của bạn không tải được tất cả tài nguyên trên trang web, thì CSS có thể không hoạt động trong Chrome hoặc bất kỳ trình duyệt nào khác. Vì vậy, bạn có thể thử sử dụng VPN hoặc một mạng khác để kiểm tra xem mọi thứ có ổn hay không.