网格系统 - column的宽度、位移、换行与顺序
column的宽度
我们可以使用Bootstrap提供的 .col 类别设定column宽度。
範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CDN -->
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-U1DAWAznBHeqEIlVSCgzq+c9gqGAJn5c/t99JyeKa9xxaYpSvHU5awsuZVVFIhvj" crossorigin="anonymous"></script>
<title>Bootstrap網格系統-欄位寬度</title>
<style>
div[class^="col"] {
background-color: #EBDEF0;
border: 0.5px solid purple;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<!-- 三个区块平均分配容器宽度,也就是分别占用 1/3 的容器宽度 -->
<div class="col">區塊1</div>
<div class="col">區塊2</div>
<div class="col">區塊3</div>
</div>
<div class="row">
<!-- 第二个区块占用 6/12 (1/2)的容器宽度,剩下的宽度由其他两个区块平均分配,也就是各占 1/4 容器宽度 -->
<div class="col">區塊1</div>
<div class="col-6">區塊2</div>
<div class="col">區塊3</div>
</div>
</div>
</body>
</html>
column的位移
可以使用 .offset-* 类别来设定column的位移。
範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CDN -->
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-U1DAWAznBHeqEIlVSCgzq+c9gqGAJn5c/t99JyeKa9xxaYpSvHU5awsuZVVFIhvj" crossorigin="anonymous"></script>
<title>Bootstrap網格系統-欄位的位移</title>
<style>
div[class^="col"] {
background-color: #EBDEF0;
border: 0.5px solid purple;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<!-- 此区块占用4个column且没有位移 -->
<div class="col-md-4">.col-md-4</div>
<!-- 此区块占用4个column且向右位移4个column -->
<div class="col-md-4 offset-md-4">.col-md-4 offset-md-4</div>
</div>
<div class="row">
<!-- 此区块占用3个column且向右位移3个column -->
<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">
<!-- 此区块占用6个column且向右位移3个column -->
<div class="col-md-6 offset-md-3">.col-md-6 offset-md-3</div>
</div>
</div>
</body>
</html>
将column换到新行
只要在换到新行的地方加上一个有 width:100% 属性的元素即可。
範例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CDN -->
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-U1DAWAznBHeqEIlVSCgzq+c9gqGAJn5c/t99JyeKa9xxaYpSvHU5awsuZVVFIhvj" crossorigin="anonymous"></script>
<title>Bootstrap網格系統-欄位換行</title>
<style>
div[class^="col"] {
background-color: #EBDEF0;
border: 0.5px solid purple;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-6 col-sm-3">區塊1</div>
<div class="col-6 col-sm-3">區塊2</div>
<!-- 將column換到新行 -->
<div class="w-100"></div>
<div class="col-6 col-sm-3">區塊3</div>
<div class="col-6 col-sm-3">區塊4</div>
</div>
</div>
</body>
</html>
column的顺序
可以使用 .order-* 类别来控制column的顺序,这些类别是响应式的,可以依照断点设定,而且用数字1~5代表顺序(数字越小顺序越前面),例如: .order-1、.order-md-2。
此外,还有响应式的 .order-first 和 .order-last 两个类别分别代表 order:-1 和 order:6,表示最前面和最后面。
範例1:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CDN -->
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-U1DAWAznBHeqEIlVSCgzq+c9gqGAJn5c/t99JyeKa9xxaYpSvHU5awsuZVVFIhvj" crossorigin="anonymous"></script>
<title>Bootstrap網格系統-欄位順序</title>
<style>
div[class^="col"] {
background-color: #EBDEF0;
border: 0.5px solid purple;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col">區塊1(沒有指定順序)</div>
<div class="col order-5">區塊2(指定順序為5)</div>
<div class="col order-1">區塊3(指定順序為1)</div>
</div>
</div>
</body>
</html>
没有指定顺序的区块1就按照他原先的顺序摆(此例为最前面),接着是顺序为1的区块3,最后是顺序为5的区块2。
範例2:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap CDN -->
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We" crossorigin="anonymous">
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/js/bootstrap.bundle.min.js" integrity="sha384-U1DAWAznBHeqEIlVSCgzq+c9gqGAJn5c/t99JyeKa9xxaYpSvHU5awsuZVVFIhvj" crossorigin="anonymous"></script>
<title>Bootstrap網格系統-欄位順序</title>
<style>
div[class^="col"] {
background-color: #EBDEF0;
border: 0.5px solid purple;
}
</style>
</head>
<body>
<div class="container">
<div class="row">
<div class="col order-last">區塊1(順序為最後)</div>
<div class="col">區塊2(沒有指定順序)</div>
<div class="col order-first">區塊3(指定順序為最先)</div>
</div>
</div>
</body>
</html>
顺序最先的区块3在最前面,接着是没有指定顺序的区块2(按照原顺序摆放),顺序最后的区块1在最后面。