【学】CSS3基础实例1 - 用CSS3做网页中的小三角,以及transition的用法
自开了博客园已经有2周了吧,虽然转载了一些觉得比较有用的文章之外还没有开始写自己的一些学习记录,那就从今天开始。
目前看了妙味的不少视频,有css+html,js的基础和中级也都看完了,作业也都做了,css3的部分也看过了,但是觉得讲得不太好,全部都是点到为止。无意中找到了传智播客的视频讲了一些css3的小技巧,今天就写一下用CSS3做网页中的小三角。
大致网上关于小三角的做法无非三种:
- 直接用背景图片,这个没什么好说的;
- 用块元素设置宽高都为0,三角的高用一条边框宽度,其他三条边框用dashed以及颜色透明即可,这个会形成一个完整的实心三角形;
- 参照2的方法,用两个三角重叠并且一个往上动几个像素,然后设置颜色和背景一致,就会形成一个条状,没有底边的三角
第二种三角: 

<style> div{; border-width: 10px; border-color: black transparent transparent transparent; border-style: solid dashed dashed dashed;//这步是为了兼容ie6,因为ie6还不支持边框颜色transparent }</style><body> <div></div></body>第三种三角:顺便加入了鼠标移入时旋转功能,使用了transition 

<style>ul,li{ list-style: none;}li{ border: 1px solid black; overflow: hidden; line-height: 32px;}a{ text-decoration: none; float: left;}i{ float: left; 5px; position: relative; width: 6px; //需要给2个三角包一个i标签,这样转动的时候不会偏移 height: 6px;}li:hover i{ transform: rotate(180deg);}em,span{ border: 3px solid black; border-color: transparent transparent transparent transparent; border-style: solid dashed dashed dashed;;; position: absolute;}span{ border-top-color: white; //span写在后面,所以同样和em有了position之后,它就能覆盖在em上面,而把它上边宽改成和背景一样的颜色,再往上移动一个像素就能形成一条线框的三角形,当然也可以让em往下移动1px}em{ top: 1px; border-top-color: gray;}</style></head><body> <ul> //用em和span分别做2个三角 <li><a href="#">我的淘宝</a><i><em></em><span></span></i></li> </ul></body>上面这个例子还用到了transition,顺便复习一下。
transition的简写方式一般放4个参数
- 需要运动的属性,这点要注意,一般是写hover里的那个,上面这个例子就是写了transform,如果hover里的都要运动,可以直接写all
- 运动花的时间,单位是秒s
- 运动方式linear匀速,ease, ease-in, ease-out, ease-in-out
- 何时开始,单位是秒s
transition还要注意的地方有:
- 一般都是和hover配合使用;
- 能用css3来写的动画就不要用js来写了;
transition是写在要运动的那个元素里,而不是写在它的hover里
下面这个简单的例子是用transition和雪碧图来改变元素背景图
i{ width: 50px; height: 75px; display: block; ; transition: background-position 0.5s ease-in 0s; //注意这里改变的是背景图的位置,起到的效果就是背景图慢慢往上移动有一个过程}i:hover{ -80px ;}</style><script></script></head><body> <i></i></body>【学】CSS3基础实例1 - 用CSS3做网页中的小三角,以及transition的用法的更多相关文章
- 【学】CSS3基础实例2 - box-shadow, border-radius 圆形图标以及内部旋转
首先要说一下,transition属性ie9是不支持的,从ie10才开始支持 例子是当鼠标移上div后,它会旋转180度. 要点: 用圆角制作圆形盒子,border-radius设置成50%: 用bo ...
- css3基础教程十三征服CSS3选择器
:enabled选择器 在Web的表单中,有些表单元素有可用(“:enabled”)和不可用(“:disabled”)状态,比如输入框,密码框,复选框等.在默认情况之下,这些表单元素都处在可用状态.那 ...
- 从urllib和urllib2基础到一个简单抓取网页图片的小爬虫
urllib最常用的两大功能(个人理解urllib用于辅助urllib2) 1.urllib.urlopen() 2. urllib.urlencode() #适当的编码,可用于后面的post提交 ...
- 读书笔记之《HTML5 与 CSS3 基础教程》
1· 读前预期 考虑到对于 Web 开发零基础,凡涉足一件未知的任务,最好先理清任务的逻辑结构,然后有目的地逐步学习.为实现我们的需求和设计,必须要学习前端.后端.服务器等一系列暂时陌生的知识,在此, ...
- 【前端】之CSS3基础知识
CSS3 私有化前缀 考虑到CSS3的兼容性问题,某些属性需要添加浏览器的私有化前缀 几种主流浏览器的私有化前缀如下: Chrome.Safari:-webkit- Firefox:-moz- IE: ...
- 虎扯:纯css3各方向小三角的制作原理分析
入驻博客园两个月之后的第一篇随笔,希望能够做到三个原则: One:不浪费自己的时间, Tow:不浪费读者的时间, 第三就是希望有缘的朋友们多多指教,共度前端快乐的大坑!!! 咱们今天来做一个居家旅行必 ...
- CSS3基础入门03
CSS3 基础入门03 线性渐变 在css3当中,通过渐变属性实现之前只能通过图片实现的渐变效果.渐变分为线性渐变和径向渐变以及重复渐变三种.线性渐变的模式主要是颜色从一个方向过渡到另外一个方向,而径 ...
- css3基础教程:CSS3弹性盒模型
今天给大家分享一篇关于CSS3基础教程 文章,主要是讲CSS3弹性盒模型.弹性布局的主要思想是让容器有能力来改变项目的宽度和高度,以填满可用空间(主要是为了容纳所有类型的显示设备和屏幕尺寸)的能力. ...
- css3基础教程十六变形与动画animation
前面我们讲过的变形与动画一般都是通过鼠标的单击.获得焦点,被点击或对元素进行一定改变后以后触发效果的,那么有没有像Flash一样自动播放的动画效果呢?答案当然是肯定的,这就是我们今天要讲到的anima ...
随机推荐
- mybitis学习的页面
http://mybatis.github.io/mybatis-3/zh/configuration.html
- 修改oracle字符集
>sqlplus /nolog >conn / as sysdba sql>shutdown immediate sql>startup mount sql>ALTER ...
- 动态监控驱动、dll、exe加载
/* windows2003 x86/x64 window7 x86 windows2008 R2 x64测试通过 */ #include <ntddk.h> #include " ...
- DownloadManager补漏
原始完成于:2014-10-24 20:01:03 DownloadManager是一个处理HTTP下载请求的系统服务: 1. 基本用法 1 private void download() { 2 R ...
- CSS控制XML与通过js解析xml然后通过html显示xml中的数据
使用CSS控制XML的显示 book.css bookname{ display:block;color:Red} author{ display:block;font-style:italic} p ...
- Python 字符串关键字过滤
问题:把给定字符串中的关键字用与关键字等长的“*”串代替. Solution: 方法1: string 中的 replace 函数 方法2: def censor(text, word): words ...
- 委托Delegate,多播委托和委托链
定义一个委托 public delegate void CalculateDelegate(int 32 x,int 32 y); 定义一个委托类型的变量 public static Calculat ...
- Smart210学习记录-----Linux i2c驱动
一:Linux i2c子系统简介: 1.Linux 的 I2C 体系结构分为 3 个组成部分: (1) I2C 核心. I2C 核心提供了 I2C 总线驱动和设备驱动的注册.注销方法,I2C 通信方法 ...
- ps esc 问题
最近经常发现esc键突然变得不能用了.主要是使用搜狗输入法时使用esc键取输错的字,因此还以为是搜狗的问题,后来突然想到可能是因为打开某个软件导致esc不能用,最后发现居然是ps,在网上查了后发现很多 ...
- python数据结构与算法——快速排序
快速排序通过不断将数列分段,使得较小的数在左边的序列,较大的数在右边的序列,不断重复此过程实现排序效果.通过设置两个哨兵不断的找两个序列的较小数,较大数,并把左右的数据互换,实现对数据从粗到细的排序. ...