css3 纯代码案例

css3 纯代码案例

  • 前言
  • 渐变之美
    • 1.1 纯CSS3实现的渐变背景
    • 1.2 使用多重颜色和方向打造丰富渐变效果
    • 1.3 渐变色停留动画的巧妙运用
  • 纯CSS图形绘制
    • 2.1 使用border属性制作三角形、梯形等形状
    • 伪类箭头图标
    • 2.2 利用transform创建旋转、缩放的图形
  • 浮动的阴影
  • 敲代码css准备
    • reset 样式复位表
    • base 公共类样式表
  • 常用代码
    • 自动跳转至手网
    • 返回顶部
    • 返回上一步
  • 结语

前言

在前端的舞台上,CSS3是一位无比重要的明星。今天,我们将深入研究CSS3的纯代码案例,不仅为你展示一些惊艳的效果,更希望激发你对纯代码创意的无限想象。让我们一同探索编码的魅力!

渐变之美

1.1 纯CSS3实现的渐变背景

在这个案例中,我们将展示如何通过纯CSS3实现令人惊叹的渐变背景效果。通过以下步骤,你可以轻松运用这一技巧:

body {background: linear-gradient(to right, #ff8a00, #da1b60);height: 100vh;margin: 0;display: flex;align-items: center;justify-content: center;text-align: center;font-family: 'Arial', sans-serif;color: #fff;
}

解析:
linear-gradient: CSS3提供的渐变函数,用于创建水平线性渐变。
to right: 渐变的方向,这里表示从左至右。
#ff8a00 和 #da1b60: 渐变的起始和结束颜色。
height: 100vh: 使背景占据整个视口高度,保证渐变效果充满屏幕。

1.2 使用多重颜色和方向打造丰富渐变效果

通过在渐变中使用多个颜色和不同方向,可以创造出更为丰富的渐变效果。下面是一个演示如何制作对角线渐变的代码片段:

body {background: linear-gradient(to bottom right, #3494e6, #ec6ead, #3494e6);height: 100vh;margin: 0;display: flex;align-items: center;justify-content: center;text-align: center;font-family: 'Arial', sans-serif;color: #fff;
}

解析:
to bottom right: 渐变的方向,表示从左上角到右下角的对角线渐变。
#3494e6, #ec6ead, #3494e6: 三个颜色,分别为起始、中间和结束颜色。

1.3 渐变色停留动画的巧妙运用

通过使用CSS3动画,我们还可以实现渐变色的平滑过渡效果。以下是一个示例,演示了如何制作颜色停留动画:

@keyframes gradientAnimation {0% { background-position: 0% 50%; }50% { background-position: 100% 50%; }100% { background-position: 0% 50%; }
}body {background: linear-gradient(to right, #ff8a00, #da1b60);background-size: 200% 200%;animation: gradientAnimation 3s infinite;height: 100vh;margin: 0;display: flex;align-items: center;justify-content: center;text-align: center;font-family: 'Arial', sans-serif;color: #fff;
}

解析:
@keyframes gradientAnimation: 定义渐变动画的关键帧。
background-size: 200% 200%: 将背景尺寸设置为两倍,确保动画效果可见。
animation: gradientAnimation 3s infinite;: 将渐变动画应用于背景,3秒完成一次,无限循环。
通过这些例子,你可以深入了解如何运用CSS3渐变,制作出引人入胜的背景效果。这种技巧在网页设计中经常被用于打造吸引眼球的页面。

纯CSS图形绘制

2.1 使用border属性制作三角形、梯形等形状

在这里插入图片描述

className::before {content: "";position: absolute;top: -10px;left: 0;width: 0;height: 0;border-width: 0 0 10px 10px;border-style: solid;border-color: transparent transparent #ffa718 transparent;}

在这里插入图片描述

className::before {content: '';position: absolute;right: 0;top: 18px;width: 0px;height: 0px;border: 4px solid transparent;border-bottom: none;border-top-color: white;transition: transform .5s ease 0s;
}

伪类箭头图标

在这里插入图片描述

// html 结构
<li class="have-menu"><a href="">社区</a><em class="arrow"><b></b><i></i></em>                          
</li>
// css 样式
.arrow {position: absolute;right: 0;top: 50%;margin-top: -6px;width: 12px;height: 12px;transition: transform .2s ease 0s;
}
.arrow b {position: absolute;left: 4px;top: 2px;width: 6px;height: 6px;background-color: #fff;transform: rotate(45deg);
}
.arrow i {position: absolute;left: 4px;top: 0.5px;width: 6px;height: 6px;background-color: #2A2A2A;transform: rotate(45deg);
}li.have-menu:hover .arrow {transform: rotate(180deg); // 鼠标移上去旋转180度
}

在这里插入图片描述

.pie-chart {width: 100px;height: 100px;background: conic-gradient(#3498db 0% 30%, #e74c3c 30% 70%, #2ecc71 70% 100%);border-radius: 50%;margin: 20px;
}

conic-gradient是CSS中的渐变函数之一,用于创建锥形渐变(也称为圆锥渐变或圆锥渐变背景)。这种渐变效果沿着圆心辐射状地变化,非常适用于创建饼图、风格化的背景、加载动画等。

2.2 利用transform创建旋转、缩放的图形

浮动的阴影

在这里插入图片描述

li:hover{
box-shadow:0 15px 30px rgba(0,0,0,0.1)
}

敲代码css准备

reset 样式复位表

http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css
eg:

/* 去掉table的默认样式 */
table{width:100%;text-align:center;/*文本居中*/border-collapse:collapse; /*表格的边框合并,如果相邻,则共用一个边框*/border-spacing:0; /*设置行与单元格边框的间距。当表格边框独立(即border-collapse:separate;)此属性才起作用*/
}

base 公共类样式表

所有的公共样式单独写在这个表内,方便复用
eg:

.clear{
clear:both;
}
/* div内显示一行,超出部分用省略号显示 */
text-overflow{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;}
/* div内显示两行或三行,超出部分用省略号显示 */
text-overflow{
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}

常用代码

自动跳转至手网

<script type=text/javascript>       function IsPC() { var userAgentInfo = navigator.userAgent; var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"); var flag = true; for (var v = 0; v < Agents.length; v++) { if (userAgentInfo.indexOf(Agents[v]) > 0) { flag = false; break; } } return flag; } var juf=IsPC();if(!juf)window.location.href="/m";//手机</script>

返回顶部

<script>$("#to-top").click(function(e) {$('body,html').animate({scrollTop: 0}, 500);});</script>

返回上一步

 href="javascript:window.history.go(-1);"

结语

纯代码案例不仅是技术的展示,更是一场对创意无限可能性的探索。通过学习这些纯CSS3实例,你将更深刻地理解并运用CSS3的强大之处。编码的世界充满了惊奇,让我们一同投入这场代码的冒险,创造出属于自己的编码艺术品。

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

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

相关文章

基于springboot+vue的图书个性化推荐系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目背景…

Jupyter Notebook五分钟基础速通

1 作用 常用于数据分析 2 安装 2.1 Anaconda 通过直接安装Anaconda&#xff0c;会自动安装Jupyter Notebook 2.2 命令行安装 ① 3.x版本 pip3 install --upgrade pip pip3 install jupyter ② 2.x版本 pip install --upgrade pip pip install jupyter 3 启动 cmd窗口下…

Web3去中心化存储:重新定义云服务

随着Web3技术的崭露头角&#xff0c;去中心化存储正在成为数字时代云服务的全新范式。传统的云服务依赖于中心化的数据存储架构&#xff0c;而Web3的去中心化存储则为用户带来了更安全、更隐私、更可靠的数据管理方式&#xff0c;重新定义了云服务的未来。 1.摒弃中心化的弊端 …

Kali在Vmware无法连接到网络,配置网络及解决办法

一.问题描述&#xff1a; 打开 Kali&#xff0c;无法连接到网络&#xff0c;虚拟机配置正常的。 尝试 ping 百度&#xff0c;出错&#xff1a; ping baidu.com 提示&#xff1a; ping: baidu.com: Temporary failure in name resolution二.解决办法&#xff1a; 1.首先在vmwa…

工作流功能

在小程序、公众号的开发过程中&#xff0c;开发者经常遇到以下场景&#xff1a; 接收来自微信的服务端回调消息&#xff0c;例如公众号事件推送、微信支付付款回调等&#xff1b;运行定时任务&#xff0c;例如每天 0 点进行数据清理、统计等&#xff1b;进行任务逻辑编排&…

Base64编码原理解析

文章目录 一、Base64Base64编码的原理如下&#xff1a;以字符串"hello world"为例&#xff0c;它的ASCII码为&#xff08;下面&#x1f447;是ASCII码对照表&#xff09;&#xff1a;将这些ASCII码转换为二进制&#xff08;对照上表&#xff09;&#xff1a;将上述二…

Flink的KeyedProcessFunction基于Event Time和Process Time的定时器用法实例分析

FLink处理函数简介 在Flink底层&#xff0c;我们可以不定义任何具体的算子&#xff08;比如 map&#xff0c;filter&#xff0c;或者 window&#xff09;&#xff0c;而只是提炼出一个统一的【处理】&#xff08;process&#xff09;操作——它是所有转换算子的一个概括性的表…

一键式Excel分词统计工具:如何轻松打包Python脚本为EXE

一键式Excel分词统计工具&#xff1a;如何轻松打包Python脚本为EXE 写在最前面需求分析直接用Python打包为什么大&#xff1f;为什么要使用conda环境&#xff1f; 将Python脚本打包为一个独立的应用程序1. 编写Python脚本&#xff1a;初步功能实现2. 初步图形用户界面&#xff…

Spark基础学习--基础介绍

1. Spark基本介绍 1.1 定义 Spark是可以处理大规模数据的统一分布式计算引擎。 1.2 Spark与MapReduce的对比 在之前我们学习过MapReduce&#xff0c;同样作为大数据分布式计算引擎&#xff0c;究竟这两者有什么区别呢&#xff1f; 首先我们回顾一下MapReduce的架构&#xf…

CC工具箱使用指南:【三调名称转用地用海名称】

一、简介 三调地类和用地用海地类之间有点相似但并不一致。 在做规划时&#xff0c;拿到的三调&#xff0c;都需要将三调地类转换为用地用海地类&#xff0c;然后才能做后续的工作。 一般情况下&#xff0c;三调转用地用海存在【一对一&#xff0c;多对一和一对多】3种情况。…

JWT渗透姿势一篇通

文章前言 企业内部产品应用使用JWT作为用户的身份认证方式&#xff0c;在对应用评估时发现了新的关于JWT的会话安全带来的安全问题&#xff0c;后期再整理时又加入了之前遗留的部分JWT安全问题&#xff0c;至此汇总成一篇完整的JWT文章 简单介绍 JWT(JSON Web Token)是一种用…

直播间的秒杀狂热背后,猫眼电影如何接住10w+并发运营活动?

“倒数&#xff0c;5、4、3、2、1” “10万张&#xff01;” “20秒没了” 上周末&#xff0c;张家辉和导演马浴柯带着新电影《怒潮》上了疯狂小杨哥的直播间&#xff0c;人数一度冲破80万人。 这次直播&#xff0c;是猫眼电影为新电影《怒潮》准备的一次宣传活动。 随着小…

洛谷P1161 开灯

这倒也是水题&#xff0c;我们可以建立一个数组&#xff0c;数组的下标就是编号&#xff0c;我们要注意的是浮点数乘法的结果要转化成整数&#xff0c;才能当做下标&#xff0c;因为题目给的是整数编号。 # include <stdio.h> int main() {int a[1000000] { 0 }, n, t,…

【linux】linux系统安装与更新软件

前言 linux系统安装软件有许多的方式&#xff0c;本文列举的是类似于windows从应用商店安装软件的方法。也是最常用最省事的方法。 但是呢linux系统是有许多发行版本的&#xff0c;不同版本的命令不同&#xff0c;但语法基本是一模一样。 概念插入 windows系统中&#xff0c…

IPv6自动隧道---6to4隧道

IPv6 over IPv4自动隧道特点 由于IPv4兼容IPv6隧道要求每一个主机都要有一个合法的IP地址,而且通讯的主机要支持双栈、支持IPv4兼容IPv6隧道,不适合大面积部署。目前该技术已经被6to4隧道所代替。 6to4隧道 集手动隧道和自动隧道的优点于一身,提出6to4的目的是为IPv4网络…

Linux如何创建文件

使用touch命令&#xff1a;使用touch命令可以创建一个新文件&#xff0c;如果文件已经存在&#xff0c;则只更新其访问时间和修改时间。例如&#xff0c;要创建一个名为test.txt的文件&#xff0c;请在终端中输入以下命令&#xff1a; touch test.txt使用echo命令&#xff1a;使…

【Spring源码分析】从源码角度去熟悉依赖注入(一)

从源码角度去熟悉依赖注入 一、全局出发引出各种依赖注入策略二、Autowired依赖注入源码分析属性注入源码分析&#xff08;AutowiredFieldElement.inject&#xff09;方法注入源码分析&#xff08;AutowiredMethodElement.inject&#xff09;流程图 其实在上篇阐述非懒加载单例…

UE5 独立程序的网络TCP/UDP服务器与客户端基础流程

引擎源码版&#xff0c;复制\Engine\Source\Programs\路径下的BlankProgram空项目示例。 重命名BlankProgram&#xff0c;例如CustomTcpProgram&#xff0c;并修改项目名称。 修改.Build.cs内容 修改Target.cs内容 修改Private文件夹内.h.cpp文件名并修改.cpp内容 刷新引擎 …

模拟StopWatch改写的一款耗时调试工具

StopWatch在单个文件的单个方法中确时还蛮好用的&#xff0c;但跨多个文件&#xff0c;多个方法的同一线程内调试就有明显的不舒服。一是要建立ThreadLocal共享StopWatch的实例。二是StopWatch的start和stop必须形成闭合。在方法嵌套的场景。比如要查看大方法执行时间&#xff…

性能测试中的基准测试

在性能测试中有一种测试类型叫做基准测试。这篇文章&#xff0c;就聊聊关于基准测试的一些事儿。 1、定义 通过设计合理的测试方法&#xff0c;选用合适的测试工具和被测系统&#xff0c;实现对某个特定目标场景的某项性能指标进行定量的和可对比的测试。 2、特质 ①、可重…