热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开发一个自己的CSS框架(二)

这一期我们来添加按钮的图标,与常用的附加类,附加类指的是修改文字颜色、背景颜色,边框等等。修改srcbutton.sass给图标与文字之间

这一期我们来添加按钮的图标,与常用的附加类,附加类指的是修改文字颜色、背景颜色,边框等等。

修改 src/button.sass 给图标与文字之间添加一些间距。

// 图标兼容
.btni.icondisplay: inline-blockwidth: .9rem&.rightpadding-left: .5rem&.leftpadding-right: .3rem&.large i.icon&.rightpadding-left: .7rem&.leftpadding-right: 1.3rem

然后添加图标,这里我们直接使用 ionic 提供的图标。

在 html 导入

在这里可以找到文档 https://ionicons.com/usage ,然后我们像这样去使用它。

删除文章删除文章

添加颜色辅助类

定义了 2个数组,从数组里面取元素的时候用 nth 方法,through 可以构造一个区间,length 方法可以取到数组长度,其实这里用 dict 字典会更好,只不过为了让大家学到更多的知识点,所以用了 @for 循环的方式。text 修改的是文字颜色,bg 修改的是背景颜色。

$colors: $dark, $light, $gray, $blue, $deep-blue, $red, $yellow, $green
$names: 'dark', 'light', 'gray', 'blue', 'deep-blue', 'red', 'yellow', 'green'@for $i from 1 through length($colors).text-#{nth($names, $i)}color: nth($colors, $i).bg-#{nth($names, $i)}background: nth($colors, $i)

添加清浮动辅助类

以 = 开头的是一段 mixin,即可混合对象,它表示一个可复用的一个函数,它可以接受参数,这里因为没有参数,所以可以省略。

=clearfix&::aftercontent: ' 'display: tableclear: both.clearfix+clearfix

还有另外一种 @extend 继承。

%message-sharedborder: 1px solid #cccpadding: 10pxcolor: #333.message@extend %message-shared.success@extend %message-sharedborder-color: green

会编译成,这样表示选择器的复用,多个选择器应用同一个样式。

.message, .success {border: 1px solid #cccccc;padding: 10px;color: #333;
}.success {border-color: green;
}

文字辅助类

文字对齐,文字大小,超出省略等等。

.text-righttext-aligh: right.text-lefttext-align: left.f8font-size: .8rem
.f9font-size: .9rem
.f1font-size: 1rem
.f12font-size: 1.2rem
.f14font-size: 1.4rem.text-ellipsiswhite-space: nowrapoverflow: hiddentext-overflow: ellipsis

区块间隔辅助类

内边距与外边距

.p1rempadding: 1rem.m1remmargin: 1rem.p51rempadding: .5rem 1rem.m51remmargin: .5rem 1rem

居中辅助类

一个是基于 absolute 居中,一个是基于 flex 居中,flex 居中样式必须放在父类上。

.ab-centerposition: absolutetop: 50%left: 50%transform: translate(-50%,-50%).fx-centerdisplay: flexalign-items: centerjustify-content: center

最终结果,果然彩虹。

最后我在说一下为什么要把这些辅助类提取出来?

首先是因为非常的常用,其次,是因为加入不提取出来,使用单独的一个 class ,虽然这样非常的符合语义化,以及结构与样式分离,但是会导致样式非常多。

要么 css 多,要么 html class 多,两着之间总要有一个取舍,我们只能尽量找到一个平衡点。

所有代码都已完成查看 https://github.com/MiYogurt/N... 获取源码。

扫描下面二维码,关注微信公众号,每周免费获取精品前端小课连载,每周更新,还在等什么?赶快关注吧。



推荐阅读
  • skia~setDIBitsToDevice~Windows
    问题:skia是一个图形库,本身没有在设备上作图的能力,可以通过提供的SkView类,参考实现对不同平台设备上作画。SkOsWindow_Win.cpp:onPaint方法中提供了 ... [详细]
  • 本文详细解析了JavaScript中相称性推断的知识点,包括严厉相称和宽松相称的区别,以及范例转换的规则。针对不同类型的范例值,如差别范例值、统一类的原始范例值和统一类的复合范例值,都给出了具体的比较方法。对于宽松相称的情况,也解释了原始范例值和对象之间的比较规则。通过本文的学习,读者可以更好地理解JavaScript中相称性推断的概念和应用。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了使用Java实现大数乘法的分治算法,包括输入数据的处理、普通大数乘法的结果和Karatsuba大数乘法的结果。通过改变long类型可以适应不同范围的大数乘法计算。 ... [详细]
  • Webpack5内置处理图片资源的配置方法
    本文介绍了在Webpack5中处理图片资源的配置方法。在Webpack4中,我们需要使用file-loader和url-loader来处理图片资源,但是在Webpack5中,这两个Loader的功能已经被内置到Webpack中,我们只需要简单配置即可实现图片资源的处理。本文还介绍了一些常用的配置方法,如匹配不同类型的图片文件、设置输出路径等。通过本文的学习,读者可以快速掌握Webpack5处理图片资源的方法。 ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • 猜字母游戏
    猜字母游戏猜字母游戏——设计数据结构猜字母游戏——设计程序结构猜字母游戏——实现字母生成方法猜字母游戏——实现字母检测方法猜字母游戏——实现主方法1猜字母游戏——设计数据结构1.1 ... [详细]
  • Html5-Canvas实现简易的抽奖转盘效果
    本文介绍了如何使用Html5和Canvas标签来实现简易的抽奖转盘效果,同时使用了jQueryRotate.js旋转插件。文章中给出了主要的html和css代码,并展示了实现的基本效果。 ... [详细]
  • 在JavaScript中,函数没有重载的概念,如果声明了多个重名的函数,不管函数的形参个数是否一样,只有最后一个有效。如果调用函数时传入的参数个数与函数定义时的参数个数不符,会出现不同的情况。函数调用时,传入的参数个数少于函数定义时的参数个数,未传入的参数会被当做undefined处理,可能会导致错误。而传入的参数个数多于函数定义时的参数个数,多余的参数不会被使用,但不会报错。 ... [详细]
  • Java图形化计算器设计与实现
    本文介绍了使用Java编程语言设计和实现图形化计算器的方法。通过使用swing包和awt包中的组件,作者创建了一个具有按钮监听器和自定义界面尺寸和布局的计算器。文章还分享了在图形化界面设计中的一些心得体会。 ... [详细]
  • Highcharts翻译系列之二十:曲线图例子(二)
    Highcharts翻译系列之二十:曲线图例子(二)代码 ... [详细]
  • Linux上的文件类型与默认图标
    linux,上,的,文件 ... [详细]
  • POJ 1046 Color Me Less
    ColorMeLessTimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 31449 Accept ... [详细]
  • 我正在使用ChemDoodleWebComponents在网页上显示分子。基本上,我可以在我的页面中插入以下脚本,它将创建一个HTML5canvas元素来显示分子。vartrans ... [详细]
author-avatar
火云邪神
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有