此篇内容不会有 CSS 语法教学,而是着重在使用 Bootstrap 5 时需要具备的 CSS know-how
。
问题:不同浏览器拥有各自的预设 CSS 样式(ex:h1~h6 margin、ol, ul 项目符号样式),导致在不同的浏览器上会有样式不同或是跑版的问题。(
因为浏览器担心有人不会写网页,会默认添加样式上去。)
解决:透过重置 CSS 的 CSS 样式表,使其统一全部浏览器的样式。
加码好用 reset css:
/* rwd img css,使图片缩放 */
img{
max-width: 100%;
height: auto;
}
/* 全域 border box:所有元素不用算 padding */
*,*::before,*::after{
box-sizing: border-box;
}
官方 github open source 连结
优点:
缺点:
Bootstrap 是使用 Normalize CSS。
依照设计稿,若设计师大部分遵循 Bootstrap 样式规范则使用 normailze,若设计师都是自己的设计规范则建议使用 meyerweb(reset.css)。
⚠️ reset.css 与 normalize.css 不论用哪一套,都记得要放在撰写样式的
最前面
,因为它的目的就是在网页载入时,对各个浏览器之间的差异进行调整,使其达到统一全部浏览器的样式。
CSS selectors(样式选择器),在撰写 CSS 样式时用来选取 HTML元素的一种语法规则。
简单介绍五种最常用的选择器(类别选择器、ID 选择器、标签选择器、通用选择器、後代选择器),主要会介绍
後代选择器,因为 Bootstrap 也是使用後代选择器的写法。
.
<h1 class="class-select">类叠选择器</h1>
.class-select {
font-size: 1rem;
line-height: 1.5rem;
color: red;
}
#
<h1 id="id-select">ID 选择器</h1>
#id-select {
font-size: 1rem;
line-height: 1.5rem;
color: red;
}
<ul>
<li>
<h1>标签选择器</h1>
</li>
<li>
<p>标签选择器</p>
</li>
</ul>
h1 {
font-size: 1rem;
line-height: 1.5rem;
color: red;
}
p {
font-size: 1rem;
line-height: 1.5rem;
color: red;
}
<ul>
<li>
<h1>标签选择器</h1>
</li>
<li>
<p>标签选择器</p>
</li>
</ul>
* {
font-size: 1rem;
line-height: 1.5rem;
color: red;
}
所有
子元素
外层
标签写在前面,内层
标签写在後面,中间用空格分隔。ex:ul 内的 li 样式
<ul>
<li>
<h1>文字样式</h1>
</li>
</ul>
ul li {
font-size: 1rem;
color: red;
}
btn
:按钮的预设样式btn-primary
:按钮颜色btn-sm
:按钮大小<button
type="button"
class="btn btn-primary btn-sm"
>Primary
</button>
後代选择器概念就像盖房子,需要钢筋、水泥、油漆...等等材料来打地基,而後续依照屋主的喜好做装潢。
class
样式class
样式其余选选择器请参考这篇:CSS常见选择器(看这一篇就够了)
撰写 CSS 样式时,若一个元素同时符合多个样式时,则会依照覆盖特性、权重,来决定 CSS 样式载入顺序。
important → html style → id → class → html tag
图像记忆法:透过分数来做权重来计算优先权顺序(非常建议收藏这张图)
src:https://cssspecificity.com/
权重分数计算解说请参考:Day20:小事之 CSS 权重 (css specificity)
程序码由上到下,後面样式会覆盖前面样式。
Q:请问以下范例中的 box 是什麽颜色
<div class="box">权重</div>
.box {
color: red;
}
.box {
color: blue;
}
A:放在 CodePen 中
用一个职场小剧场来演释,为什麽要了解 CSS 权重
小剧场:善用覆盖特性修改讨人厌前辈的糙 code
不懂覆盖特性
懂覆盖特性
在讨人厌前辈的 css 後方引入另外写的 css,即可达到覆盖前者的效果。
不再害怕要背锅
分享几个使用 CSS 尽量避免的雷点:
权重 8 字口诀
先看权重,在看前後
获得额外技能捕食者
Bootstrap 5 世界中 CSS 代表了切版魔法师的攻击手段,因此可以使用
捕食者
来吸收其它魔法师的技能。
<<: NetSuite Order to Cash flow - Fulfill Sales Order
>>: Chapter2 - 用物件看真实世界(II)仍然对物件感到疑惑吗?用你最爱点的豚骨拉面做比喻
前言 原本以为生命周期应该很好懂, 但我卡在别的地方, 不过快 12 点了啊我先 po 出我目前进度...
ProduKey 既然 Forensics 分类的工具都看完了,接下来看看 System Tools...
曾有前辈说过,要以终为始。 程序结束在哪,就从那边开始追。 睡了两天,就在礼拜一列下想做的事情, 接...
昨天有提到, 其实我们通常不会把函式直接写在web.php当中, 其实我们回传的这个资料, 如果要透...
笔者最近在维护前人弃坑的C# 专案的程序码看到?跟:,这是啥东西? 一开始以为是lambda 在C#...