《CSS3揭秘》上(边框,投影,渐变,条纹效果,蚂蚁行军)
最近看了《CSS3揭秘》一书,里面真的是干货满满呀,现将常用到的一些技巧归纳总结,便于日后用到查找。不得不感叹学无止境哦~
1、边框与背景
半透明边框

.demo{
background-color: #fff;
border: rgba(255, 255, 255, 0.5) 10px solid;
background-clip: padding-box;
}
技巧归纳:使用背景剪切属性,将背景的显示不包含边框
background-clip:对背景进行剪切,这个是根据css的盒模型分的:
border-box(背景包含到边框)padding-box(背景只包含到边距)content-box(背景只包含到内容)
多重边框

.demo{
outline: #fff 1px dashed;
outline-offset: -10px;
}
技巧归纳
outline:是绘制于元素周围的一条线,位于边框边缘的外围
outline-offset:设置轮廓的偏移位置
边框内圆角

.demo{
border-radius: 8px;
box-shadow: 0 0 0 8px #655;
}
技巧归纳:利用阴影的特性实现
box-shadow:h-shadow(水平阴影的位置) v-shadow(垂直阴影的位置) blur(模糊距离) spread(阴影的尺寸) color(阴影颜色) inset(内部阴影)
条纹效果

.demo{
background: linear-gradient(to right, #fb3 50%, #58a 0);
background-size: 30px 100%;
}
技巧归纳:利用线性渐变的特性实现
linear-gradient:(渐变方向,起始颜色,结束为止,结束颜色,起始位置) 说实在的,这个真的需要多体验才能理解~
background-size:背景大小的设置

.demo{
background: repeating-linear-gradient(45deg, #fb3 0,#fb3 15px,#58a 15px,#58a 30px);
}
技巧归纳:利用重复线性渐变的特性实现,支持角度设置
蚂蚁行军
这个效果,之前用过svg实现过,原来css3也是可以的。这里的原理是利用多重背景实现的,你需要理解background的各属性特性呀。(动态效果请访问蚂蚁行军效果)

.demo {
width: 200px;
height: 100px;
padding: 20px;
border: 1px solid transparent;
background-image:
linear-gradient(white,white),
repeating-linear-gradient(-45deg, black 0, black 25%, white 25%, white 50%);
background-size: 20px 20px;
background-clip: padding-box,border-box;
background-position: 0;
animation: ants 12s linear infinite;
}
@keyframes ants{
to{
background-position: 100%;
}
}
2、形状
椭圆
- 自适应的椭圆

.demo{
border-radius: 50% / 50%;
}
技巧归纳:border-radius支持2个参数,分别是横坐标,纵坐标。可以是像素也可以是百分比
- 半椭圆

.demo{
border-radius: 100% 0 0 100% / 50% 0 0 50%;
}
技巧归纳:border-radius支持8个参数,分别是上左,上右,下左,下右
- 四分之一的圆

.demo{
border-radius: 0 100% 0 0;
}
三角形

.demo{
-webkit-clip-path: polygon(0 100%, 50% 0, 100% 100%);
}
.demo:hover{
-webkit-clip-path: circle(100px at 50% 50%);
}
技巧归纳:clip-path剪切路径
切角

.demo {
background: linear-gradient(135deg, transparent 15px, #58a 0) top left,
linear-gradient(-135deg, transparent 15px, #655 0) top right,
linear-gradient(-45deg, transparent 15px, #58a 0) bottom right,
linear-gradient(45deg, transparent 15px, #655 0) bottom left;
background-size: 50% 50%;
background-repeat: no-repeat;
}
折角

.demo {
background: linear-gradient(-135deg, transparent 15px, rgba(0,0,0,.4) 0) no-repeat 100% 0 / 21.4px 21.4px,
linear-gradient(-135deg,transparent 15px, #58a 0)
}
3、投影
单侧投影

.demo {
background-color: #fffbbb;
box-shadow: 0 6px 4px -4px rgba(0, 0, 0, .5);
}
双侧投影

.demo {
box-shadow: 6px 0px 4px -4px rgba(0, 0, 0, .5),
-6px 0px 4px -4px rgba(0, 0, 0, .5)
}
技巧归纳:利用box-shadow的第四个参数:扩张半径,这个参数会根据指定的值扩大或者缩小投影的尺寸
《CSS3揭秘》上(边框,投影,渐变,条纹效果,蚂蚁行军)的更多相关文章
- 《css3揭秘》的效果code
1.在阅读css3揭秘的基础上,跟着书中的效果组合起来的这组代码. 2.代码中有四张图片分别是 1.jpg 2.jpg 3.jpg 4.jpg; 作为demo,图片名称没有语义. 3.兼容性: I ...
- CSS3下的渐变文字效果实现
如下,第一种方法已实践 一.方法一:借助mask-image属性 可以狠狠地点击这里:CSS3下的渐变文字效果方法一demo 如果您手头上的浏览器是Chrome或是Safari,则您可以在demo页面 ...
- 小tip:CSS3下的渐变文字效果实现——张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1601 一.方法一:借 ...
- css3基础-选择器+边框与圆角+背景与渐变
Css3选择器相关: section > div直接子元素选择器 div + article相邻兄弟选择器(在元素之后出现) div ~ article通用兄弟选择器(在元素之后出现) 属性选择 ...
- css3实现背景颜色渐变,文字颜色渐变,边框颜色渐变
css3的渐变可以使用2个或者多个指定的颜色之间显示平稳的过渡的效果.这篇文章主要介绍下css3实现背景颜色渐变,文字颜色渐变,边框颜色渐变的方法,以便大家学习参考! 1.css背景颜色渐变 代码: ...
- 使用css3来实现边框圆角效果
经常看到别人的网站有个边框来修饰文字区域,类似圆角矩形把文字环绕起来,特别有感觉,于是就试着用图片边框来修饰,但是用图片过多会拉慢网页的加载速度,能不能使用css3来实现边框圆角效果呢?当然borde ...
- 深入理解CSS3 gradient斜向线性渐变——张鑫旭
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=3639 一.问题没有想 ...
- CSS3:linear-gradient,线性渐变的使用方法
CSS3 渐变(gradients)可以让你在两个或多个指定的颜色之间显示平稳的过渡. 以前,你必须使用图像来实现这些效果,现在通过使用 CSS3 的渐变(gradients)即可实现.此外,渐变效果 ...
- 详解用CSS3制作圆形滚动进度条动画效果
主 题 今天手把手教大家用CSS3制作圆形滚动进度条动画,想不会都难!那么,到底是什么东东呢?先不急,之前我分享了一个css实现进度条效果的博客<CSS实现进度条和订单进度条>,但是呢, ...
随机推荐
- npm install 报错: WARN checkPermissions Missing write access to 解决方案
经过各种百度搜索,发现这个问题的出现并不是管理员权限的问题,而是之前安装失败了,这个文件已经存在了,再次安装无法覆盖写入的问题. 解决方法: 1.找到node的全局安装路径,一般在nodejs文件夹的 ...
- 思科 ISR路由器登录内置交换模块的方式
ISR2900/3900系列 登录:Router#service-module gigabitethernet1/0 session 退出: control+shift+6 x disconnect ...
- follow up2-20190426
406. Minimum Size Subarray 同向双指针 https://www.lintcode.com/problem/minimum-size-subarray-sum/descript ...
- SpringMVC初写(二)映射类型、限制和数据绑定
映射路径 a)映射路径的概述 所谓的映射路径,就是匹配请求路径和执行方法关系的路径 请求路径:http://localhost:8080/springmvc-demo-cofig/say.do 映射路 ...
- RocketMQ学习笔记(一)eclipse版的quickstart
学而时习之,不亦说乎! 自己搭建个学习用的RocketMQ总是很麻烦,需要虚拟机环境,网络,需要安装rocketmq,启动.时间久了再去看,又不知道这个虚拟机是干嘛的了. 直接在eclipse中启动, ...
- Mac系统升级至OS X Mavericks后Genymotion出现的问题及解决方法
Apple的系统升级终于免费了,可开心满满地升级到OS X Mavericks后,Android模拟器之王Genymotion罢工了.遇到两个问题:1. Unable to load VirtualB ...
- (转)mysql、innodb和加锁分析
mysql.innodb和加锁分析 原文:https://liuzhengyang.github.io/2016/09/25/mysqlinnodb/ 介绍 本文主要介绍MySQL和InnoDB存储引 ...
- PHPStorm操作小技巧
1.围绕选中字符输入引号或者括号 2.设置服务器部署 3.隐藏Project快捷键 Shift + Esc 4.IDE内窗口切换 Ctrl + TAB 5.关闭当前项目 File -> Clos ...
- android开发之提高应用启动速度_splash页面瞬间响应_避免APP启动闪白屏
Application和Activity中的onCreate都进行了优化,基本没有耗时操作,但是启动应用之后还是会闪现一下白色背景,然后才进入Splash页面,对比了一下QQ.微信.微博等客户端,点击 ...
- JavaScript数据结构-18.图结构广度优先和最短路径
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...