此篇会简单介绍格线系统原理以及使用技巧。
Bootstrap5 格线系统是基於 flex
,想活用格线系统可以先多加了解 flexbox 盒模型
,刚好上一集有稍微讲解。
在介绍格线系统之前,想先来分享 魔术数字(magic number)
是什麽?
白话文:写死大小(宽高)样式。
STAR Method:
情境:假设今天拿到设计稿後。
任务:某个元素开出以下规格。
行动:工程师就直接写死宽高。
width:300px; width:680px;
结果:当写死样式过多後,就容易造成以下问题。
当维护到这种 code...
使用格线系统就可以大幅降低 magic number 的问题。
格线系统的出现,解决了传统无法解决的问题(例如上方的
magic number
)
容器与内容的概念:格线表示为容器,而网页所呈现的资讯就称为内容。
早期电脑萤幕解析度多数是 1024x768
,960 则是多数值的最小公倍数,所以将 960px
为最大宽度,960 Grid System 就诞生了。
去除左右两边各
10px
的空间,留下中间940px
的区块以20px
作为间隔,并加入了容器与内容的概念。
column(栏):类似於 Excel 栏位的概念,从左至右。
十二栏
)gutter(间距):column
彼此之间的距离。
padding
或 margin
来推,960 Grid System 是使用 margin
。padding
,预设宽度为 1.5rem (24px)
。
.gx-*
:控制水平 gutter
的宽度。.gy-*
:控制垂直 gutter
的宽度。.g-*
:控制水平、垂直 gutter
的宽度。g-0
:取消预设水平 gutter
的宽度,这将会移除 .row
的负值 margin
以及所有直属子列的水平 padding
。格线系统中的排版三剑客:
.container
、.row
、.col 1~12
是一个容器,可以把内容物居中。
有两种宽度写法:
.container
:固定宽度.container-fluid
:满版重要观念:
.container
。.container
下第一层不一定要是 .row
。列,用来包住 column。
设置不要间距语法:
no-gutters
:让栏位彼此连在一起。重要观念:
.row
内层只能是 .col
。将内容放置在 col 中。
col
数值计算:每一列需要的栏数 / 12。
row
里设置三个 .col-4
即可。重要观念:
.col
上一层只能是 .row
。
margin
、padding
),容易造成跑版,有需要则在 row
使用 gutters
即可,但可以加上下的 margin
与 padding
。col
後面不接数字,则会照内容去做宽度分配自适应。
<div class="col">1</div>
使用顺序:
container > 其他元素,可有可无(ex:h2) > row > col > 内容
步骤 1、要写在 container
容器里面。(因此最外层一定要有一个 container
)
.container
固定宽度.container-fluid
满版步骤 2、.row
(row
里面第一层只能是 col
)
步骤 3、在 row
里 .col
总数加起来 12。(col
外层第一层只能是 row
)
步骤 4:网页内容与元件请放在 .col-*
里面。
col-6
,因为格线系统使用 flex
,达到自适应的效果。(col
加起来 > 12 就会跳到下一列)col-8
、col-6
,那 col-6
还是会跳到下一行因为加起来超过 12。container
,container
内第一层不一定要是 row
。row
里层只能放 col
。col
外层只能放 row
。col
。flex-wrap:wrap;
代表 col
超过 100% 会往下掉(超过 12 时)。常见错误:千万千万不要使用以下方法
col
更改宽度 width
→ 会导致跑版(更改上下可以)。margin
、padding
→ 会导致跑版。
上下
的 margin
与 padding
(border
是往内推的所以不会影响,因为 border-box
特性)。col
因为选单是不规则的(内容、数量)→ 会改用 navbar 导览列。
首先下载并安装最新的VMware Workstation虚拟机,此次演示安装虚拟机版本VMware ...
昨天我们已经在 AWS 上架设属於你自己的 WordPress 网站,今天我们就来设定『 Googl...
Destructuring assignment(解构赋值),这种做法可以从阵列或物件的资料取出值,...
Vuex 是个处理全域资料的状态管理库,采集中式管理方式,方便任何元件都能从中获取状态或触发事件,实...
おっはー(U 'ᴗ' U)⑅ 我是SONYKO 。 今天天气好好。连假我还真tm的都在家写文章呢 ...