自开了博客园已经有2周了吧,虽然转载了一些觉得比较有用的文章之外还没有开始写自己的一些学习记录,那就从今天开始。

目前看了妙味的不少视频,有css+html,js的基础和中级也都看完了,作业也都做了,css3的部分也看过了,但是觉得讲得不太好,全部都是点到为止。无意中找到了传智播客的视频讲了一些css3的小技巧,今天就写一下用CSS3做网页中的小三角。

大致网上关于小三角的做法无非三种:

  1. 直接用背景图片,这个没什么好说的;
  2. 用块元素设置宽高都为0,三角的高用一条边框宽度,其他三条边框用dashed以及颜色透明即可,这个会形成一个完整的实心三角形;
  3. 参照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个参数

  1. 需要运动的属性,这点要注意,一般是写hover里的那个,上面这个例子就是写了transform,如果hover里的都要运动,可以直接写all
  2. 运动花的时间,单位是秒s
  3. 运动方式linear匀速,ease, ease-in, ease-out, ease-in-out
  4. 何时开始,单位是秒s

transition还要注意的地方有:

  1. 一般都是和hover配合使用;
  2. 能用css3来写的动画就不要用js来写了;
  3. 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的用法的更多相关文章

  1. 【学】CSS3基础实例2 - box-shadow, border-radius 圆形图标以及内部旋转

    首先要说一下,transition属性ie9是不支持的,从ie10才开始支持 例子是当鼠标移上div后,它会旋转180度. 要点: 用圆角制作圆形盒子,border-radius设置成50%: 用bo ...

  2. css3基础教程十三征服CSS3选择器

    :enabled选择器 在Web的表单中,有些表单元素有可用(“:enabled”)和不可用(“:disabled”)状态,比如输入框,密码框,复选框等.在默认情况之下,这些表单元素都处在可用状态.那 ...

  3. 从urllib和urllib2基础到一个简单抓取网页图片的小爬虫

    urllib最常用的两大功能(个人理解urllib用于辅助urllib2) 1.urllib.urlopen() 2. urllib.urlencode()   #适当的编码,可用于后面的post提交 ...

  4. 读书笔记之《HTML5 与 CSS3 基础教程》

    1· 读前预期 考虑到对于 Web 开发零基础,凡涉足一件未知的任务,最好先理清任务的逻辑结构,然后有目的地逐步学习.为实现我们的需求和设计,必须要学习前端.后端.服务器等一系列暂时陌生的知识,在此, ...

  5. 【前端】之CSS3基础知识

    CSS3 私有化前缀 考虑到CSS3的兼容性问题,某些属性需要添加浏览器的私有化前缀 几种主流浏览器的私有化前缀如下: Chrome.Safari:-webkit- Firefox:-moz- IE: ...

  6. 虎扯:纯css3各方向小三角的制作原理分析

    入驻博客园两个月之后的第一篇随笔,希望能够做到三个原则: One:不浪费自己的时间, Tow:不浪费读者的时间, 第三就是希望有缘的朋友们多多指教,共度前端快乐的大坑!!! 咱们今天来做一个居家旅行必 ...

  7. CSS3基础入门03

    CSS3 基础入门03 线性渐变 在css3当中,通过渐变属性实现之前只能通过图片实现的渐变效果.渐变分为线性渐变和径向渐变以及重复渐变三种.线性渐变的模式主要是颜色从一个方向过渡到另外一个方向,而径 ...

  8. css3基础教程:CSS3弹性盒模型

    今天给大家分享一篇关于CSS3基础教程 文章,主要是讲CSS3弹性盒模型.弹性布局的主要思想是让容器有能力来改变项目的宽度和高度,以填满可用空间(主要是为了容纳所有类型的显示设备和屏幕尺寸)的能力. ...

  9. css3基础教程十六变形与动画animation

    前面我们讲过的变形与动画一般都是通过鼠标的单击.获得焦点,被点击或对元素进行一定改变后以后触发效果的,那么有没有像Flash一样自动播放的动画效果呢?答案当然是肯定的,这就是我们今天要讲到的anima ...

随机推荐

  1. 介绍开源的.net通信框架NetworkComms框架之六 x509证书通信

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  2. html基本标签结构

    简单的html5的基本架构 HTML全称为HyperText Markup Language,一款写给浏览器的语言. HyperText:超文本(文本,图片,视频,音频,链接) Markup Lanu ...

  3. solr windows 启动和关闭命令

    进入bin目录执行  启动:solr -e dih 停止:solr stop -all D:\Solr\solr-5.2.1\solr-5.2.1\bin>solr -e dih

  4. jquery ajax跨域请求webservice webconfig配置

    <configuration> <system.web> <compilation debug="true" targetFramework=&quo ...

  5. 块级元素 Vs 内联元素

    HTML的元素可以分为两种: 块级元素(block level element ) 内联元素(inline element ) 二者的区别如下: 1. 块级元素独占一行(除非显示修改元素的displa ...

  6. 2014年4月份第4周51Aspx源码发布详情

    精灵豆会员管理系统源码  2014-4-21 [VS2010]功能介绍:精灵豆会员管理系统业务管理平台采用微软选进的C#语言开发,采用大型数据库,具有比较高的执行效率和高安全性.系统分为消费管理,会员 ...

  7. Android重要控件———ListView

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools= ...

  8. 团队开发——冲刺1.f

    冲刺阶段一(第六天) 1.昨天做了什么? 为解决自己电脑的问题,查找关于C#的资料,后期做准备. 2.今天准备做什么? 把最初版与交予代码书写的同学,进行整合:测试程序. 3.遇到什么困难? 第一次整 ...

  9. linux命令:exec

    1.命令介绍: exec用来配合find命令找到的文件后接着执行相应的命令 2.命令格式: find . -type f exec ls -l {} \;

  10. html5有哪些新特性、移除了那些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分 HTML 和 HTML5?

    * HTML5 现在已经不是 SGML(标准通用标记语言,是一种定义电子文档结构和描述其内容的国际标准语言) 的子集,主要是关于图像,位置,存储,多任务等功能的增加.   * 拖拽释放(Drag an ...