前端常用样式组元SCSS

news2025/1/12 23:35:55

* {

    margin: 0;

    padding: 0;

    border: 0;

    box-sizing: border-box;

}

#主题色

$primary: #183ee4;

$success: #0cce63;

$danger: #f00c63;

@mixin setThemeBgColor($name, $oClor, $start, $end) {

    .#{$name}-color {

        color: $oClor

    }

    .#{$name}-color-active {

        color: darken($oClor, 20%)

    }

    .#{$name}-bg {

        background-color: $oClor

    }

    @for $num from $start through $end {

        $color: lighten($oClor, percentage($num/10));

        .#{$name}-color-#{$num} {

            color: $color

        }

        .#{$name}-bg-#{$num} {

            background-color: $color

        }

    }

}

@mixin setTheme($name, $oClor, $start, $end) {

    --#{$name}:#{$oClor};

    --#{$name}-active: #{darken($oClor, 20%)};

    @for $num from $start through $end {

        $color: lighten($oClor, percentage($num/10));

        --#{$name}-#{$num}: #{$color};

    }

}

:root {

    @include setTheme(primary, $primary, 1, 4);

    @include setTheme(success, #0cce63, 1, 4);

    @include setTheme(danger, #f00c63, 1, 4);

}

@include setThemeBgColor(primary, $primary, 1, 4);

@include setThemeBgColor(success, #0cce63, 1, 4);

@include setThemeBgColor(danger, #f00c63, 1, 4);

@for $num from 0 through 7 {

    .clor#{$num} {

        color: lighten(#000, percentage($num/10));

    }

}

@for $index from 1 through 3 {

    $num: $index+5;

    .borderL#{$num} {

        border-left: 1px solid lighten(#000, percentage($num/10));

    }

    .borderR#{$num} {

        border-right: 1px solid lighten(#000, percentage($num/10));

    }

    .borderT#{$num} {

        border-top: 1px solid lighten(#000, percentage($num/10));

    }

    .borderB#{$num} {

        border-bottom: 1px solid lighten(#000, percentage($num/10));

    }

}

@mixin setPdMg($cName, $dName) {

    @for $index from 1 through 10 {

        $num: 5*$index;

        .#{$cName}L#{$num} {

            #{$dName}-left:#{$num}px;

        }

        .#{$cName}R#{$num} {

            #{$dName}-right:#{$num}px;

        }

        .#{$cName}T#{$num} {

            #{$dName}-top:#{$num}px;

        }

        .#{$cName}B#{$num} {

            #{$dName}-bottom:#{$num}px;

        }

        .#{$cName}H#{$num} {

            @extend .#{$cName}L#{$num};

            @extend .#{$cName}R#{$num};

        }

        .#{$cName}V#{$num} {

            @extend .#{$cName}T#{$num};

            @extend .#{$cName}B#{$num};

        }

        .#{$cName}#{$num} {

            @extend .#{$cName}V#{$num};

            @extend .#{$cName}H#{$num};

        }

    }

}

@include setPdMg(mg, margin);

@include setPdMg(pd, margin);

@mixin setComm($cName, $aName, $start, $end, $stup) {

    @for $num from $start through $end {

        $val: $num+$stup;

        .#{$cName}#{$val} {

            #{$aName}:#{$val}px

        }

    }

}

@include setComm(fs, font-size, 10, 40, 2);

@include setComm(lh, line-height, 10, 40, 6);

@include setComm(rd, border-radius, 4, 20, 2);

@for $num from 1 through 8 {

    $val: $num*100;

    .fw#{$num} {

        font-weight:#{$val}

    }

}

.flex {

    display: flex;

}

.flex-c {

    flex-direction: column;

}

.flex-wrap {

    flex-wrap: wrap;

}

.jcs {

    justify-content: flex-start;

}

.jcc {

    justify-content: center;

}

.jce {

    justify-content: flex-end;

}

.jca {

    justify-content: space-around;

}

.jcb {

    justify-content: space-between;

}

.ais {

    align-items: flex-start;

}

.aic {

    align-items: center;

}

.aie {

    align-items: flex-end;

}

按钮样式:

$lh: 38px;

$dh: 32px;

$sh: 26px;

$mh: 20px;

$lp: 0 10px;

$dp: 0 15px;

$sp: 0 10px;

$mp: 0 6px;

$dr: 4px;

$fs: 14px;

$fss: 12px;

$fms: 10px;

button,

.btn {

    height: $dh;

    line-height: $dh;

    padding: $dp;

    border-radius: $dr;

    font-size: $fs;

    background-color: #cdcdcd;

    cursor: pointer;

    &.small {

        height: $sh;

        line-height: $sh;

        padding: $sp;

        font-size: $fss;

    }

    &.mini {

        height: $mh;

        line-height: $mh;

        padding: $sp;

        font-size: $fms;

    }

    &.small.around {

        border-radius: 10px;

    }

    &.mini.around {

        border-radius: 8px;

    }

    &.around {

        border-radius: 15px;

    }

    &.block {

        width: 100%;

        display: block;

    }

    @each $type in primary, success, danger {

        &.#{$type} {

            background-color: var(--#{$type});

            color: #fff;

        }

        &.#{$type}.plan {

            border: 1px solid var(--#{$type});

            background-color: #fff;

            color: var(--#{$type});

        }

    }

    &[disabled] {

        opacity: .6;

        user-select: none;

        cursor: not-allowed;

    }

}

按钮效果:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1623667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MATLAB非均匀网格梯度计算

在matlab中,gradient函数可以很方便的对均匀网格进行梯度计算,但是对于非均匀网格,但是gradient却无法求解非均匀网格的梯度,这一点我之前犯过错误。我之前以为在gradient函数中指定x,y等坐标,其求解的就是…

《MATLAB科研绘图与学术图表绘制从入门到精通》示例:绘制婴儿性别比例饼图

在MATLAB 中可以使用 pie 函数来创建饼图。饼图是一种展示不同部分占总体的相对比例的图表。 本示例从“婴儿出生数据.csv”文件读取婴儿出生数据,然后计算男性和女性婴儿的数量,使用MATLAB绘制饼图。 配套图书链接:https://item.jd.com…

用c++实现起泡排序、哈密顿回路问题、TSP问题

5.3.2 起泡排序 【问题】 起泡排序(bubble sort)的基本思想是:两两比较相邻记录,如果反序则交换,直至没有反序的记录,如图5.8所示。【想法】下表给出了一个起泡排序的例子(方括号括起来的为无序区)&#x…

数组模拟几种基本的数据结构

文章目录 数组模拟单链表数组模拟双链表数组实现栈数组模拟队列总结 数组模拟单链表 首先类比结构体存储单链表,我们需要一个存放下一个节点下标的数组,还需要一个存储当前节点的值的数组,其次就是一个int类型的索引,这个索引指向…

【智能算法】金豺优化算法(GJO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2022年,N Chopra等人受到金豺狩猎行为启发,提出了金豺优化算法(Golden Jackal Optimization, GJO)。 2.算法原理 2.1算法思想 GJO 模拟金豺协同狩猎…

vlan的学习笔记2(vlan间通信)

1.使用路由器的物理接口 原理:在二层交换机上配置VLAN,每个VLAN单独使用一个交换机接口与路由器互联。路由器使用两个物理接口,分别作为VLAN 10及VLAN 20内PC的默认网关,使用路由器的物理接口实现VLAN之间的通信。 实验1&#x…

关于后台管理系统的一些系统监控案例

关于后台管理系统的一些系统监控案例 在阅读开源的项目的时候,发现了一个很神奇的功能。 https://github.com/valarchie/AgileBoot-Back-End 我这个是本地去运行的,发现他可以检测到这么多的数据 下面我们就来看他是如何进行的这样一个检测 我们首先…

美国网站服务器解决方案

在当今互联网时代,网站是企业宣传、营销和销售的最好方式,因此,选择一个适合自己企业的网站服务器解决方案很重要。美国作为全球网络基础设施最发达的国家之一,其网站服务器解决方案具有以下特点: 一、安全性高 作为全…

【C# 类和方法】

在C#中,类是面向对象编程的核心概念之一,允许定义对象的结构和行为。类是创建对象的蓝图,它包含了数据成员(属性)和方法。 C#类的定义示例: public class Person {// 属性(字段)pub…

校园一卡通解决方案概述

在20世纪数字化的时代背景之下,校园管理需要跟随时代的脚步共同向智能化方向迈进。现在学校的环境都在不断的升级扩展,各种教学设备不断的被纳入校园管理体系中,让校园管理的规模和内容不断的膨胀。在这种环境下,如果继续按照以前…

vue3+node.js+mysql+ant design实现表格的查询功能

今日主要分享如何运用vue、nodejs、mysql及ant design构建表格数据查询功能,这也是众多项目开发者关注的问题。最关键在于前端与后端的协作,后端数据则通过nodejs编写。尽管涉及多项技术,看似复杂,但实际操作却并非困难。当然&…

区块链 | OpenSea 相关论文:Toward Achieving Anonymous NFT Trading(三)

🥑原文: Toward Achieving Anonymous NFT Trading VII 讨论:关于匿名性与市场平台的困境 在本文的这一部分,我们将讨论关于隐藏 NFT 所有者地址的困境,以及为什么像 OpenSea 这样的 NFT 市场平台几乎必须得到完全的信…

Redis中的Lua脚本(六)

Lua脚本 清空repl_scriptcache_dict字典 每当主服务器添加一个新的从服务器时,主服务器都会清空自己的repl_scriptcache_dict字典,这是因为随着新从服务器的出现,repl_scriptcache_字典里面记录的脚本已经不再被所有从服务器载入过&#xf…

mongodb 安装问题

1. mongodb启动时显示 Illegal instruction (core dumped) mongodb 5.0之后(包括5.0) 开始使用需要使用 AVX 指令集 2.启动时报错 ERROR: child process failed, exited with 1 通过指令 bin/mongod --repair 或 ./bin/mongod -f configs/mongodb.conf --repair查看报错信息…

电力系统IEC-104报文主要常用详解

文章目录 1️⃣ IEC-1041.1 前言1.2 报文分类1.3 U帧报文1.3.1 常见报文1.3.1 报文解析 1.4 S帧报文1.4.1 说明1.4.2 报文解析 1.5 I帧报文1.5.1 报文解析 1.6 控制域I帧报文S帧报文U帧报文介绍 1.7 ASDU1.7.1 常见类型标识1.7.2 常见结构限定词1.7.3 常见传送原因1.7.4 信息体…

主食冻干哪个国家的好?全网热销款品控好的主食冻干必买

主食冻干哪个国家的好?谈及主食冻干哪款好,进口的主食冻干总是能被提名。不论是在哪个电商平台搜索“主食冻干”,都会发现那些备受推崇是进口主食冻干。从销售数据上看,这些进口冻干在大型促销活动如双11、618中的销量一直居高不下…

ctfshow菜狗杯 web 无算力以及easyPytHon_P

web签到题 error_reporting(0); highlight_file(__FILE__);eval($_REQUEST[$_GET[$_POST[$_COOKIE[CTFshow-QQ群:]]]][6][0][7][5][8][0][9][4][4]);套娃传参 中文要编码 Cookies :CTFshow-QQ%E7%BE%A4:a POST:ab GET:?bc&c[6][0][7][5][8][0][9][4][4]syste…

eNSP学习——静态路由及默认路由基本配置

目录 知识背景 实验目的 实验步骤 实验内容 实验拓扑 实验编址 实验前期准备 实验步骤 1、基本配置(按照实验编址设置好对应的IP地址) 2、是实现主机之间的通信 3、实现全网全通来增强网络的可靠性 4、使用默认路由实现简单的网络优化 需要各…

ROS摄像机标定

文章目录 一、环境准备二、摄像头标定2.1 为什么要标定2.2 标定前准备2.2.1 标定板2.2.2 摄像头调焦 2.3 开始标定2.4 测试标定结果 总结参考资料 一、环境准备 安装usb_cam相机驱动 sudo apt-get install ros-noetic-usb-cam 安装标定功能包 sudo apt-get install ros-noet…

ERP系统直击模切企业痛点,提升企业供应链效率

随着全球化经济的不断发展,供应链管理越来越成为企业经营的核心竞争力之一。因此,越来越多的企业正在积极寻找转型升级之路,对于生产制造模切企业来说,ERP系统尤其关键。 尽管ERP系统解决了企业资源计划的问题,但在模…