乍一看,很简单,做小三角,首先想到的是利用border的transparent特性,可以制作出小三角的效果。但是注意,这个小三角本身就是边框制作出来的。怎么能在小三角的外边再加一层小边框呢。那就必须再叠加一层一样的东西,让两者有1px的错位。问题就解决了。不想在页面添加多余的无意义的标签,还想实现这个效果。首先想到的就是用元素的伪类来实现。

首先想到的是给小三角加一个box-shadow属性,问题就可能很轻松的解决了,可是问题往往没有那么简单。

box-shadow只加在border外边缘,跟我们想要的真的是差太多。仲么办呢?跟上面的原理差不太多,只是要用到css3中transform,把元素rotate(45deg),变成两个菱形,然后对底下的元素加box-shadow,然后用后面的元素覆盖底下的元素。代码如下:

 <!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>小三角带边框带阴影的div——css实现效果</title>
<style>
.box2 {
float: left;
position: relative;
width: 100px;
height: 100px;
border: 1px solid red;
margin-left: 50px;
margin-right: 50px;
margin-top: 20px;
margin-bottom: 20px;
box-sizing: border-box;
font-size: 14px;
padding: 10px;
box-shadow: 0 0 2px rgba(0, 0, 0, .5)
} .box2:before,
.box2:after {
position: absolute;
content: '';
width: 14px;
height: 14px;
bottom: -8px;
left: 50%;
margin-left: -7px;
overflow: hidden;
pointer-events: none;
-webkit-transform: rotate(45deg);
-mz-transform: rotate(45deg);
transform: rotate(45deg);
} .box2:before {
background: red;
box-shadow: 1px 1px 2px rgba(0, 0, 0, .5)
} .box2:after {
bottom: -7px;
background: #fff;
}
</style>
</head> <body>
<div class="box2"></div>
</body> </html>

最新文章

  1. bash基础
  2. java13
  3. GOOGLE地图坐标拾取方法、GOOGLE地图获取坐标方法
  4. Android基于mAppWidget实现手绘地图(六)–如何展示地图对象
  5. tomcat十大安全优化措施
  6. [数据结构] N皇后问题
  7. mvc area区域和异步表单,bootstrap简单实例
  8. 使用本函式处理后的字串会沿续到PHP程式而转入eval函数
  9. KS-检验(Kolmogorov-Smirnov test) -- 检验数据是否符合某种分布
  10. Oracle PL/SQL 多重选择句
  11. A*算法进入
  12. ZooKeeper完全分布式安装和配置
  13. SQL点滴19—T-SQL中的透视和逆透视
  14. D5
  15. Java 获取字符串Hash值
  16. JavaScript注释之HTML注释(&lt;!-- &amp; //--&gt;)
  17. linux下的Shell编程(7)使用-x和-n调试shell程序
  18. [Pelican]Pelican入门(一)
  19. Core Mvc传值ViewData、ViewBag和return view(model)
  20. Java微信二次开发(八)

热门文章

  1. python基础--函数1
  2. 使用bat脚本进行开机启动批处理
  3. java中public、private、protected区别
  4. [转帖]100G QSFP28与CFP,CFP2,CFP4光模块的比较
  5. 数位dp相关
  6. 线性表源码分享(c++),包含顺序表、单链表、循环链表、双向链表
  7. 3.golang 的注释
  8. Centos7 yum安装LNMP
  9. application session 实现简单的在线聊天人数的统计
  10. react 错误处理