Professional Documents
Culture Documents
Xóa phần tử
$( selector).remove();
- Trong đó, tham số "eventHandlers" dùng để xác định việc các sự kiện trên phần
tử có được sao chép hay không, nó có thể nhận một trong hai giá trị:
Bootstrap bao gồm những cái cơ bản có sẵn như: typography, forms, buttons,
tables, navigation, modals, image carousels và nhiều thứ khác. Trong bootstrap có
thêm nhiều Component, Javascript hỗ trợ cho việc thiết kế reponsive của bạn dễ
dàng, thuận tiện và nhanh chóng hơn
Dòng (row): là khối lớn nhất. Khi chúng ta tạo một hàng, nó chiếm toàn bộ chiều rộng
của thành phần chứa nó.
Cột (Column): Vị trí các thành phần theo chiều dọc được thể hiện dựa trên các cột. Duy
nhất các cột được đặt trong hàng, đặt nội dung trực tiếp trong hàng sẽ làm vỡ bố cục.
Hệ thống lưới Bootstrap 4 có năm lớp:
o Offsetting Columns
Một câu hỏi tiếp tục được đặt ra khi làm giao diện là bạn muốn một thành
phần nào đó hiển thị cách ra 1 khoảng so với thành phần kia thì sao ?
Nếu xử lý bằng cách khai báo lại giá trị margin cho các col thì sẽ dẫn đến
giao diện sẽ không còn đúng chuẩn nữa. Trong trường hợp này các bạn
nên khai báo thêm class: col-@@-offset-@ trong đó.
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
</div>
<div class="row">
<div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
<div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
</div>
<div class="row">
<div class="col-md-6 offset-md-3">.col-md-6 .offset-md-3</div>
</div>
o Nesting Columns
Nesting Columns là một cách để bạn có thể tạo cấu trúc dạng lưới
phức tạp hơn bằng cách đặt các cột con bên trong các cột cha. Điều
này cho phép bạn tạo ra các bố cục phức tạp hơn và điều chỉnh chi
tiết hơn về việc hiển thị nội dung trên trang web của bạn.
<div class="row">
<div class="col-sm-9">
Level 1: .col-sm-9
<div class="row">
<div class="col-8 col-sm-6">
Level 2: .col-8 .col-sm-6
</div>
<div class="col-4 col-sm-6">
Level 2: .col-4 .col-sm-6
</div>
</div>
</div>
</div>
Lớp Container
Containers thường được sử dụng để bọc nội dung bên trong chúng và có 2 container class:
1/ .container class cung cấp một container với chiều rộng tương thích (responsive fixed width container).
2/ .container-fluid class cung cấp một container có chiều rộng đầy đủ, trải rộng toàn bộ chiều rộng của
khung nhìn (full width container).
1. Grid System:
Bootstrap sử dụng hệ thống lưới để chia trang web thành các cột và hàng. Bằng cách sử dụng các
lớp như col-md-4 hoặc col-lg-6, bạn có thể kiểm soát cách các phần tử sẽ hiển thị trên các kích
thước màn hình cụ thể.
2. Classes Display:
Bootstrap cung cấp các lớp display để ẩn hoặc hiển thị nội dung trên các thiết bị cụ thể. Sử dụng
các lớp như d-none, d-sm-block, d-md-none, và d-lg-flex để kiểm soát hiển thị của các phần tử
trên các kích thước màn hình khác nhau.
3. Breakpoints:
Bootstrap 5 xác định các điểm tạo điểm bẻ (breakpoints) để xác định cách hiển thị nội dung trên
các kích thước màn hình khác nhau. Các breakpoints thường được đặt tên theo kích thước màn
hình, ví dụ: sm, md, lg, xl. Bạn có thể sử dụng CSS media queries và các lớp dựa trên
breakpoints như d-md-block để điều chỉnh thiết kế.
2.2. Bootstrap CSS
Trình bày
o Headings
Chúng ta có thể xác định tất cả các thẻ heading HTML từ h1 đến h6 tương tự như cách xác định
các thẻ này trong tài liệu HTML đơn giản. Trong trường hợp nếu muốn áp dụng các style của
phần tử giống style của heading, chúng ta có thể sử dụng các lớp heading .h1 đến .h6 trên các
phần tử khác nhau.
o Lớp Lead
Để làm nổi bật đoạn văn bản, chúng ta thêm lớp .lead vào đó.
o Danh sách
1.Danh sách không sắp xếp (Unordered List):
Để tạo một danh sách không sắp xếp, bạn có thể sử dụng thẻ <ul> và các thẻ <li>
để liệt kê các mục. Dưới đây là một ví dụ:
<ul>
<li>Mục 1</li>
<li>Mục 2</li>
<li>Mục 3</li>
</ul>
Để tạo một danh sách sắp xếp, bạn có thể sử dụng thẻ <ol> và các thẻ <li>. Ví dụ:
<ol>
<li>Mục 1</li>
<li>Mục 2</li>
<li>Mục 3</li>
</ol>
Bạn có thể tạo danh sách con bên trong danh sách khác bằng cách đặt một danh
sách bên trong thẻ <li> của danh sách cha:
<ul>
<li>Mục 1</li>
<li>Mục 2
<ul>
</li>
<li>Mục 3</li>
</ul>
4. Danh sách theo chiều ngang (Horizontal List): Để tạo danh sách theo chiều
ngang, bạn có thể sử dụng lớp .list-inline. Ví dụ:
<ul class="list-inline">
</ul>
Lớp Code
1. Inline code
Gói các đoạn mã nội tuyến bằng <code>.
2. Code blocks
Sử dụng <pre> cho nhiều dòng mã.Bạn có thể tùy ý thêm lớp .pre-scrollable,
lớp này sẽ đặt chiều cao tối đa là 350px và cung cấp thanh cuộn trục y.
<pre><code><p>Sample text here...</p>
<p>And another line of sample text here...</p>
</code></pre>
Lớp Tables
o Các dạng bảng (Optional Table Classes): Striped, Bordered,
Hover, Condensed
1. Striped rows
Sử dụng.table-striped để thêm sọc ngựa vằn vào bất kỳ hàng nào của bảng
trong <tbody>.
4.Condense table
-.table-condensed là một lớp trong Bootstrap 3 Framework. Nó có th ể
được sử dụng khi chúng ta muốn có một nửa hàng đệm để có thể thu gọn
bảng. Do đó, lớp .table-condensed được sử dụng khi bạn muốn hiển thị
các bảng dày đặc hơn trên các trang web. Nếu chúng ta không sử dụng
lớp .table-condensed trong bảng bootstrap thì khi bạn có một bảng dày
đặc và bạn cố xem nó trên các thiết bị màn hình nhỏ thì chúng ta cần
cuộn theo chiều ngang để xem các cột ẩn trong khi khi lớp .table-
condensed thì đã sử dụng, toàn bộ bảng được cô đọng theo kích thước
màn hình của bạn để bạn có thể xem toàn bộ bảng cùng một lúc
-Từ boostrap 4 table-condenses đã chuyển thành table-sm
<tr class="table-primary">...</tr>
<tr class="table-secondary">...</tr>
<tr class="table-success">...</tr>
<tr class="table-danger">...</tr>
<tr class="table-warning">...</tr>
<tr class="table-info">...</tr>
<tr class="table-light">...</tr>
<tr class="table-dark">...</tr>
<td class="table-primary">...</td>
<td class="table-secondary">...</td>
<td class="table-success">...</td>
<td class="table-danger">...</td>
<td class="table-warning">...</td>
<td class="table-info">...</td>
<td class="table-light">...</td>
<td class="table-dark">...</td>
</tr>
Lớp Form
o Các dạng form (Optional Form Layouts):
Bootstrap cung cấp nhiều bố cục biểu mẫu tùy chọn khác nhau để giúp bạn t ạo
kiểu và cấu trúc biểu mẫu theo yêu cầu thiết kế của bạn. Các bố cục này có thể
được áp dụng bằng cách sử dụng các lớp Bootstrap để đạt được các kiểu và
cách sắp xếp biểu mẫu khác nhau. Dưới đây là một số bố cục biểu mẫu tùy
chọn trong Bootstrap:
1. Form grid
- Các biểu mẫu phức tạp hơn có thể được xây dựng bằng cách sử dụng các lớp grid.
Sử dụng các tùy chọn này cho bố cục biểu mẫu yêu cầu nhiều cột, độ rộng khác nhau
và các tùy chọn căn chỉnh bổ sung.
<div class="row">
<div class="col">
<input type="text" class="form-control" placeholder="First name" aria-label="First name">
</div>
<div class="col">
<input type="text" class="form-control" placeholder="Last name" aria-label="Last name">
</div>
</div>
2. Horizontal Form Layout
Ở dạng nằm ngang, nhãn và điều khiển biểu mẫu được đặt cạnh nhau theo chiều ngang.
<form>
<div class="row mb-3">
<label for="inputEmail3" class="col-sm-2 col-form-label">Email</label>
<div class="col-sm-10">
<input type="email" class="form-control" id="inputEmail3">
</div>
</div>
<div class="row mb-3">
<label for="inputPassword3" class="col-sm-2 col-form-label">Password</label>
<div class="col-sm-10">
<input type="password" class="form-control" id="inputPassword3">
</div>
</div>
<fieldset class="row mb-3">
<legend class="col-form-label col-sm-2 pt-0">Radios</legend>
<div class="col-sm-10">
<div class="form-check">
<input class="form-check-input" type="radio" name="gridRadios" id="gridRadios1" value="option1"
checked>
<label class="form-check-label" for="gridRadios1">
First radio
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="gridRadios" id="gridRadios2" value="option2">
<label class="form-check-label" for="gridRadios2">
Second radio
</label>
</div>
<div class="form-check disabled">
<input class="form-check-input" type="radio" name="gridRadios" id="gridRadios3" value="option3"
disabled>
<label class="form-check-label" for="gridRadios3">
Third disabled radio
</label>
</div>
</div>
</fieldset>
<div class="row mb-3">
<div class="col-sm-10 offset-sm-2">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck1">
<label class="form-check-label" for="gridCheck1">
Example checkbox
</label>
</div>
</div>
</div>
<button type="submit" class="btn btn-primary">Sign in</button>
</form>
3. Inline forms
Sử dụng các lớp .row-cols-* để tạo bố cục ngang đáp ứng. Bằng cách thêm các
lớp sửa đổi Gutter, chúng ta sẽ có các Gutter theo hướng ngang và dọc. Trên
các khung nhìn di động hẹp, .col-12 giúp xếp chồng các điều khiển bi ểu m ẫu và
hơn thế nữa.
<div class="col-12">
<label class="visually-hidden" for="inlineFormSelectPref">Preference</label>
<select class="form-select" id="inlineFormSelectPref">
<option selected>Choose...</option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
</div>
<div class="col-12">
<div class="form-check">
<input class="form-check-input" type="checkbox" id="inlineFormCheck">
<label class="form-check-label" for="inlineFormCheck">
Remember me
</label>
</div>
</div>
<div class="col-12">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
<div class="form-floating">
<textarea class="form-control" placeholder="Leave a comment here" id="floatingTextarea"></textarea>
<label for="floatingTextarea">Comments</label>
</div>
3.Checkboxes và Radio
- Checkbox thường được dùng nếu bạn muốn người sử dụng chọn số bất kỳ trong các lựa
chọn từ một danh sách có sẵn.
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="flexCheckDefault">
<label class="form-check-label" for="flexCheckDefault">
Default checkbox
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="" id="flexCheckChecked" checked>
<label class="form-check-label" for="flexCheckChecked">
Checked checkbox
</label>
</div>
- Các button Radio được dùng khi bạn muốn hạn chế số người dùng chỉ có một lựa chọn trong
danh sách.
<div class="form-check">
<input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault1">
<label class="form-check-label" for="flexRadioDefault1">
Default radio
</label>
</div>
<div class="form-check">
<input class="form-check-input" type="radio" name="flexRadioDefault" id="flexRadioDefault2" checked>
<label class="form-check-label" for="flexRadioDefault2">
Default checked radio
</label>
</div>
4.Selects
Các menu <select> tùy chỉnh chỉ cần một lớp tùy chỉnh, .form-select để kích
hoạt các kiểu tùy chỉnh. Kiểu tùy chỉnh bị giới hạn ở giao diện ban đầu của
<select> và không thể sửa đổi <option> do giới hạn của trình duyệt.
o Điều chỉnh kích thước các điều khiển trên form (Form Control
Sizing)
Đặt độ cao bằng cách sử dụng các lớp như .form-control-lg và .form-control-
sm.
Thêm thuộc tính disabled boolean vào để làm cho nó có giao diện màu xám và xóa các
sự kiện con trỏ.
<input class="form-control" type="text" placeholder="Disabled input" aria-label="Disabled input example"
disabled>
<input class="form-control" type="text" value="Disabled readonly input" aria-label="Disabled input example"
disabled readonly>
2.Readonly
Thêm thuộc tính readonly boolean vào để ngăn việc sửa đổi giá trị đầu vào.
<input class="form-control" type="text" value="Readonly input here..." aria-label="readonly input example"
readonly>
3.Validation state
Đối với các thông báo xác thực biểu mẫu Bootstrap tùy chỉnh, bạn sẽ cần thêm thuộc tính
boolean novalidate vào <form> của mình. Điều này vô hiệu hóa chú giải công cụ phản hồi mặc
định của trình duyệt nhưng vẫn cung cấp quyền truy cập vào API xác thực biểu mẫu trong
JavaScript. Hãy thử gửi biểu mẫu dưới đây; JavaScript của chúng tôi sẽ chặn nút gửi và chuyển
tiếp phản hồi cho bạn. Khi cố gắng gửi, bạn sẽ thấy các kiểu :invalid và :valid được áp dụng cho
các điều khiển biểu mẫu của bạn.
Kiểu phản hồi tùy chỉnh áp dụng màu sắc, đường viền, kiểu tiêu điểm và biểu tượng nền tùy
chỉnh để truyền đạt phản hồi tốt hơn. Biểu tượng nền cho <select> chỉ khả dụng với .form-select
chứ không phải .form-control.
-Tạo các nút cấp độ khối—những nút trải dài toàn bộ chiều rộng của nút gốc—bằng
cách thêm .btn-block.
<button type="button" class="btn btn-primary btn-lg btn-block">Block level
button</button>
<button type="button" class="btn btn-secondary btn-lg btn-block">Block level
button</button>
Ảnh (Images)
- Ảnh thích ứng
Trong Boostrap, bạn sẽ sử dụng class .img-fluid trên tất cả những hình ảnh bạn
muốn nó có tính responsive. Class này sẽ "bảo" với trình duyệt là đừng mở rộng hình
ảnh lớn hơn kích thước gốc của ảnh bằng cách sử dụng max-width, và thu nhỏ hình ảnh
lại nếu cửa sổ trình duyệt hẹp hơn độ rộng của ảnh (tính theo pixel).
Để tạo ảnh có thể responsive, bạn thêm class .img-fluid vào thẻ <img> . Class này sẽ
áp dụng max-width: 100%; và height: auto; cho ảnh.
- Bo góc cho ảnh:Class .rounded sẽ bo tròn góc của ảnh (tương đương với border-
radius:6px;)
- Hình thu nhỏ của hình ảnh(Image thumbnails): Thêm viền và padding để làm
cho hình ảnh trông giống như hình thu nhỏ.
-Hình ảnh được căn giữa: Để căn giữa một hình ảnh theo chiều ngang trong m ột
phần tử cha, bạn có thể sử dụng lớp .mx-auto.