当你在编辑一个 html 档案时,巢状结构的架构可以让你快速了解,每个区块里面的内容物是什麽,藉此去建构一个完整的网页,但是在单纯的 css 上,却没有这种巢状的样式,让整体可读性、style 设定弹性降低很多。
SASS 的 Nesting 方式,让 css 可以更直觉地去建造我们想要的样式架构,像是在 body 里,针对 ul、li、a 等统一设定 body 的通用字型,再分别去设定各自的字体颜色,这样的规划可以加速我们开发的时间,让重复相同的 style 不用一直重写。
但是 Nesting 也不宜过於肥厚,要注意不可以过度滥用!
首先来新增一个 nesting.sass,并且来实作一个项目列表下,nesting 的 style
$primary-color: #324980
$secondary-color: #398420
$background-color: #e0e0e0
ul
color: $primary-color
background-color: $background-color
width: 50%
text-align: left
li
font-weight: 100
a
font-weight: bold
text-decoration: none
color: $secondary-color
span
color: $secondary-color
font-size: 15px
为了方便检视效果,先设定了 primary color、secondary color、background color,在 ul 下的 li、a、span 会一样套用到 ul 原本的设定值,预设都是 primary color 的颜色,背景色为 background color,宽至少为画面的50%,并且都是靠左对齐的。
而 ul 底下的其他 tag,则会在各自套用到自己的 style 设定。
接下来别忘记要在 App.js 中 import nesting.sass,让我们的 sass 生效
import logo from "./logo.svg";
import "./App.css";
import "./MyFirstSass.sass";
import "./main.sass";
import "./nesting.sass";
function App() {
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<h1>
this is blue h1
<a href="http://google.com.tw">test</a>
</h1>
<h2>this is variable h2</h2>
<ul>
<li>
first li <span>this is span, smaller than li</span>
</li>
<li>second li</li>
<li>
third with <a href="https://google.com.tw">link!</a>
</li>
</ul>
<h4>hi</h4>
</header>
</div>
);
}
export default App;
这是执行後的结果,可以看到各自都有乖乖的依照我们巢状的设定去显示正确~
除此之外,也欢迎大家走走逛逛关於我们团队夥伴的文章
lu23770127 - SASS 基础初学三十天
10u1 - 糟了!是世界奇观!
juck30808 - Python - 数位行销分析与 Youtube API 教学
HLD - 浅谈物件导向与Design Pattern介绍
SiQing47 - 前端?後端?你早晚都要全端的,何不从现在开始?
>>: Day23. 在讲表单之前,先来谈谈routes和mvc - 表单 part1
这章节是延伸v-if和v-show管理元件,如何用更简便的方式做tab页签。 v-bind:is 做...
今天,我们差不多要正式进入主题了!! 首先当然得先来简单介绍一下未来几天我们所会使用到的软件— Sh...
在安装完Shioaji套件之後,我们就可以开始使用api的功能了。 第一步当然是要登入我们的帐户啦,...
很多时候我们会需要去串接第三方的 API,例如:绿界科技的金流服务、Binance 的 API 等,...
Vue作为前端三大框架之一,它的重要性已是不可言喻,除此之外,相较於React与Angular,Vu...