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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了css border属性制作三角形及“人行道”|相关的知识,希望对你有一定的参考价值。

一:利用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属性制作三角形及“人行道”|的主要内容,如果未能解决你的问题,请参考以下文章

css制作三角形的原理是啥?

CSS中使用border属性来绘制三角形

CSS中使用border属性来绘制三角形

如何制作边缘平滑的 CSS 三角形?

css 三角形的制作

CSS三角形制作样式