SCSS和Sass使用这种样式语言所需的所有CSS和SCSS代码
我们来看一下SCSS和Sass,浏览一下所有CSS和SCSS代码,您需要从这种样式语言开始。在这篇文章中,我想先容并讨论SCSS的功效。如果您是SCSS的新手而且您真的没有阅读过许多内容,那么您一定要阅读此博客以获取所有信息。Sass(Syntactically awesome style sheets)是一种样式表语言,最初由Hampton Catlin设计,由Natalie Weizenbaum开发。
Sass是一种预处置惩罚器剧本语言,可以解释或编译成层叠样式表(CSS)。SassScript自己就是剧本语言。拥抱Sass一次,你可能永远不想再回到vanilla CSS了。直到最近,当我不得不在一个项目中切换回vanilla CSS时,我才意识到我何等喜欢和Sass一起事情。
在那段时间里,我学到了许多,所以我决议赞美萨斯,让这个世界变得更优美,让你变得更快乐。如何使用Sass像Sass这样的预处置惩罚器在我们的RoR世界中被广泛使用,使得编写CSS变得越发容易和无杂乱。大多数Rails开发人员都知道诸如嵌套,引用选择器,变量,mixin或扩展指令等优点。但萨斯远不止于此!Sass包罗两种类型的扩展名:.scss和.sass。
“.scss”文件扩展名完全切合CSS语法,而.sass不完全切合CSS语法,但写入速度更快。让我们从一些安装和使用Sass的基本技巧开始。
有两种方法可以使用应用法式或下令行启动SCSS。使用下令行检察Sass文档以举行安装。
变量我们可以在变量中界说一个元素,并在我们的Sass代码中插入它。将模块生存在单独的文件中时,这很是有用。变量的最常见用途是调色板,存储可以在单独的样式表中使用的字体声明,巨细和媒体查询等信息。
例如$body: #226666;$primary-color: #403075;$footer: #AA8439;$font-stack: Helvetica, sans-serif;以代码开头的代码 $ 是Sass变量。您可以稍后在样式表中使用这些变量,它们将映射到您界说的值,例如:body {background: $body;font: $font-stack;}.header {color: $primary-color;}a {color: $primary-color;}使用SCSS嵌套嵌套是SCSS最受接待的功效之一。
使用嵌套,您可以在声明的大括号之间添加类。SCSS将很是直观地编译和处置惩罚选择器。您甚至可以使用“ &”字符来获取对父选择器的引用。以下示例显示了基本网页的结构:嵌套气势派头以下样式用于建立上面的示例:header{padding:10pxbackground-color: $greytext-align:center;.logo{display:inline-block;width:140px;}nav {ul {margin: 0;padding: 0;list-style: none;li {display: inline-block;a {display: block;padding: 6px 12px;text-decoration: none;&:hover{text-decoration:underline;}}}}}section{background-color: $grey;display:inline-block;width:70%;border:1px solid $grey;color: $text-color;}aside{background-color: $grey;display:inline-block;width:30%;border:1px solid $grey;color: $text-color;}footer{padding:10px;.copyright{text-decoration:none;padding:5px;&:hover{text-decoration:underline;}}}大!现在我们现在如何嵌套样式事情。
我们来看看相应的CSS:header{padding:10pxbackground-color: #ded3d4;text-align:center;}header .logo {display:inline-block;width:140px;}header nav ul{margin: 0;padding: 0;list-style: none;}header nav ul li{display: inline-block;}header nav ul li a{display: block;padding: 6px 12px;text-decoration: none;}header nav ul li a:hover{text-decoration:underline;}section{background-color: #ded3d4;display:inline-block;width:70%;border:1px solid #ded004;color: #555;}aside{background-color: #ded3d4;display:inline-block;width:30%;border:1px solid #ded004;color: #555;}footer{padding:10px;}footer .copyright{text-decoration:none;padding:5px;}footer .copyright:hover{text-decoration:underline;}Mixins和ExtendsMixins和extends是强大的功效,有助于制止大量重复。使用mixins,您可以制作参数化CSS声明,并在整个样式表中重复使用它们。
假设你有一个盒子,你想给盒子圆角:@mixin border-radius($ round){-webkit- border-radius:$ round ;-moz- border-radius:$ round ;-ms- border-radius:$ round ;border-radius:$ round ;}/ *只需使用'@include'指令来应用mixin * /.box { @include border-radius(15px); }请注意@mixin 顶部的 指令。它已被赋予名称 border-radius 并使用变量 $round 作为其参数。此变量用于设置每个元素的半径值。
之后,@include 使用参数值挪用该 指令,即15px。这是相应的CSS:.box {-webkit- border-radius:15px ;-moz- border-radius:15px ;-ms- border-radius:15px ;border-radius:15px ;}如果要在使用@including 指令时为每个角添加差别的巨细 ,也可以这样做; 你只需要指定如下:.box { @include border-radius(15px 10px 5px 0px); }您可以建立自己的mixin库,或者更好的是,您可以使用其中一个社区库。该 @extend 指令被称为Sass最强大的功效之一。
此指令允许您将属性从一个选择器共享到另一个选择器。假设你声明一个包罗属性的公共类:.box {margin: 10px;padding: 10px;border: 2px solid blue;}现在你想要两个具有相同属性但具有差别边框颜色的类似盒子。.box-red {@extend .box;border-color: red;}.box-yellow {@extend .box;border-color: yellow;}在上面的例子中,我们使用@extend 指令扩展了公共类。让我们看看我们需要的完整SCSS来获得所需的输出。
.box, .box-red, .box-yellow {margin: 1em;padding: 1em;border: 2px solid red;}.box-red {border-color: red;}.box-yellow {border-color: yellow;}import@import 将由Sass处置惩罚,我们所有的CSS和SCSS文件将被编译为一个文件,最终将在我们的实际网站上。您可以建立包罗很少CSS的部门Sass文件,您可以将其包罗在其他Sass文件中,即variable.scss,fonts.scss,buttons.scss等,然后我们可以在main / style中包罗所有SCSS文件.scss文件夹。如果不导入部门文件,则可以使用mixin和variable等可重用组件。假设您已经建立了多个文件,而且需要将它们导入main.scss文件:@import “variables”;@import “fonts”;@import “base”;@import “buttons”;@import “layout”;唯一的缺点是为要导入的每个CSS文件触发单独的HTTP请求。
本文关键词:开云app官方版下载,SCSS,和,Sass,使用,这种,样式,语言,所需,的,所有
本文来源:开云app官方版下载-www.yuanhe-tech.com
同类文章排行
- 您不甚相识的“差额征税”
- 重磅签约、大咖齐聚、头脑风暴……2018西安电竞工业峰会干货
- “闻名海内”的55所工科名校,分5档排名,清华哈工大并列一档
- 华为:暂停与腾讯互助 平台将下架腾讯游戏
- 寻找最简朴的无线桌面:雷蛇无线外设体验
- 余罪第三季开拍了吗? 大胸嫂与傅老大合影曝玄机
- 山西省委副书记楼阳生调研水利工作
- 全国最好的3所二本大学 实力强 结业后事情不用愁 就业率高
- 守护丽人朱敏结局是什么呢_朱敏吃的是什么药?
- 最刺激的“蹦极”体验!开放世界游戏9个适合跳下的高点
最新资讯文章
- 李逸男《我就是演员》精彩演绎 实力助演末代皇帝
- 猎场胡歌第三任女友上线 心机女贾衣玫结局是什么
- 王者荣耀:反抗路榜单变更一览 坦边异军突起 刘邦超哪吒排第
- 炉石卡牌里的终结者 了不起的杰佛里斯分析
- 梦幻西游门派组合攻略指南 门派搭配很重要
- 意想不到的震撼 影驰&NVIDIA嘉年华惊艳开幕!
- 实力雄厚的211高校 4所王牌专业
- 第24届世界能源大会信息发布会暨企业代表见面会在京召开|开云
- 电影兵王传奇亮相北京国际电影节
- 一粒红尘结局是什么 一粒红尘电视剧各人物结局
- 《洪湖英雄传》杀青 再造红色传奇经典
- 《黄金瞳》欢乐鉴宝展热血青春 张艺兴看古通今探历史过往
- 2020年春节韩国玩家都在玩什么?LOL排第一 第二的竟是运动游戏
- “大神杯”梦迹沙河2挑战赛火热来袭 瓜分20000奖金
- 2月27日测试服:外塔双抗降低 镀层赏金增加
- 马可波罗大战公孙离现象,为何在本赛季销声匿迹了?
- 联盟情报局:八周年庆典明星赛 观看王思聪与陈赫对阵
- 美国联邦能源管理委员会为拉丁顿抽水蓄能电站发放新运行许可
- 松辽流域水质监测资料整编工作完成
- 《天衣无缝》陆毅身份引争执 秦俊杰胡海锋“组局”开启合作