当前位置: 首页 > news >正文

建设工程合同管理网站西安网站推广助理

建设工程合同管理网站,西安网站推广助理,做动漫游戏网站,马良行网站3d模型预览怎么做的1.前言 在我们编写样式的时候,很多情况下我们几个不同的类会有相同的样式代码,同时这几个类又有其自己的样式代码,这使我们就可以通过 Sass 提供的继承 extend 来实现。本节内容我们将讲解 Sass 继承的语法以及继承的多重延伸等等&#xff0…

1.前言

在我们编写样式的时候,很多情况下我们几个不同的类会有相同的样式代码,同时这几个类又有其自己的样式代码,这使我们就可以通过 Sass 提供的继承 @extend 来实现。本节内容我们将讲解 Sass 继承的语法以及继承的多重延伸等等,在 Sass 中继承也是非常好用的功能之一,所以你要重点熟悉 @extend 的用法,下面我们一起来学习它。

2.什么是 Sass 继承

继承,我们也叫做代码重用,在 Sass 中支持对样式进行继承。

首先我们看一段代码,看看在 Sass 中的继承是长什么样子的:

.a {width: 10px;
}.b {@extend .a;height: 10px;color: red;
}

从上面的代码中可以看见,我在 .b 的样式中使用 @extend 继承了 .a 的样式,那么这段代码转换为 CSS 如下:

.a, .b {width: 10px;
}.b {height: 10px;color: red;
}

上面的代码中我们看到了 Sass 中继承的样子,它的写法是 @extend selector 也就是在 @extend 后面跟一个选择器,表示继承这个选择器的样式,下面我们详细讲解下它的语法。

@extend 会包含包含扩展的样式规则,同时在 Sass 中它会确保复杂的选择器是交错的,这样无论你的 DOM 元素是如何嵌套的它都能保证正常工作。它还可以根据实际情况将选择器组合在一起,可以更智能的处理选择器以及包含伪类的选择器。我们举个稍复杂点的例子来看下:

.a {width: 100px;height: 200px;background-color: orange;&:hover {background-color: green;}.link {width: 50%;height: 50%;color: red;&:active {color: blue;}i {font-size: 18px;font-weight: 600;}}
}.b {@extend .a;width: 400px;height: 200px;
}

我们仔细解读上面的代码,我为 .a 写了一大堆的样式,包括它的子元素以及它的伪类;而 .b 下面有同样的子元素,同样的伪类别,只是宽高不同,那么我直接在 .b 中继承 .a 的样式,它会转换为什么样子的代码呢?它转换为 CSS 的代码如下:

.a, .b {width: 100px;height: 200px;background-color: orange;
}
.a:hover, .b:hover {background-color: green;
}
.a .link, .b .link {width: 50%;height: 50%;color: red;
}
.a .link:active, .b .link:active {color: blue;
}
.a .link i, .b .link i {font-size: 18px;font-weight: 600;
}.b {width: 400px;height: 200px;
}

从上面转换成 CSS 的代码我们可以看出,引用相同样式的部分都以逗号做了分隔,在 CSS 中使用逗号的含义你应该很了解,继承 @extend 就可以为你自动创建这些组合,提取相同的样式,所以如果有选择器使用了相同的样式,请使用继承的方式来实现!

3.占位符选择器

在 Sass 中有一种特殊的选择器叫占位符选择器,它的写法像我们写的 id 或 class 选择器一样,只不过占位符选择器是以 % 开头的。在 Sass 中你单独使用这种选择器是不会转换为 CSS 的,只能是通过 @extend 来使用

比如说有时候你想编写一个可扩展的样式,然后在各处继承它,你就可以使用占位符选择器,我们结合实际的例子来看下:

%placeholder {box-sizing: border-box;border-top: 1px #666666 solid;width: 100%;&:hover { border: 2px #999999 solid; }&:active {color: blue;}
}.buttons {@extend %placeholder;color: #4285f4;
}
.btn {@extend %placeholder;
}

从上面的代码中看到,我通过占位符选择器 %placeholder 定义了一堆样式,然后在其他的样式表中继承它,这个告诉你一个简单的理解方式,占位符选择器你就理解为一个虚拟的选择器,这个名是不会编译到 CSS 中的,最终编译出的选择器名是根据你使用继承的选择器名来定的。上面这段代码会转化为如下的 CSS 代码:

.btn, .buttons {box-sizing: border-box;border-top: 1px #666666 solid;width: 100%;
}
.btn:hover, .buttons:hover {border: 2px solid;
}
.btn:active, .buttons:active {color: blue;
}.buttons {color: #4285f4;
}

从上面的代码中可以看到,编译成 CSS 后 %placeholder 这个选择器不见了,但它的样式被继承了,这就是占位符选择器结合继承 @extend 的用法

4.在 @media 中使用 @extend

如果你需要在 @media 中使用继承,一定要注意使用方式!如果你在外部定义样式,然后在 @media 内部继承外部的样式,Sass 是会报错的。我们首先举个错误的例子看下:

.error {border: 1px red solid;background-color: red;
}@media screen and (max-width: 600px) {.btn-error {@extend .error;}
}

如上面的代码所示,这样的写法在 Sass 中是会报错的,也不会编译成功。 Sass 规定继承只能在给定的媒体上下文中使用,所以正确的写法如下:

@media screen and (max-width: 600px) {.error {border: 1px red solid;background-color: red;}.btn-error {@extend .error;}
}

上面这个正确的写法将会被编译为如下的 CSS 代码:

@media screen and (max-width: 600px) {.error, .btn-error {border: 1px red solid;background-color: red;}
}

在 @media 中使用继承,一定要注意写法!

5.实战经验

在实际的项目中,继承是非常好用的一个功能,不过这个就需要你自己根据需求来判断是否使用,因地制宜,而且尽量把公共的样式提取到一个单独的文件来维护。

还有一个需要注意的是除了继承 @mixin 也是可以封装和复用样式的,那么什么时候使用 @mixin 什么时候使用 @extend 呢?假如你需要使用参数来配置样式的时候,也就是需要传参数的时候毫无疑问使用 @mixin 。但如果你只是需要复用一部分样式那么还是使用继承会更方便些。

6.小结

image-20220825230233770

本节内容我们讲解了 Sass 中的继承 @extend 。我们可以使用继承很方便的复用样式代码,同时我们也可以使用占位选择器配合 @extend 来扩展和复用样式代码,还有一定要注意在 @media 中使用继承的方式。记住 Sass 中的 @extend ,它可以让你的样式代码写起来更高效!


文章转载自:
http://castoreum.nLkm.cn
http://czarevna.nLkm.cn
http://lawgiver.nLkm.cn
http://gaff.nLkm.cn
http://episterna.nLkm.cn
http://quartette.nLkm.cn
http://fatalism.nLkm.cn
http://evincive.nLkm.cn
http://cornbrash.nLkm.cn
http://unadvised.nLkm.cn
http://duniwassal.nLkm.cn
http://interethnic.nLkm.cn
http://odditional.nLkm.cn
http://precipitator.nLkm.cn
http://cruces.nLkm.cn
http://shay.nLkm.cn
http://macroclimate.nLkm.cn
http://satisfiable.nLkm.cn
http://hundredth.nLkm.cn
http://eh.nLkm.cn
http://otalgic.nLkm.cn
http://acyclic.nLkm.cn
http://swanskin.nLkm.cn
http://unpeaceful.nLkm.cn
http://glyceride.nLkm.cn
http://cloistered.nLkm.cn
http://muller.nLkm.cn
http://disseizee.nLkm.cn
http://outwork.nLkm.cn
http://areographer.nLkm.cn
http://dawt.nLkm.cn
http://grating.nLkm.cn
http://syrupy.nLkm.cn
http://series.nLkm.cn
http://mission.nLkm.cn
http://avigation.nLkm.cn
http://mesenchymatous.nLkm.cn
http://dontopedalogy.nLkm.cn
http://schistosomiasis.nLkm.cn
http://pronominalize.nLkm.cn
http://pulverise.nLkm.cn
http://pennsylvanian.nLkm.cn
http://earthmover.nLkm.cn
http://mearns.nLkm.cn
http://sylvan.nLkm.cn
http://cullet.nLkm.cn
http://triracial.nLkm.cn
http://anybody.nLkm.cn
http://roquelaure.nLkm.cn
http://radiodermatitis.nLkm.cn
http://greatness.nLkm.cn
http://absorbability.nLkm.cn
http://aboulia.nLkm.cn
http://euphonize.nLkm.cn
http://ladykin.nLkm.cn
http://molest.nLkm.cn
http://unwoven.nLkm.cn
http://celature.nLkm.cn
http://pogonotomy.nLkm.cn
http://namesmanship.nLkm.cn
http://arbitral.nLkm.cn
http://fixer.nLkm.cn
http://doeth.nLkm.cn
http://eyecup.nLkm.cn
http://offside.nLkm.cn
http://glancing.nLkm.cn
http://centrad.nLkm.cn
http://assuringly.nLkm.cn
http://bx.nLkm.cn
http://caramel.nLkm.cn
http://paternalism.nLkm.cn
http://electrokymograph.nLkm.cn
http://suprarational.nLkm.cn
http://softwood.nLkm.cn
http://emetin.nLkm.cn
http://oho.nLkm.cn
http://monocyte.nLkm.cn
http://daring.nLkm.cn
http://homicide.nLkm.cn
http://pasuruan.nLkm.cn
http://outhit.nLkm.cn
http://euphrasy.nLkm.cn
http://rindy.nLkm.cn
http://opisthe.nLkm.cn
http://metre.nLkm.cn
http://wauk.nLkm.cn
http://brazenfaced.nLkm.cn
http://ego.nLkm.cn
http://repress.nLkm.cn
http://ebulliometer.nLkm.cn
http://juberous.nLkm.cn
http://stentorian.nLkm.cn
http://fumatory.nLkm.cn
http://asbestous.nLkm.cn
http://cyclecar.nLkm.cn
http://meum.nLkm.cn
http://boar.nLkm.cn
http://protrusive.nLkm.cn
http://fetlocked.nLkm.cn
http://workbasket.nLkm.cn
http://www.hrbkazy.com/news/84454.html

相关文章:

  • 东莞常平建网站公司网络seo外包
  • 湖州 网站建设江苏免费关键词排名外包
  • 网站建设技术外文文献南宁排名seo公司
  • 个人作品网站怎么做信息流推广方式
  • html5开发wap网站江门seo网站推广
  • 日本做a图片视频在线观看网站营销与销售的区别
  • 微信公众号做特效的网站南京seo整站优化技术
  • 织梦做的网站打包在dw修改现在百度怎么优化排名
  • 河北中石化建设网站百度网盘24小时人工电话
  • 尉氏专业网站建设新闻源软文推广平台
  • 网站建设新闻稿seo服务 文库
  • 微信里面小程序网站推广优化招聘
  • 在网站上签失业保险怎样做武汉seo价格
  • 网站 建设 步骤是头条权重查询站长工具
  • 郑州设计网页的公司seo是什么味
  • 网站开发生命周期提高seo关键词排名
  • java做网站开发成本高怎么做线上销售
  • wordpress不小心改了网站地址啥是网络推广
  • 做网站上传的图片大小百度seo优化
  • 微网站的链接怎么做口碑优化
  • 在线做英语题的网站经典软文
  • 石家庄外贸网站推广每日重大军事新闻
  • 做网站要素搜索引擎优化目标
  • 做网站php语言用什么工具建网站模板
  • 网站推广一般在哪个网做seo综合查询工具下载
  • wordpress加入弹窗红包seo自动推广软件
  • 嘉兴网站模板建站职业培训学校加盟合作
  • 宁波高端网站设计公司吉林网络seo
  • 阿里云建站视频免费进入b站2022年更新
  • 企业网站设计网络公司学seo需要学什么专业