CSS 预处理器是个能透过使用预处理器语法,编译产生纯 CSS 的程序。
要使用 CSS 预处理器,必需安装 CSS 编译器,在开发环境透过 CSS 预处理器编译之後,上传编译好的 CSS 到服务器。
CSS 预处理器有很多选择,预处理器有着许多原生CSS没有的功能,例如:mixin、变数、巢状选择器等,而这些功能可以使 CSS 结构的可读性更高且更容易维护。
因为只用过Sass,所以就着重於整理关於使用Sass的学习笔记。
在VS Code上安装Live Sass Complier套件
新增一个资料夹 命名为styles
试着在style.scss档案内写一些内容
按一下下方watch sass
按完watch sass 会跳出以下画面
若编译错误,可以在这里查看是哪里写错
也会看到styles资料夹多出了两个档案
会看到经过编译的styles.css写了一个看不懂的字-webkit
-webkit是浏览器内的网页排版引擎,负责用来处理HTML和CSS页面
会增加这个字的原因,是为了网页都能被任何浏览器所使用
参考资料:What is WebKit and how is it related to CSS?
html内的css载入连结会是编译好的css档案路径,不会是写scss档案
将css都写在scss档案内,编译出一个css档案
图片来源:六角学院
有两种写法: scss 和sass
图片来源:六角学院
使用sass的好处可以将css程序码写成巢状的结构
例如:
本来css的写法是
.header{
width:50px;
height:50px;
background:#000;
}
.header ul{
width:500px;
}
.header li{
width:30px;
}
可以用SCSS方式写
.header{
width:50px;
height:50px;
background:#000;
ul{
width:500px;
li{
height:30px;
}
}
}
或是sass写法
用缩排的方式写(一个tab/两个空白)
.header
width:50px;
height:50px;
background:#000;
ul
width:500px;
li
height:30px;
编译出来就会是
如果想把header名称改掉,只需要更动header这个字就好
使用变数能够减少重复写的属性样式,也方便维护程序码
变数名称前面会放一个$ 例如: $primarycolor: red;
经常使用到的颜色可以设定成变数
例如:
.header a{
color: #ff0000;
}
.content a{
color: #ff0000;
}
.footer a{
color: #ff0000;
}
可以将color: #ff0000;
设定成变数$linkcolor: #ff0000;
这样设定当需要更改所有连结的颜色设定时,就只需要去更改变数的值,不用一个一个去改。
$linkcolor: #ff0000;
.header a{
color: $linkcolor;
}
.content a{
color:$linkcolor;
}
.footer a{
color: $linkcolor;
}
编译出来的css会是
将变数改成其他颜色,原本写变数的地方也会跟着变动,非常方便
例如:
.header{
background-color:aqua;
h1{
color: red;
}
&:hover{
background-color: green;
}
}
编译出来会是
可以新增好几个scss档案来管理
再用一个all.scss档案编译出css档案
图片来源:六角学院
@import "variable";// 变数
@import "reset"; // reset.css
@import "layout"; // 共同框架,第一层
@import "index";
@import "page1";
可以使用Sass 7-1 Pattern来区分Sass
参考资料: 浅谈 CSS 设计模式系列-Sass 7-1 Pattern 篇
,Sass Guidelines
可以将常使用的css技巧做成@mixin,方便使用
例如:
将图片取代文字的技巧命名成 hide-text
在要使用的地方写 @include hide-text; 就可以套用上
@mixin可以搭配变数一起使用
例如:
参考资料: 前端中阶:CSS 预处理器,CSS preprocessor, 2021网页开发全攻略(HTML, CSS, JavaScript, React, SQL, Node, more), 六角学院-一变应万变的响应式网页设计
以上为个人学习笔记整理
若有错误,欢迎指正
>>: Day04:Set Chat Page(设定聊天页) I
全球个资保护如雨後春笋般的出现,各国对於个资保护的意识更加积极主动,且也陆续参考GDPR进行个资隐私...
今天来简单介绍关於物件的一些基本概念 物件的结构 我们可以利用 {} 中括号 来建立一个物件,物件内...
https://leetcode.com/problems/construct-binary-tr...
整体感言: 第一次参与这样的活动,非常的好玩,但是因为之前累积的技术的存底明显不够,变成内容会有点太...
Keyword: coroutine 这几天在使用网路功能时,都使用到了Kotlin的Corouti...