CSS制作小旗子与小箭头

CSS制作小旗子与小箭头

效果图如下:

小旗子效果图

小箭头效果图

小旗子效果

以下是具体实现代码:

<div class="container">
    <div class="flag"></div>
</div>
.container {
  width: 500px;
  height: 500px;
  background-color: lime;
  position: relative;
}

.flag {
  position: absolute;
  left: 150px;
  top: 100px;
  height: 50px;
  border-width: 100px;
  border-style: solid;
  border-color: red red rgba(0, 0, 0, 0) red
}

以上方法的实现思路是将一个div的宽设置为0,依靠border的宽度来展现视觉效果,再通过border-color属性来将边框的其中一个角设置透明化(rgba()最后一个参数可设置透明度)

小箭头效果

以下是具体实现代码:

<div class="container">
    <div class="left">
      图片
    </div>
    <div class="right">
      介绍文本
    </div>
</div>
.left {
  float: left;
  width: 60%;
  height: 100%;
  background-color: mediumblue;
  font-size: 50px;
  font-weight: bold;
  text-align: center;
}

.right {
  float: right;
  width: 40%;
  height: 100%;
  background-color: goldenrod;
  font-size: 50px;
  font-weight: bold;
  text-align: center;
  position: relative;
}

.right::after {
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px;
  border-color: rgba(0, 0, 0, 0) goldenrod rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  position: absolute;
  left: -40px;
  top: 100px;
}

实现该效果的关键同样在于border-color,相比于上一个例子,这一次是通过伪类::after使用相对定位来实现的。将四个边角中的三个设置透明(border-color参数对应位置分别为:上、右、下、左)。注意:在将其创建出来后需要向左或向右平移一段距离,平移的距离为设定的边框宽度的两倍。

猜你喜欢

转载自www.cnblogs.com/15907678645xie/p/12678896.html