- vừa được xem lúc

Tìm về cái "ngược" trong CSS

0 0 20

Người đăng: Hữu Khuyên

Theo Viblo Asia

Em ngược đường, ngược nắng để yêu anh

Ngược phố tan tầm, ngược chiều gió thổi

Ngược lòng mình tìm về nông nổi

Lãng du đi vô định cánh chim trời.

Thời tiết ở Đà Nẵng nay chuyển mình vào ngày lập hạ, đón nhận một cái nắng gay gắt của một mùa hè hứa hẹn đầy sự oi ả. Tầm này người ta chỉ muốn đổ ra biển, đi dạo trên con đường Võ Nguyên Giáp để ngắm nhìn màu biển xanh tận chân trời của Đà Nẵng chứ không mấy hào hứng để ngược đường ngược nắng mà tìm về những nông nổi của tuổi trẻ.

Ở ẩn cũng đã lâu, nay mình có một trick khá hay mà trước giờ mấy anh em làm frontend đều nhức nhối. Thông thường để selector đến một phần tử CSS, chúng ta chỉ có thể selector đến một classs / id cố định và hơn nữa là selector đến những thằng con, thằng em hay thằng bạn kế tiếp sau nó, chứ không thể selector đến ông anh bà chị khó tính được. Nhưng nay đã khác, với một mẹo nhỏ mình sẽ gửi đến anh em cách biết gửi gắm lời quan tâm, yêu thương đến ông anh bà chị của mình.

Thông qua một vài pseudo-class của selector level 4 mới nhất mà CSS đã giới thiệu. Giả sử trong gia đình, ngoại trừ bố mẹ thì có 5 đứa con thứ tự lần lượt là Y sắc, Khánh C, Ni, tôi (Khuyên) và Vĩnh. Thông thường bạn chỉ có thể đứng từ bản thân và chỉ bảo được thằng em nghịch ngợm là Vĩnh chứ không thể nào nói mấy ông anh kia nghe lời được. Chỉ có bố mẹ bạn mới làm được việc đó, nhưng tôi có 1 cách này, thì cho dù là ông Khánh C, chị Ni hay ông Ý cũng phải khiếp sợ mà nghe lời răm rắp.

<div class="anhem"></div> // anh Y sắc
<div class="anhem"></div> // anh ba Khánh C (hay còn gọi là Khánh KC3)
<div class="anhem"></div> // chị bé Ni đã có ny
<div class="khuyen"></div> // đây là tôi
<div class="anhem"></div> // em Vĩnh

Cách thông thường để trị thằng Vĩnh vì tội hay đi chơi thì tôi sẽ bôi cho nó một lớp sơn màu đỏ, thì quá đơn giản, ai cũng biết:

// đứng từ .khuyen là tôi selector đến thằng Vĩnh có class .anhem bên dưới
.khuyen .anhem { background: red;
}

Giờ muốn nói chị Ni - bà chị liền kề trước mình hôm nay phải mặc chiếc váy màu vàng cho xinh xắn:

// Chị bé Ni (vị trí 3)
.anhem:has(+ .khuyen) { background: #ffbc41; border-color: yellow;
}

Còn đây là cách để gọi tới anh Khánh

// anh Khánh C (vị trí 2)
.anhem:has(+ * + .khuyen) { background: #bfedff; border-color: pink;
}

Để gọi cho anh Ý thì làm như sau

// cái này set cho anh Y sắc (vị trí đầu)
.anhem:has(+ * + * + .khuyen) { background: #c4d357; border-color: pink;
}

Mua quà tặng từng người mệt quá, giờ mình muốn làm 1 hành động gì đó mà mấy ông bà đó cũng phải nghe. Như ở trên là một số cách để selector đến từng phần tử kế tiếp trước đó, bây giờ mình sẽ selector đến tất cả các phần tử liền kề trước:

// Nói tất cả các ông anh bà chị của mình hãy trải tấm thảm màu nâu
.anhem:has(~ .khuyen) { border-bottom: 10px solid brown;
}

Giờ thì mình muốn selector đến các phần tử trước đó, trong đó bỏ qua 1 phần tử bất kỳ.

// Nói tất cả mọi người lớn hơn mình, trừ bà chị liền kề hãy xây một bức tường
.anhem:has(~ * + .khuyen) { border-left: 10px solid orange;
}

Demo code nhanh ở đây, mọi người vào copy cho lẹ nè.

Tổng kết

Chắc hẳn đến đây, mọi người cũng đã thấy thủ thuật này rất thú vị rồi phải không. Việc selector phần tử kế trước đã được giải quyết êm đẹp, không còn là nỗi nhức nhối khi muốn selector trong CSS nữa. Hi vọng bài viết sẽ giúp nhiều anh em Frontend và Backend tay ngang ứng dụng được mẹo này trong dự án của mình. Thể hiện được nhiều sự xịn sò chỉ với đôi dòng CSS đơn giản.

Bình luận

Bài viết tương tự

- vừa được xem lúc

2021, chúng ta cần tối ưu hóa việc tải hình ảnh trên web như nào?

Rất chào các bạn,. Như các bạn đã biết, trong kỉ nguyên công nghệ, song song với sự sinh ra dày đặc của các trang web mới cũng là sự biến mất của những trang web "lạc hậu" hay hoạt động kém hiệu quả.

0 0 43

- vừa được xem lúc

[Android] Tips for building a quality app with Firebase

Overview. Trong vài năm qua, kỳ vọng của người dùng về ứng dụng đã ngày càng cao.

0 0 26

- vừa được xem lúc

EXCEL- Đánh số thứ tự tự động

Hướng dẫn đánh SST tự động trong Excel. Bước 1: Tạo một bảng excel tùy ý. . Bước 2: Click vào ô A2 trong excel để nhập công thức.

0 0 20

- vừa được xem lúc

Sau 2 năm rưỡi viết lập trình tôi học được gì?

Ngày càng có nhiều người đến với vùng đất lập trình rộng lớn vì thế tôi muốn dừng lại và ngẫm nghĩ về những gì tôi đã học được khi tôi bước sang năm 3 viết lập trình. Cho dù đó là cho một dự án ở trườ

0 0 27

- vừa được xem lúc

10 điều mà mọi developer nên làm để phát triển sự nghiệp

Kể từ bài viết 12 điều tôi tin rằng các lập trình viên chuyên nghiệp nên làm, vào tháng 8, tôi bắt đầu lưu ý đến các hành vi, kỹ năng và đặc điểm khác ở những người tôi gặp khi làm việc trong các dự á

0 0 20

- vừa được xem lúc

Một vài thủ thuật Frontend cho cuộc sống nhẹ nhàng hơn - Tập 1

Mình là một người sinh ra ở thế hệ 9x đời giữa, may mắn được rong chơi thoả thích khắp mọi ngóc ngách của làng quê, phố thị cùng đám trẻ cùng trang lứa, có lẽ phần lớn thời điểm đó chưa bị ảnh hưởng n

0 0 22