XSmall | Small | Medium | Large | Extra Large | XXL | |
---|---|---|---|---|---|---|
Class prefix | .col- |
.col-sm- |
.col-md- |
.col-lg- |
.col-xl- |
.col-xxl- |
Screen width | <576px | >=576px | >=768px | >=992px | >=1200px | >=1400px |
Στο προηγούμενο κεφάλαιο, παρουσιάσαμε ένα παράδειγμα πλέγματος με κλάσεις για μικρές συσκευές. Χρησιμοποιήσαμε δύο div (στήλες) και τους δώσαμε διαχωρισμό 25%/75%:
<div class="col-sm-3">....</div>
<div class="col-sm-9">....</div>
Αλλά σε μεσαίες συσκευές η σχεδίαση μπορεί να είναι καλύτερη ως διαχωρισμός 50%/50%.
Οι μεσαίες συσκευές ορίζονται ότι έχουν πλάτος οθόνης από 768 pixel έως 991 pixel.
Για μεσαίες συσκευές θα χρησιμοποιήσουμε τις κλάσεις .col-md-*
:
<div class="col-sm-3 col-md-6">....</div>
<div class="col-sm-9 col-md-6">....</div>
Τώρα το Bootstrap θα πει "στο μικρό μέγεθος, κοιτάξτε τις τάξεις με -sm- και χρησιμοποιήστε αυτές. Στο μεσαίο μέγεθος, δείτε τις τάξεις με -md- > σε αυτά και χρησιμοποιήστε αυτά».
Το ακόλουθο παράδειγμα θα έχει ως αποτέλεσμα διαχωρισμό 25%/75% σε μικρές συσκευές και διαχωρισμό 50%/50% σε μεσαίες (και μεγάλες, xlarge και xxlarge) συσκευές. Σε πολύ μικρές συσκευές, θα στοιβάζεται αυτόματα (100%):
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-6">
<p>Lorem ipsum...</p>
</div>
<div class="col-sm-9 col-md-6">
<p>Sed ut perspiciatis...</p>
</div>
</div>
</div>
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container-fluid mt-3">
<h1>Medium Grid</h1>
<p>The following example will result in a 25%/75% split on small devices and a 50%/50% split on medium (and large, xlarge, xxlarge) devices. On extra small devices, it will automatically stack (100%).</p>
<p>Resize the browser window to see the effect.</p>
<div class="container-fluid">
<div class="row">
<div class="col-sm-3 col-md-6 bg-primary text-white">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<br>
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div class="col-sm-9 col-md-6 bg-dark text-white">
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
</div>
</div>
</div>
</div>
</body>
</html>
Σημείωση: Βεβαιωθείτε ότι το άθροισμα είναι 12 ή λιγότερες (δεν απαιτείται να χρησιμοποιήσετε και τις 12 διαθέσιμες στήλες):
Στο παρακάτω παράδειγμα, καθορίζουμε μόνο την κατηγορία .col-md-6
(χωρίς .col-sm-*κωδικός>). Αυτό σημαίνει ότι οι συσκευές μεσαίας, μεγάλης, πολύ μεγάλης και XXL θα χωριστούν κατά 50%/50% - επειδή η κατηγορία κλιμακώνεται. Ωστόσο, για μικρές και πολύ μικρές συσκευές, θα στοιβάζεται κάθετα (100% πλάτος):
<div class="row">
<div class="col-md-6">
<p>Lorem ipsum...</p>
</div>
<div class="col-md-6">
<p>Sed ut perspiciatis...</p>
</div>
</div>
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container-fluid mt-3">
<h1>Medium Grid</h1>
<p>The following example will result in a 50%/50% split on medium, large, xlarge and xxlarge devices (<strong>768px and above</strong>). On small (and extra small) devices, it will automatically stack (100%).</p>
<p>Resize the browser window to see the effect.</p>
<div class="container-fluid">
<div class="row">
<div class="col-md-6 bg-primary text-white">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<br>
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</div>
<div class="col-md-6 bg-dark text-white">
Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
</div>
</div>
</div>
</div>
</body>
</html>
Στο Bootstrap 5, υπάρχει ένας εύκολος τρόπος για να δημιουργήσετε στήλες ίσου πλάτους για όλες τις συσκευές: απλώς αφαιρέστε τον αριθμό από το .col-md-*
και χρησιμοποιήστε μόνο την .col-md
σε έναν καθορισμένο αριθμό στοιχείων col. Το Bootstrap θα αναγνωρίσει πόσες στήλες υπάρχουν και κάθε στήλη θα έχει το ίδιο πλάτος.
Εάν το μέγεθος της οθόνης είναι λιγότερο από 768 εικονοστοιχεία, οι στήλες θα στοιβάζονται οριζόντια:
<!-- Two columns: 50% width on medium and up-->
<div class="row">
<div class="col-md">1 of 2</div>
<div class="col-md">2 of 2</div>
</div>
<!-- Four columns: 25% width on medium and up -->
<div class="row">
<div class="col-md">1 of 4</div>
<div class="col-md">2 of 4</div>
<div class="col-md">3 of 4</div>
<div class="col-md">4 of 4</div>
</div>
Δοκιμάστε το μόνοι σας →
<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<div class="container-fluid mt-3">
<h1>Responsive Auto Layout Columns</h1>
<p>In Bootstrap 5, there is an easy way to create equal width columns: just use the <code>.col-md</code> class on a specified number of col elements. Bootstrap will recognize how many columns there are, and each column will get the same width.</p>
<p>If the screen size is <strong>less than 768px</strong>, the columns will stack horizontally.</p>
<div class="container-fluid">
<div class="row">
<div class="col-md bg-primary text-white">1 of 2</div>
<div class="col-md bg-dark text-white">2 of 2</div>
</div>
</div>
<br>
<div class="container-fluid">
<div class="row">
<div class="col-md bg-primary text-white">1 of 4</div>
<div class="col-md bg-dark text-white">2 of 4</div>
<div class="col-md bg-primary text-white">3 of 4</div>
<div class="col-md bg-dark text-white">4 of 4</div>
</div>
</div>
</div>
</body>
</html>
Το επόμενο κεφάλαιο δείχνει πώς μπορείτε να προσθέσετε ένα διαφορετικό ποσοστό διαίρεσης για μεγάλες συσκευές.