HTML — KHI NÀO NÊN SỬ DỤNG THUỘC TÍNH! QUAN TRỌNG TRONG CSS

Cách rất tốt đề phân tích và lý giải nó là ban đầu với cùng một ví dụ đã làm cho các bạn khó đọc với có thể đang hoạt động không giống như bạn ao ước hóng.Sau kia bọn họ vẫn chăm chú kĩ rộng về phong thái tính quý hiếm sệt hiệu cơ mà selector sẽ tiến hành ưu tiên.

Bạn đang xem: Html — khi nào nên sử dụng thuộc tính! quan trọng trong css

Đây là 1 list đơn giản dễ dàng cùng không tồn tại đồ vật tự:

ul id="summer-drinks"> li>Whiskey & Ginger Aleli> li>Wheat Beerli> li>Mint Julipli>ul>Bây tiếng bạn có nhu cầu hướng đẫn một đồ uống thành yêu quý trong list thức uống của bạn cùng đổi khác nó về style một không nhiều. Bạn đề nghị một hook mang đến vấn đề đó cần các bạn sẽ áp dụng nó thông qua 1 class name mang lại nó.

ul id="summer-drinks"> li class="favorite">Whiskey và Ginger Aleli> li>Wheat Beerli> li>Mint Julipli>ul>Bây giờ đồng hồ bạn hãy mnghỉ ngơi file CSS của người tiêu dùng và styling mang lại class mới:

.favorite color: red; font-weight: bold;Sau kia bạn nhìn xem nó thao tác làm việc cố kỉnh làm sao, tuy thế nó không làm việc! Một chiếc gì đấy đang gây nên vụ việc ở đây.

Đi sâu hơn vào file CSS, các bạn sẽ thấy điều này:

ul#summer-drinks li font-weight: normal; font-size: 12px; color: black;Vấn đề nằm tại ngay lập tức kia. Hai CSS selectors khác nhau vẫn nói mang lại đoạn text kia tất cả color và font-weight gì. Nhưng chỉ tất cả một lệnh mang lại font-kích thước nên ví dụ dòng đó sẽ sở hữu được hiệu lực thực thi. Không bao gồm xung hốt nhiên gì ở chỗ này cả nhưng lại trình thông qua bắt buộc đưa ra quyết định một trong những lệnh kia nhằm vận dụng và hiển thị bọn chúng. Nó có tác dụng bằng phương pháp tuân theo một bộ nguyên tắc tiêu chuẩn chỉnh.

Tôi nghĩ rằng vấn đề đó sẽ gây chút ít khó khăn cho tất cả những người bắt đầu ban đầu bởi vì họ không hoàn toàn nhận thấy vấn đề đó. Họ có lẽ suy nghĩ do class .favorite nằm sâu hơn vào CSS hoặc chính vì nó ngay sát cùng với chữ hơn trong HTML :v đang là người thành công.

Trong thực tế, thứ từ của những selectors vào CSS đã nhập vai trò chính và luật lệ "từ bên trên xuống" sẽ tiến hành áp dụng khi cực hiếm đặc hiệu là như thể nhau. Cho ví dụ:

favorite color: red;.favorite color: black;Ở dây nó sẽ có được màu blachồng... Nhưng chúng ta đã lạc đề :v

Vấn đề làm việc đó là bọn họ ý muốn nó cụ thể nhằm nó gồm ý nghĩa với đa số ví dụ nhưng chúng ta có. ngay khi cùng với ví dụ đơn giản và dễ dàng được trình bày nghỉ ngơi bên trên, Cuối thuộc bạn cũng trở nên thấy chỉ cần thực hiện class name nhằm mục đích tới kim chỉ nam "favorite drink" là không thay đổi hoặc sẽ không còn bình yên trong cả lúc nó chuyển động . Sẽ thông bản thân hơn giả dụ thực hiện điều đó :

ul#summer-drinks li.favorite color: red; font-weight: bold;Đó là các là nhưng mà tôi vẫn điện thoại tư vấn là " ví dụ để nó tất cả ý nghĩa". quý khách hàng thực thụ có thể "nỗ lực thể" rộng Lúc sử dụng thứ hạng dạng như vậy này:

html body toàn thân div#pagewrap ul#summer-drinks li.favorite color: red; font-weight: bold;Nhưng nó đã là code Css của chúng ta cực nhọc phát âm cùng không đem về ích lợi thực tiễn. Một biện pháp không giống để tăng giá trị sệt hiệu mang đến class ".favorite" của doanh nghiệp là sử dụng important!

.favorite color: red !important; font-weight: bold !important;Tôi đã từng có lần nghe nói rằng !important y hệt như một trò lừa về tinh thần trong css. Quả thực là những điều đó, và chúng ta có thể buộc ý chí của chính bản thân mình vượt qua những trở ngại vào css bằng phương pháp thực hiện nó. Nhưng !important áp đặt rằng đã tăng mạng tính quánh hiệu bên trên selector và tự này sẽ quá qua được các style khác.

Xem thêm: Hướng Dẫn Unlock Bootloader Htc M8, Cách Mở Khóa Bootloader Điện Thoại Htc One M8

!important hoàn toàn có thể thuận tiện thực hiện không nên nếu như gọi nhầm. Nó là bí quyết giỏi để giữ lại đến code của doanh nghiệp sạch rộng, trong các ví dụ mà lại các bạn biết những elements với các class selector cụ thể nên sử dụng style đồng hóa bất cứ nó là gì. Ngược lại, tránh việc sử dụng trichồng nhằm ghi đè lên trên style của một element như thế nào đó thế vị tìm ra bí quyết CSS được viết và hoạt đông theo tác giả thuở đầu.

Một ví dụ kinh điển là:

last margin-right: 0 !important;Tôi thường xuyên áp dụng nó trong các trường hợp có khá nhiều khối nối, mang đến kăn năn ở đầu cuối bên bắt buộc vào một row. Điều đó đảm bảo an toàn chắc hẳn rằng kăn năn sau cùng không có bất cứ right margin làm sao điều đó sẽ giúp đỡ nó nằm gần kề nề hà đề nghị đối với bố mẹ nó. Mỗi khối hận rất có thể tất cả các Css selector ví dụ nhằm thêm right margin cho cái đó, tuy thế !important đang phá tan vỡ điều đó với tạo nên class chú ý đơn giản với clear rộng.

Tính cực hiếm quánh hiệu CSS

Tại sao cố gắng thứ nhất của bọn họ để chuyển đổi color cùng font-weight thất bại? Như họ đang học tập, sẽ là cũng chính vì họ dễ dàng chỉ dụng class name có giá trị đặc hiệu rẻ rộng selector không giống. Css áp dụng những trọng số quánh hiệu khác cho id với class. Trong thực tiễn một Id có giá trị cao hơn nhiều! Vì vậy tất yêu một class rất có thể vượt qua được id.

Chúng ta hãy xem cách những số lượng thực thụ được tính toán:

*
Nói biện pháp khác:

Nếu phần tử tất cả inline styling, tự động hóa đó sẽ chiến thắng (1,0,0,0 điểm)Mỗi ID áp dụng (0,1,0,0 điểm)Mỗi class (hoặc pseudo-class hoặc attribute selector) áp dụng (0,0,1,0 điểm)Với mỗi tmê man chiếu thẳng element gồm (0,0,0,1 điểm)

Nói bình thường, bạn có thể phát âm quý hiếm nhỏng những số lượng, như 1,0,0,0 là "1000", Vì nuốm nó cụ thể đang win độ đặc hiệu 0,1,0,0 hoặc "100". Dấu phẩy tại chỗ này thực thụ nhằm cảnh báo chúng ta rằng nó chưa hẳn đích thực là "base 10". Về phương diện kỹ năng các bạn gồm rứa có mức giá trị nlỗi 0,1,13,4 và "13" ko tràn ra nlỗi "base 10".

Tính toán một cách đối chọi giản

*
*
*

Update: :not() sort-of-pseudo-class không thêm cực hiếm đặc hiệu vào thiết yếu nó. Chỉ số đông gì bên phía trong parent là có thêm cực hiếm quánh hiệu.

*
*

Crúc ý quan lại trọngSelector phổ biến (*) không tồn tại cực hiếm đặc hiệu (0,0,0,0)Pseudo-elements (e.g. :first-line) có giá trị (0,0,0,1) ko giống hệt như bạn bè của bọn chúng psuedo-class có giá trị (0,0,1,0)pseudo-class :not() không thêm tính sệt hiệu của chính nó, Chỉ cái gì phía bên trong vết () bắt đầu đạt thêm tính sệt hiệu.Thêm !important vẫn làm nó auto win :v. Nó sẽ ghi đtrần ngay cả inline style. Chỉ buộc phải !important là rất có thể ghi đtrần các sản phẩm công nghệ. !important được knhị báo sau trong CSS với mức giá trị bằng hoặc to hơn. quý khách có thể suy nghĩ nó vẫn thêm (1,0,0,0,0) cho tới cực hiếm sệt hiệu.Nguồn ttê mê khảo

css-tricks