Một bộ gồm những tips để giúp kỹ năng CSS trở nên pro
For other great lists check out @sindresorhus's curated list of awesome lists.
- Dùng CSS Reset
- Thừa kế
box-sizing
- Dùng
unset
thay vì đặt lại tất cả thuộc tính - Dùng
:not()
để Áp dụng / Không áp dụng các đường viền trên Điều hướng - Kiểm tra xem Phông chữ có được cài đặt cục bộ không
- Thêm
line-height
chobody
- Đặt
:focus
cho Form Elements - Mọi thứ ở giữa theo chiều dọc
- Danh sách được phân tách bằng dấu phẩy
- Chọn nhiều items với Negative
nth-child
- Dùng SVG cho Icons
- Sử dụng "Lobotomized Owl" Selector
- Dùng
max-height
cho thanh trượt CSS Sliders - Các ô trong bảng có chiều rộng bằng nhau
- Get Rid of Margin Hacks With Flexbox
- Sử dụng Attribute Selectors với các liên kết trống
- Style "Default" Links
- Consistent Vertical Rhythm
- Intrinsic Ratio Boxes
- Hình ảnh bị vỡ
- Dùng
rem
cho toàn cục; dùngem
cho cục bộ - Ẩn các video tự động phát không bị tắt tiếng
- Dùng
:root
cho Flexible Type - Để
font-size
trong Form Elements để có một trải nghiệm mobile tốt hơn - Dùng Pointer Events để kiểm soát mouse control
- Đặt
display: none
trên ngắt dòng được sử dụng làm khoảng cách
Css resets giúp thực thi tính nhất quán về kiểu dáng trên các trình duyệt khác nhau với một phương tiện chặn rõ ràng cho các yếu tố tạo kiểu.Bạn có thể sử dụng thư viện CSS Reset như Normalize,hoặc bạn có thể sử dụng phương pháp đặt lại đơn giản hơn:
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
Bây giờ các phần tử sẽ bị loại bỏ magins và padding, và box-sizing
cho phép bạn quản lý bố cục bằng CSS box model.
Note: Nếu bạn làm theo Inherit box-sizing
mẹo dưới đây, bạn có thể chọn không bao gồm box-sizing
thuộc tính trong CSS reset của bạn.
box-sizing
được thừa kế từ html
:
html {
box-sizing: border-box;
}
*,
*::before,
*::after {
box-sizing: inherit;
}
Điều này giúp bạn dễ dàng thay đổi box-sizing
hơn trong các plugin hoặc các thành phần khác thúc đẩy hành vi khác.
Khi đặt lại thuộc tính của một phần tử, không cần thiết phải đặt lại từng thuộc tính riêng lẻ:
button {
background: none;
border: none;
color: inherit;
font: inherit;
outline: none;
padding: 0;
}
Bạn có thể chỉ định tất cả các thuộc tính của một phần tử bằng cách sử dụng tất cả các viết tắt. Đặt giá trị thành không đặt sẽ thay đổi thuộc tính của phần tử thành giá trị ban đầu của chúng:
button {
all: unset;
}
Note: all
thì không được hỗ trợ trên IE11 và hiện đang được xem xét hỗ trợ trong Edge. unset
thì cũng vậy.
Thay vì đặt trên border...
/* add border */
.nav li {
border-right: 1px solid #666;
}
...và sau đó lấy nó ra khỏi phần tử cuối cùng...
/* remove border */
.nav li:last-child {
border-right: none;
}
...dùng :not()
pseudo-class để chỉ áp dụng cho các phần tử bạn muốn:
.nav li:not(:last-child) {
border-right: 1px solid #666;
}
Ở đây, CSS selector được đọc như một con người sẽ mô tả nó.