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的强大之处。编码的世界充满了惊奇,让我们一同投入这场代码的冒险,创造出属于自己的编码艺术品。