Menu
CoddyTech

Cheat sheet CSS

Cập nhật lần cuối

Selector

Cách chọn những phần tử bạn muốn tạo kiểu.

SelectorKhớp với
*Mọi phần tử
pMọi phần tử <p> (theo thẻ)
.btnCác phần tử có class="btn"
#mainPhần tử có id="main"
div pMọi <p> nằm trong một <div> (con cháu)
div > pChỉ các phần tử con trực tiếp
a:hoverLiên kết đang được rê chuột (pseudo-class)
li:first-child<li> đầu tiên trong phần tử cha
li:nth-child(2n)Mọi <li> ở vị trí chẵn
input[type="text"]Các ô input có thuộc tính đó
p::beforeNội dung được tạo trước <p> (pseudo-element)

Box model

Mỗi phần tử là một hộp: nội dung, padding, viền, margin.

Thuộc tínhTác dụng
width / heightKích thước vùng nội dung
paddingKhoảng trống bên trong viền
border1px solid #333: độ dày, kiểu, màu
marginKhoảng trống bên ngoài viền
box-sizing: border-boxTính cả padding và viền vào width
margin: 0 autoCăn giữa phần tử khối theo chiều ngang
overflow: hiddenCắt bỏ phần nội dung tràn ra ngoài

Kiểu chữ và màu sắc

Thuộc tínhVí dụ
colorcolor: #333: màu chữ
backgroundbackground: #fff hoặc một hình ảnh/gradient
font-familyfont-family: system-ui, sans-serif
font-sizefont-size: 16px (hoặc rem, em)
font-weight400 (thường) … 700 (đậm)
line-height1.5: khoảng cách giữa các dòng
text-alignleft, center, right, justify
text-decorationunderline, none

Flexbox

Bố cục một chiều: theo hàng hoặc theo cột. Đặt display: flex cho phần tử cha.

Thuộc tính (trên container)Tác dụng
display: flexBiến các phần tử con thành flex item
flex-directionrow (mặc định) hoặc column
justify-contentCăn theo trục chính (center, space-between)
align-itemsCăn theo trục phụ (center, stretch)
gapKhoảng cách giữa các item, ví dụ gap: 16px
flex-wrapwrap cho phép item xuống dòng mới
flex: 1 (trên phần tử con)Item giãn ra lấp đầy khoảng trống còn lại

Grid

Bố cục hai chiều. Đặt display: grid cho phần tử cha.

Thuộc tínhTác dụng
display: gridBiến các phần tử con thành grid item
grid-template-columns1fr 1fr 1fr hoặc repeat(3, 1fr)
grid-template-rowsXác định kích thước các hàng
gapKhoảng cách giữa các hàng và cột
grid-column1 / 3: cho một item trải qua nhiều cột
auto-fit / minmaxrepeat(auto-fit, minmax(200px, 1fr)) cho grid responsive
place-items: centerCăn giữa mọi item trong ô của nó

Định vị và hiển thị

Thuộc tính / giá trịTác dụng
position: staticMặc định: nằm trong luồng bình thường
position: relativeDịch chuyển so với vị trí bình thường
position: absoluteĐịnh vị theo phần tử tổ tiên gần nhất đã được định vị
position: fixedCố định theo khung nhìn (viewport)
position: stickyDính lại khi cuộn tới một ngưỡng
top / right / bottom / leftĐộ lệch cho các phần tử đã được định vị
z-indexThứ tự xếp chồng (càng cao càng nằm trên)
display: noneLoại phần tử khỏi bố cục
display: inline-blockNằm cùng dòng nhưng nhận được width/height

Transition và transform

Thuộc tínhVí dụ
transitiontransition: all 0.2s ease
transform: translatetranslate(10px, 0): di chuyển
transform: scalescale(1.1): phóng to, thu nhỏ
transform: rotaterotate(45deg)
opacity0 (vô hình) … 1 (hiện rõ hoàn toàn)
box-shadow0 2px 8px rgba(0,0,0,.15)
border-radius8px: bo tròn góc

Đơn vị và thiết kế responsive

Đơn vị / tính năngÝ nghĩa
pxPixel tuyệt đối
%Tương đối so với phần tử cha
remTương đối so với cỡ chữ gốc
emTương đối so với cỡ chữ hiện tại
vw / vh1% chiều rộng / chiều cao khung nhìn
frMột phần của khoảng trống còn lại (grid)
@media (max-width: 600px) { … }Áp dụng quy tắc khi màn hình nhỏ hơn một breakpoint

Selector, box model, flexbox, grid và những thuộc tính bạn hay quên, gom trong một trang. Cheat sheet CSS này là bảng tra cứu nhanh để tạo kiểu và bố cục trang web, từ cách chọn phần tử đến cách căn giữa chúng.

Mọi thứ ở đây đều là CSS chuẩn, chạy được trên các trình duyệt hiện đại. Sao chép một quy tắc, hoặc thử ngay trong playground HTML, nơi bạn sửa CSS và xem kết quả tức thì. Dùng kèm cheat sheet HTML cho phần markup, hoặc học bố cục từ đầu với khóa học CSS tương tác miễn phí của Coddy.

Câu hỏi thường gặp về cheat sheet CSS

Cheat sheet CSS này có miễn phí không?

Có. Cheat sheet CSS này miễn phí, không cần đăng ký. Lưu trang lại và dùng bất cứ khi nào bạn cần tra một selector, thuộc tính hay mẫu bố cục.

Nên dùng flexbox hay grid?

Dùng flexbox cho bố cục một chiều: một hàng nút, thanh điều hướng, các item trên một hàng hoặc một cột. Dùng grid cho bố cục hai chiều, khi bạn cần kiểm soát cả hàng lẫn cột cùng lúc, như bố cục trang hay bộ sưu tập thẻ. Hai cách này kết hợp rất tốt: một grid gồm nhiều thẻ, mỗi thẻ bên trong lại dùng flexbox, là cách làm rất phổ biến.

Làm sao căn giữa một div bằng CSS?
Cách hiện đại đơn giản nhất là dùng flexbox trên phần tử cha: display: flex; justify-content: center; align-items: center; sẽ căn giữa phần tử con theo cả chiều ngang lẫn chiều dọc. Nếu chỉ cần căn giữa theo chiều ngang một phần tử khối có width cố định, margin: 0 auto vẫn dùng tốt.
Có thể luyện tập CSS online không?

Có. Mở playground HTML để viết HTML và CSS cùng lúc và xem kết quả trực tiếp. Khi muốn học có lộ trình, khóa học CSS tương tác miễn phí của Coddy hướng dẫn bạn từng bước về selector, box model, flexbox và grid.

Cheat sheet này có phù hợp cho người mới bắt đầu không?

Có. Nội dung đi từ selector và box model (phần nền tảng) đến flexbox, grid và transition, nên bạn có thể bắt đầu với các phần đầu rồi dần làm chủ bố cục hiện đại.

Hình minh họa các ngôn ngữ lập trình của Coddy

Học CSS cùng Coddy

Bắt đầu