Sass实现文字两侧横线及Sass常用方案

Sass常用方案及Sass实现文字两侧横线

  • 1.Sass实现文字两侧横线
  • 2.`用Sass简化`媒体查询
  • 3.使用继承+占位符实现样式复用
  • 4.Sass 模块化
  • 5.lighten 和 darken

自我记录

1.Sass实现文字两侧横线

@mixin 的基本作用:

  • 代码复用:把常用的样式封装在一起,不需要重复写相同的代码。
  • 参数化:可以通过参数动态生成样式,提高灵活性。
  • 逻辑处理:结合 Sass 的控制语句(如 @if、@for),可以实现条件逻辑的样式生成。
// 抽离公共样式
@mixin before-after-common-line($width: 40rpx) {content: '';position: absolute;top: 50%;transform: translateY(-50%);width: $width;height: 1rpx;background: #333333;@content;
}
.test{position: relative;&::before {@include before-after-common-line {left: -64rpx;}}&::after {@include before-after-common-line(40rpx) {right: -64rpx;}}
}

在这里插入图片描述

简单记录一下sass的基础复用

2.用Sass简化媒体查询

// 用Sass的混合实现媒体查询
$breakpoints: (phone:(320px, 480px),pad:(481px, 768px),notebook:(769px, 1024px),desktop:(1025px, 1200px),tv:1201px
);@mixin responseTo($d_name) {$bp: map-get($breakpoints, $d_name);@if type-of($bp)=='list' {@media (min-width:nth($bp, 1)) and (max-width:nth($bp, 2)) {@content;}}@else {@media (min-width:$bp) {@content;}}
}

使用

.nav {@include responseTo('phone') {width: 100px;}@include responseTo('pad') {width: 200px;}
}

3.使用继承+占位符实现样式复用

@mixin 混合注入 会冗余代码
@extend 继承 会去直接继承父类
@extend 配合 % 占位符使用更完美

//完美继承 使用%占位符去除无用类代码
%tip {font-size: 28px;opacity: 0.8;text-decoration: underline;
}.tip-msg {@extend %tip;color: #666;
}.tip-waring {@extend %tip;color: orange;
}.tip-error {@extend %tip;color: red;
}.tip-success {@extend %tip;color: green;
}

普通继承

// 普通继承 会冗余 .tip 代码
.tip {font-size: 28px;opacity: 0.8;text-decoration: underline;
}.tip-msg {@extend .tip;color: #666;
}.tip-waring {@extend .tip;color: orange;
}.tip-error {@extend .tip;color: red;
}.tip-success {@extend .tip;color: green;
}// 混合注入样式 会冗余代码
@mixin tips-mixin {font-size: 28px;opacity: 0.8;text-decoration: underline;
}
.tip-msg-include {@include tips-mixin;color: #666;
}.tip-waring-include {@include tips-mixin;color: orange;
}.tip-error-include {@include tips-mixin;color: red;
}.tip-success-include {@include tips-mixin;color: green;
}

4.Sass 模块化

@import 运行时 与css一样
@import 编译时 直接把编译结果生成 sass不建议用作编译时态 问题如下三点

  • 混淆: 需要区分是运行时还是编译时状态
  • 污染: 变量冲突
  • 私有: 只要在文件写了就全部暴露出去了,不像js需要导出

@use

  • 命名空间 就是文件名字 as * | xx就是别名
  • 私有性 _ 开头$_color
// @import url('xxxx.scss'); // 运行时
// @import './xxxx.scss';// 编译时
// @use '../../../common.scss';// 命名空间 就是文件名字
// @use './common.scss';// 命名空间 就是文件名字
// @use './abc.scss';// 命名空间 就是文件名字
// .test {
//   color: common.$color;
// }
// .test1 {
//   color: abc.$color;
// }@use './common.scss' as *;// 命名空间 别名
@use './abc.scss' as b;// 命名空间 别名.test {color: $color;
}
.test1 {color: b.$color;
}
// 私有性 加_就可以

5.lighten 和 darken

在这里插入图片描述

lighten 使颜色变浅 color:lighten($color: #000000, $amount: 0);

  • 第一个是颜色
  • 第二个是变浅多少
    darken 使颜色变深 color:darken($color: #000000, $amount: 0);
  • 第一个是颜色
  • 第二个是变深多少
// @use 'sass:color';body {display: flex;justify-content: space-around;align-items: center;
}.btn {border: none;outline: none;line-height: 1;white-space: nowrap;cursor: pointer;text-align: center;transition: 0.1s;width: 100px;height: 40px;border-radius: 10px;margin: 0 auto;
}$btnColors: #409eff, #67c23a, #e6a23c, #f56c6c, #6c6d71;@for $i from 1 through length($btnColors) {.btn.type-#{$i} {$bg: nth($btnColors, $i);$color: #fff;background-color: $bg;color: $color;&:hover {background-color: lighten($bg, 10%);}&:active {background-color: darken($bg, 10%);}&:disabled {background-color: lighten($bg, 20%);color: lighten($color, 40%);cursor: not-allowed;}}}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>按钮颜色</title><link rel="stylesheet" href="./index.css"></link>
</head>
<body><button disabled class="btn type-1">按钮</button><button class="btn type-2">按钮</button><button class="btn type-3">按钮</button><button class="btn type-4">按钮</button><button class="btn type-5">按钮</button>
</body>
</html>

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

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

相关文章

SpringCloud-04 OpenFeign服务调用与负载均衡

OpenFeign是一个声明式、模板化的HTTP客户端&#xff0c;它简化了在Java应用程序中调用RESTful API的过程。OpenFeign是Netflix开发的一个开源项目&#xff0c;它构建在Feign的基础上&#xff0c;为开发者提供了更加简单、灵活的方式来实现HTTP请求。OpenFeign的特点包括&#…

地平线秋招2025

【地平线秋招】 中秋卷起来&#xff01;&#xff01;&#xff01; 内推码 kbrfck 内推码 kbrfck 内推码 kbrfck 投递链接&#xff1a;https://wecruit.hotjob.cn/SU62d915040dcad43c775ec12c/mc/position/campus?acotycoCodekbrfck&recruitType1&isLimitShowPostScope…

【Google Chrome Windows 64 version及 WebDriver 版本】

最近升级到最新版本Chrome后发现页面居然显示错乱实在无语, 打算退回原来的版本, 又发现官方只提供最新的版本下载, 为了解决这个问题所有收集了Chrome历史版本的下载地址分享给大家. Google Chrome Windows version 64 位 VersionSize下载地址Date104.0.5112.10282.76 MBhtt…

STL相关简介

string 看到这个词&#xff0c;相信大家一定都很好奇什么是string&#xff0c;它有什么作用呢&#xff1f;今天&#xff0c;就让我们一起来了解一下关于string的简介吧~ 目录 string 1. 什么是STL 2. STL的版本 3. STL的六大组件 4. STL的重要性 5. 如何学习STL 6.STL的…

Unity实战案例全解析 :PVZ 植物脚本分析

植物都继承了Pants脚本&#xff0c;但是我因为没注意听讲&#xff0c;把Pants也挂在植物上了&#xff0c;所以子类的PlantEnableUpdate和PlantDisableUpdate抢不过父类&#xff0c;无法正确触发动画&#xff0c;我还找不到哪里出了问题&#xff0c;所以就使用了携程加while强行…

bpf的了解以及bpftrace的简单练习

最近接触到bpf的概念&#xff0c;简单做一些练习&#xff0c;做以下整理&#xff0c;学习笔记。 0&#xff1a;总结 使用ebpf可以实现的功能打开新世界&#xff0c;可以不改变源码的情况下&#xff0c;实现内存&#xff0c;网络&#xff0c;对应接口等各种期望内容的监控。 …

王者荣耀改重复名(java源码)

王者荣耀改重复名 项目简介 “王者荣耀改重复名”是一个基于 Spring Boot 的应用程序&#xff0c;用于生成王者荣耀游戏中的唯一名称。通过简单的接口和前端页面&#xff0c;用户可以输入旧名称并获得一个新的、不重复的名称。 功能特点 生成新名称&#xff1a;提供一个接口…

C++基础知识7 list

list 1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.2.5 list modifiers1.2.6 list的迭代器失效 2.1 模拟实现list 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 l…

aspcms 获取webshell漏洞复现

1.通过访问/admin_aspcms/login.asp来到后台 使用admin 123456 登录 2.点击扩展功能-幻灯片设置-保存&#xff0c;同时进行抓包 3.修改数据包中的slideTextStatus字段&#xff0c;将其更改为 1%25><%25Eval(Request (chr(65)))%25><%25 密码为a 4.访问木马的地…

面试官:讲一讲Spring MVC源码解析

好看的皮囊千篇一律、有趣的灵魂万里挑一 文章持续更新&#xff0c;可以微信搜索【小奇JAVA面试】第一时间阅读&#xff0c;回复【资料】获取福利&#xff0c;回复【项目】获取项目源码&#xff0c;回复【简历模板】获取简历模板&#xff0c;回复【学习路线图】获取学习路线图。…

wopop靶场漏洞挖掘练习

1、SQL注入漏洞 1、在搜索框输入-1 union select 1,2,3# 2、输入-1 union select 1,2,database()# &#xff0c;可以得出数据库名 3、输入-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schematest#&#xff0c;可以得出数据库中…

C++ | Leetcode C++题解之第405题数字转换为十六进制数

题目&#xff1a; 题解&#xff1a; class Solution { public:string toHex(int num) {if (num 0) {return "0";}string sb;for (int i 7; i > 0; i --) {int val (num >> (4 * i)) & 0xf;if (sb.length() > 0 || val > 0) {char digit val …

JDBC实现对单表数据增、删、改、查

文章目录 API介绍获取 Statement 对象Statement的API介绍使用步骤案例代码 JDBC实现对单表数据查询ResultSet的原理ResultSet获取数据的API使用JDBC查询数据库中的数据的步骤案例代码 API介绍 获取 Statement 对象 在java.sql.Connection接口中有如下方法获取到Statement对象…

汽车电子笔记之-013:旋变硬解码ADI芯片AD2S1210使用记录(从零开始到软件实现)

目录 1、概述 2、技术规格 3、芯片引脚 4、旋变信号格式 5、使用过程只是要点分析 5.1、程序注意点分析 5.1.1、SPI配置时序 5.1.2、问题一&#xff1a;SPI时序问题 5.1.3、问题二&#xff1a;SPI读取时序&#xff08;配置模式&#xff09; 5.1.4、问题三&#xff1a…

削峰+限流:秒杀场景下的高并发写请求解决方案

我是小米,一个喜欢分享技术的29岁程序员。如果你喜欢我的文章,欢迎关注我的微信公众号“软件求生”,获取更多技术干货! 哈喽,大家好!我是小米,一个29岁、活泼积极、热衷分享技术的码农。今天和大家聊一聊应对高并发的写请求这个主题,尤其是在大促、秒杀这种场景下,系统…

非线性规划及其MATLAB实现

目录 引言 非线性规划的基本模型 非线性规划的求解方法 非线性规划的MATLAB实现 例子&#xff1a;多目标优化问题的非线性规划求解 表格总结&#xff1a;MATLAB常用非线性规划函数 实例&#xff1a;使用MATLAB求解非线性投资决策问题 结论 引言 非线性规划&#xff08;…

ES6解构赋值详解;全面掌握:JavaScript解构赋值的终极指南

目录 全面掌握&#xff1a;JavaScript解构赋值的终极指南 一、数组解构赋值 1、基本用法 2、跳过元素 3、剩余元素 4、默认值 二、对象解构赋值 1、基本用法 2、变量重命名 3、默认值 4、嵌套解构 三、复杂的嵌套结构解构 四、函数参数解构赋值 1、对象解构作为函…

C/C++实现植物大战僵尸(PVZ)(打地鼠版)

&#x1f680;欢迎互三&#x1f449;&#xff1a;程序猿方梓燚 &#x1f48e;&#x1f48e; &#x1f680;关注博主&#xff0c;后期持续更新系列文章 &#x1f680;如果有错误感谢请大家批评指出&#xff0c;及时修改 &#x1f680;感谢大家点赞&#x1f44d;收藏⭐评论✍ 游戏…

2022高教社杯全国大学生数学建模竞赛C题 问题一(1) Python代码演示

目录 问题 11.1 对这些玻璃文物的表面风化与其玻璃类型、纹饰和颜色的关系进行分析数据探索 -- 单个分类变量的绘图树形图条形图扇形图雷达图Cramer’s V 相关分析统计检验列联表分析卡方检验Fisher检验绘图堆积条形图分组条形图分类模型Logistic回归随机森林import matplotlib…

GAN的损失函数和二元交叉熵损失的对应及代码

以下解释为GPT生成 这里有个问题&#xff0c;使用二元交叉熵&#xff0c;的时候生成器的损失如何体现 看代码 import torch import torch.nn as nn import torch.optim as optim# 设置设备为GPU或CPU device torch.device("cuda" if torch.cuda.is_available() el…