12/08/2018, 13:19

30 CSS selectors cần nhớ (P2)

16. X[foo~="bar"]* /* Css1*/ a[data-info~="external"] { color : red ; } /* Css2*/ a[data-info~="image"] { border : 1px solid black ; } Selector này sử dụng attribute thể select. Ta thấy có điều đặc biệt là nó sử dụng dấu ~. Nó cho phép ta select element theo ...

16. X[foo~="bar"]*

/* Css1*/
a[data-info~="external"] {
  color: red;
}

/* Css2*/
a[data-info~="image"] {
  border: 1px solid black;
}

Selector này sử dụng attribute thể select. Ta thấy có điều đặc biệt là nó sử dụng dấu ~. Nó cho phép ta select element theo attribute được phân cách bởi space(dấu cách).

Ví dụ ta có HTML như sau:

<a href="http://www.google.com" data-info="external" title="Some title">consectetur</a>
<a href="http://d2o0t5hpnwv4c1.cloudfront.net/839_git/preview.jpg" data-info="external image" class="hoverZoomLink">Getting Good with Git</a>

Ta thấy thẻ a thứ 2 có phần attribute data-info="external image". Chú ý external và image có dấu cách(space) ở giữa Quay trở lại đoạn CSS ở trên. Css1 định nghĩa style cho attribute data-info có tên là external Css2 cũng định nghĩa style cho data-info nhưng với tên khác image

Trong thẻ a thứ nhất chỉ tồn tại external nên chi đc áp dụng css1, còn thẻ a thứ 2 có cả exxternal và image nên nó sẽ đc áp dụng cả 2 style trên

Demo

Compatibility:

  • IE 7+
  • Firefox
  • Chrome
  • Safari
  • Opera

17. X:checked

input[type=radio]:checked {
  border: 1px solid black;
}

Đây là 1 class giả - pseudo class nó chỉ áp dụng với tag radio và checkbox. Lý do đơn giản là chỉ có chúng mới có thể tick chọn được thôi (haha)

Demo

Compatibility:

  • IE 9+
  • Firefox
  • Chrome
  • Safari
  • Opera

18. X:after

.clearfix:after {
  content: "";
  display: block;
  clear: both;
  visibility: hidden;
  font-size: 0;
  height: 0;
}

:after - pseudo class. Tương ứng với tên gọi của nó. Nó sẽ append toàn bộ css đã được định nghĩa vào sau X.

[Demo]

Compatibility:

  • IE 8+
  • Firefox
  • Chrome
  • Safari
  • Opera

19. X:hover

div:hover {
  background: #e3e3e3;
}

Selector này thì chắc hẳn đã quá quen thuộc rồi. CSS được định nghĩa trong :hover sẽ có hiệu lực khi ta rê chuột lên element đó.

Ví dụ:

a:hover {
  border-bottom: 1px solid black;
}

=> Mọi thẻ a khi rê chuột vào sẽ có viền đen với kích thước 1px.

Compatibility:

  • IE 6+
  • Firefox
  • Chrome
  • Safari
  • Opera

20. X:not(Y)

div:not(Y) {
  color: blue;
}

Mình gọi nó là selector phủ định             </div>
            
            <div class=

0