在我们看到类似于这样的图片时:

我们一般都会想,哎,这还不简单,用一张图片就可以了。
的确,用图片可以很轻松地做到。不过我们接下来要讨论的是:
如何用css也作出这样的效果。
 
首先,我们来定义一个div:
<div class="up"></div>
然后给它增加一些样式:
.up{
  width: 50px;
  height: 50px;
  background-color: red;
  font-size: 0px;
  line-height: 0px;
}
 
结果如图:
你TM逗我呢,这明明是正方形好吗!
好好好,别急,放下你手中的砖头,我们不妨设置一下它的边框。
.up{
  width: 50px;
  height: 50px;
  background-color: red;
  border:50px solid green;
  font-size: 0px;
  line-height: 0px;
}
然后就变成这样:
 你这是在找死
好的好的,别急,我说最后一句:
我们尝试着把它的四个边框的颜色改成不一样。
.up{
  width: 50px;
  height: 50px;
  background-color: red;
  border-top: 50px solid green;
  border-right: 50px solid yellow;
  border-bottom: 50px solid blue;
  border-left:50px solid black;
  font-size: 0px;
  line-height: 0px;
}
结果如下:
 好像有点意思
好的,别急,我们再尝试着把div的宽度和高度都设置为0;
.up{
  width: 0px;
  height: 0px;
  background-color: red;
  border-top: 50px solid green;
  border-right: 50px solid yellow;
  border-bottom: 50px solid blue;
  border-left:50px solid black;
  font-size: 0px;
  line-height: 0px;
}
结果:
好的,我们得到了四个三角形,
现在,我们要得到方向指向上的那个蓝色的三角形,所以我们把其他三角形的背景颜色设置成透明的,并且去掉之前设置的背景颜色:
.up{
  width: 0px;
  height: 0px;
  border-top: 50px solid transparent;
  border-right: 50px solid transparent;
  border-bottom: 50px solid blue;
  border-left:50px solid transparent;
  font-size: 0px;
  line-height: 0px;
}
 
 好的 ,掌声在哪里?
我知道你想说什么,我们仔细观察,发现其实上边框是不必要的,因为它不影响我们下面的那个三角形的大小和形状,所以我们去掉上边框,然后再调整一下背景颜色:
.up{
  width: 0px;
  height: 0px;
  border-right: 50px solid transparent;
  border-left:50px solid transparent;
  border-bottom: 50px solid #6699cc;
  font-size: 0px;
  line-height: 0px;
}
 
完成了。
按照这种方法,我们可以制作四个方向上的三角形:
完整的代码:
html:
 <div class="up"></div>
<div class="right"></div>
<div class="down"></div>
<div class="left"></div>
 
css:
 .up,.right,.down,.left{
width: 0px;
height: 0px;
font-size: 0px;
line-height: 0px;
}
.up{
border-right: 50px solid transparent;
border-left:50px solid transparent;
border-bottom: 50px solid #6699cc;
}
.right{
border-bottom: 50px solid transparent;
border-top:50px solid transparent;
border-left: 50px solid green;
}
.down{
border-top: 50px solid yellow;
border-right:50px solid transparent;
border-left: 50px solid transparent;
}
.left{
border-right: 50px solid red;
border-top:50px solid transparent;
border-bottom: 50px solid transparent;
}
 
完整的效果图:
 
 
 
 

利用CSS制作三角形的更多相关文章

  1. css制作三角形,下拉框三角形

    网站制作中常常需要下拉框,而如果下拉框如果只是单纯的矩形则会显得太过单调,所以这次教大家利用css制作三角形放在矩形上面 首先利用css制作三角形 div { width:0px; height:0p ...

  2. CSS制作三角形和按钮

    CSS制作三角形和按钮 用上一篇博文中关于边框样式的知识点,能制作出三角形和按钮. 我先说如何制作三角形吧,相信大家在平时逛网站的时候都会看到一些导航栏中的三角形吧,比如说: 网易首页的头部菜单栏中, ...

  3. 用css制作三角形

    用css制作三角形,主要是利用css元素给“盒模型”设置边框得到的. 上图,上边框和做边框,以及上边框和右边框的交合处,浏览器会按照直角的二分之一处绘制交合线.这是“盒模型”有宽和高时候的效果.我们假 ...

  4. CSS 制作三角形原理剖析

    使用css制作三角形其实原理很简单,下面一步步解析. 1.html代码如下 <div class="triangle"> </div> 2.CSS代码 .t ...

  5. 利用CSS制作背景变色的横向导航栏

    1.表单 页面如下: <html> <head> <title>注册表单页面</title> </head> <body> &l ...

  6. 利用border制作三角形原理

    网站前端页面中,有时候会使用一些三角形,除了使用图片的方式之外,利用css的border属性也可以做出相对应的三角形.那么,利用border是如何实现三角形的制作的呢? 先看下面一个例子: CSS代码 ...

  7. 利用CSS制作图形效果

    前言 关于如何使用CSS来制作图形,比如说圆形,半圆形,三角形等的相关教程还是挺多的,今天我主要想解释一下里面一些demo的实现原理,话不多说,开始吧   以下所有内容只使用一个HTML元素.任何类型 ...

  8. 利用CSS制作脸书

    很多网站都支持图片上的头像框识别,鼠标在头像框处,会提示一些人物信息. 这次就利用CSS实现这样一个功能: div处主要包括两部分,一部分是图片:另一部分是链接以及脸框 <div class=& ...

  9. 利用 css 制作简单的提示框

    在网页开发中,为了提高用户体验,经常会用到一些提示框来引导用户,这里分享下一些简单的提示框的制作 1.首先类似一个长方形右上角一个关闭按钮 这里用到的主要是一些定位的知识,运用relative和abs ...

随机推荐

  1. git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode.

    git 提交代码是会遇到以下问题, git commit 代码时提示: Warning: Your console font probably doesn‘t support Unicode. If ...

  2. 关于跨域GET、POST请求的小结//////////////////////zzzzzzz

    JQuery:$.ajax/$.getJSON支持jsonp格式的跨域,但是只支持GET方式,暂不支持POST: so,跨域POST是个值得研究的问题啊!万能的JQuery无法跨域POST:鉴于基本国 ...

  3. Windows Phone 十四、磁贴通知

    磁贴(Tile) Windows Phone 磁贴种类: 小尺寸 SmallLogo:71x71: Square71x71 中等 Logo:150x150: Square150x150 宽 WideL ...

  4. 终于解决各种动画问题了,感谢雨松MOMO

    http://www.xuanyusong.com/archives/2222 看懂了,什么问题关于动画的都可以解决的,加油!

  5. 易语言调用windows消息函数

    1.SendMessageCallbackA的调用方法 .版本2 .DLL命令 发送消息返回_, 整数型, "user32.dll", "SendMessageCallb ...

  6. nodejs cookie管理

    Cookie 管理 我们可以使用中间件向 Node.js 服务器发送 cookie 信息,以下代码输出了客户端发送的 cookie 信息: // express_cookie.js 文件 var ex ...

  7. Java开发环境的配置与Hello World

    一.Java开发需要做的准备 Java程序的执行过程是首先由Java编译器将以.java为后缀的Java源文件编译成.class字节码文件.然后字节码文件便可以由JVM虚拟机进行加载并执行. 在初学J ...

  8. 分享一个延迟加载图片的JS

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. quick-cocos2d-x :加入学习

    语法不熟悉, 接口不熟悉. 部分不理解. 超级初学者. 好好学习, 一直在学习 使用Quick-Cocos2d-x搭建一个横版过关游戏 推荐官方的文档和例子  demo

  10. 通过shell命令编辑xml文件--sed工具

    1.修改如下xml文件的value值: