码迷,mamicode.com
首页 > Web开发 > 详细

css border属性制作三角形及“人行道”|

时间:2017-10-21 19:17:37      阅读:384      评论:0      收藏:0      [点我收藏+]

标签:position   index   需要   html   logs   border   角度   比较   nbsp   

一:利用border制作三角形

  平常,对于一个元素设置border后,显示为下图:

技术分享

  空白部分为元素内容部分,四个有颜色部分分别为四条边。

  当元素设置的宽和高变小,而边框宽度相对比较大时,如下图:

技术分享

  代码部分为:

技术分享

  可以清楚看出,此时,由于元素还存在宽高,即元素的width≠0,height≠0,则出现了四天边框呈梯形,这是因为两条相邻边框以斜线分界。以border-bottom底部边框为例,其梯形边框的形成是由于左边框、右边框和元素内容区的交界,与上边框无关。

  当元素的width=0,height=0时,如图:

技术分享

  此时,形成了“十字街”图形,出现四个三角形。

  为了实现只出现一个三角形,以下部三角形为例,需要除去左面、右面、上边的三角形。

   下部三角形的形成,是因为左部和右部边框的交界形成的,所以将这两个三角形除去即可得到左部的三角形,至于上部三角形,由于与下部三角形的形成无关,设置其border为0,即不进行设置就行。

  代码如下:

技术分享

  通过将左边和右边的边框设置成透明的(transparent)即可隐藏其边框。形成的三角形如下:

技术分享

  可以知道,该三角形的高为50px,长为100px,因此,若需要其他底角角度的三角形,对其border-left、border-right、border-bottom设置其他像素即可。

二:其他简单应用

   知道了利用border形成三角形之后,我们可以去完成其他形状图形的制作。比如下图:

      技术分享

  可以将其看成一个矩形,在它的左边加了一个无色的三角形,在右边加了一个背景色相同的三角形。

  代码为:

  技术分享

  技术分享

  利用position属性给矩形加上了左三角形(.zsj)和右三角形(.ysj)。

  为了形成“人行道”形式的图形,需要添加多个一样的图形,如下图:

      技术分享

  因此,需要将其右浮动或其他方式来完成。

  这里简单的用右浮动来实现:

  技术分享

  其html代码为:

    技术分享

  这是一种方法,还可以z-index实现,不过没尝试,哈哈。

css border属性制作三角形及“人行道”|

标签:position   index   需要   html   logs   border   角度   比较   nbsp   

原文地址:http://www.cnblogs.com/ggjj110/p/7705345.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!