Tôi đã gặp vấn đề tương tự một vài năm trước đây và tài trợ cho việc phát triển một plugin để giúp tôi trong công việc. Tôi đã phát hành plugin dưới dạng mã nguồn mở để những người khác cũng có thể hưởng lợi từ nó và bạn có thể lấy nó trên Github: https://github.com/eqcss/eqcss
Có một số cách chúng ta có thể áp dụng các kiểu phản hồi khác nhau dựa trên những gì chúng ta có thể biết về một yếu tố trên trang. Dưới đây là một vài truy vấn phần tử mà plugin EQCSS sẽ cho phép bạn viết bằng CSS:
@element 'div' and (condition) {
$this {
/* Do something to the 'div' that meets the condition */
}
.other {
/* Also apply this CSS to .other when 'div' meets this condition */
}
}
Vì vậy, những điều kiện được hỗ trợ cho các kiểu đáp ứng với EQCSS?
Truy vấn trọng lượng
- chiều rộng tối thiểu trong
px
- chiều rộng tối thiểu trong
%
- chiều rộng tối đa trong
px
- chiều rộng tối đa trong
%
Truy vấn chiều cao
- chiều cao tối thiểu trong
px
- chiều cao tối thiểu trong
%
- chiều cao tối đa trong
px
- chiều cao tối đa trong
%
Truy vấn số
- ký tự tối thiểu
- ký tự tối đa
- dòng tối thiểu
- dòng tối đa
- trẻ em
- trẻ em tối đa
Bộ chọn đặc biệt
Bên trong các truy vấn phần tử EQCSS, bạn cũng có thể sử dụng ba bộ chọn đặc biệt cho phép bạn áp dụng cụ thể hơn các kiểu của mình:
$this
(phần tử phù hợp với truy vấn)
$parent
(phần tử cha của (các) phần tử phù hợp với truy vấn)
$root
(yếu tố gốc của tài liệu, <html>
)
Các truy vấn phần tử cho phép bạn soạn bố cục của mình ra khỏi các mô-đun thiết kế đáp ứng riêng lẻ, mỗi mô-đun có một chút 'tự nhận thức' về cách chúng được hiển thị trên trang.
Với EQCSS, bạn có thể thiết kế một tiện ích để trông đẹp từ rộng 150px cho đến rộng 1000px, sau đó bạn có thể tự tin thả tiện ích đó vào bất kỳ thanh bên nào trong bất kỳ trang nào bằng bất kỳ mẫu nào (trên bất kỳ trang web nào) và