sass中级语法
github地址:https://github.com/lily1010/sass/tree/master/course02
用到的sass语法是:
sass --watch test.scss:test.css --style compact --style expanded
如下图:
1 类名嵌套
test.scss内容是:
<span style="color: #000000;">.test1 { font-size: .15rem; p{ color: #333; .test11 { width: 3px; } } }</span>
编译成test.css内容是:
<span style="color: #000000;">.test1 { font-size: .15rem; } .test1 p { color: #333; } .test1 p .test11 { width: 3px; }</span>
2 属性嵌套
test.scss内容是:
<span style="color: #000000;">.test2 { margin: { left: 10px; right: 20px; } } .test21 { margin: 0 0 0 0{ /*命名空间也可以有自己的属性*/ left: 10px; right: 20px; } }</span>
编译成test.css内容是:
<span style="color: #000000;">.test2 { margin-left: 10px; margin-right: 20px; } .test21 { margin: 0 0 0 0; margin-left: 10px; margin-right: 20px; }</span>
3 引用父选择器和精确定位父选择器和反向成为父选择器
test.scss内容是:
<span style="color: #000000;">.a { font-size: .15rem; &:hover { //引用父选择器 color: red; } .ll { //精确定位父选择器 color: black; &:hover { height: 20px; } } .test3 & { //反向成为父选择器 width: 10px; } }</span>
编译成test.css内容是:
<span style="color: #000000;">.a { font-size: .15rem; } .a:hover { color: red; } .a .ll { color: black; } .a .ll:hover { height: 20px; } .test3 .a { width: 10px; }</span>
4 全局变量
test.scss内容是:
<span style="color: #000000;">/*方法一*/ $color: red; .test4 { color: $color; } /*方法二*/ .test41 { $red: red !global; color: $red; } .test42 { color: $red; }</span>
编译成test.css内容是:
<span style="color: #000000;">/*方法一*/ .test4 { color: red; } /*方法二*/ .test41 { color: red; } .test42 { color: red; }</span>
5 带引号的字符串将被编译为不带引号的字符串
test.scss内容是:
<span style="color: #000000;">@mixin test5($left) { //此处$不可去掉 border-#{$left}:1px #000 solid; left: 20px; top: 10px; } .lili2 { @include test5("left"); }</span>
编译成test.css内容是:
<span style="color: #000000;">.lili2 { border-left: 1px #000 solid; left: 20px; top: 10px; }</span>
6 精讲除法
test.scss内容是:
<span style="color: #000000;">/*需要注意:Sass 数学函数在算术运算期间会保留单位 *可以将/解析为除法三种情况 *(1)如果该值,或值的任何部分,存储在一个变量中或通过函数返回。 * (2)如果该值是由括号括起来的,除非这些括号是在一个列表(list)外部,并且值是括号内部。 * (3)如果该值被用作另一个算术表达式的一部分。 */ p { font-size: 10px/2px; // 原生的CSS,不作为除法 $width: 100px; width: $width/2; height: (100px/2); margin-left: 5px + 8px/2px; }</span>
编译成test.css内容是:
<span style="color: #000000;">p { font-size: 10px/2px; width: 50px; height: 50px; margin-left: 9px; }</span>
7 颜色运算
test.scss内容是:
<span style="color: #000000;">.test7 { color: #302010 + #333333; } .test71 { color: #010101 * 2; } .test72 { color: rgba(0,0,0,0.3) + rgba(1,1,1,0.3); //必须具有相同的alpha值,才能进行颜色运算,但是alpha不变 } /*如果想让alpha值变化,则需要计算函数*/ .test73 { color: opacify(rgba(0,0,0,0.3),0.3); }</span>
编译成test.css内容是:
<span style="color: #000000;">.test7 { color: #635343; } .test71 { color: #020202; } .test72 { color: rgba(1, 1, 1, 0.3); } /*如果想让alpha值变化,则需要计算函数*/ .test73 { color: rgba(0, 0, 0, 0.6); }</span>
8 字符串运算
test.scss内容是:
<span style="color: #000000;">.test8 { width: 2px + 3px; } .test81::after { //带引号字符串和不带引号字符串,谁在前面就以谁为主 font-family: "arial" + black; content: lala + "lili"; } $value: 20; //在字符串里面插入动态值 .test82::before { content: "wo ke yi #{$value} lili"; }</span>
编译成test.css内容是:
<span style="color: #000000;">.test8 { width: 5px; } .test81::after { font-family: "arialblack"; content: lalalili; } .test82::before { content: "wo ke yi 20 lili"; }</span>
9 圆括号提升优先级
test.scss内容是:
<span style="color: #000000;">.test9 { width: 1px + (2px * 3); }</span>
编译成test.css内容是:
<span style="color: #000000;">.test9 { width: 7px; }</span>
10 默认变量 !default
test.scss内容是:
<span style="color: #000000;">/*如果分配给变量的值后面添加了!default标志 ,这意味着该变量如果已经赋值,那么它不会被重新赋值,但是,如果它尚未赋值,那么它会被赋予新的给定值。*/ $color: red; $color: pink !default; .test10 { color: $color; }</span>
编译成test.css内容是:
<span style="color: #000000;">.test10 { color: red; }</span>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

HTML适合初学者学习,因为它简单易学且能快速看到成果。1)HTML的学习曲线平缓,易于上手。2)只需掌握基本标签即可开始创建网页。3)灵活性高,可与CSS和JavaScript结合使用。4)丰富的学习资源和现代工具支持学习过程。

WebDevelovermentReliesonHtml,CSS和JavaScript:1)HTMLStructuresContent,2)CSSStyleSIT和3)JavaScriptAddSstractivity,形成thebasisofmodernWebemodernWebExexperiences。

HTML定义网页结构,CSS负责样式和布局,JavaScript赋予动态交互。三者在网页开发中各司其职,共同构建丰富多彩的网站。

AnexampleOfAstartingTaginHtmlis,beginSaparagraph.startingTagSareEssentialInhtmlastheyInitiateEllements,defiteTheeTheErtypes,andarecrucialforsstructuringwebpages wepages webpages andConstructingthedom。

HTML、CSS和JavaScript是Web开发的三大支柱。1.HTML定义网页结构,使用标签如、等。2.CSS控制网页样式,使用选择器和属性如color、font-size等。3.JavaScript实现动态效果和交互,通过事件监听和DOM操作。

HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。
