css3 纯代码案例

css3 纯代码案例

前言

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

渐变之美

1.1 纯CSS3实现的渐变背景

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

css 复制代码
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 使用多重颜色和方向打造丰富渐变效果

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

css 复制代码
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动画,我们还可以实现渐变色的平滑过渡效果。以下是一个示例,演示了如何制作颜色停留动画:

css 复制代码
@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属性制作三角形、梯形等形状

html 复制代码
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;
    }
html 复制代码
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 复制代码
// 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度
}
css 复制代码
.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创建旋转、缩放的图形

浮动的阴影

html 复制代码
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:

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

base 公共类样式表

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

eg:

css 复制代码
.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;
}

常用代码

自动跳转至手网

javascript 复制代码
<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>

返回顶部

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

返回上一步

html 复制代码
 href="javascript:window.history.go(-1);"

结语

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

相关推荐
吕彬-前端16 分钟前
使用vite+react+ts+Ant Design开发后台管理项目(五)
前端·javascript·react.js
学前端的小朱18 分钟前
Redux的简介及其在React中的应用
前端·javascript·react.js·redux·store
guai_guai_guai28 分钟前
uniapp
前端·javascript·vue.js·uni-app
bysking1 小时前
【前端-组件】定义行分组的表格表单实现-bysking
前端·react.js
王哲晓2 小时前
第三十章 章节练习商品列表组件封装
前端·javascript·vue.js
fg_4112 小时前
无网络安装ionic和运行
前端·npm
理想不理想v2 小时前
‌Vue 3相比Vue 2的主要改进‌?
前端·javascript·vue.js·面试
酷酷的阿云2 小时前
不用ECharts!从0到1徒手撸一个Vue3柱状图
前端·javascript·vue.js
微信:137971205872 小时前
web端手机录音
前端
齐 飞2 小时前
MongoDB笔记01-概念与安装
前端·数据库·笔记·后端·mongodb