900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 用CSS实现聊天对话框小三角效果

用CSS实现聊天对话框小三角效果

时间:2023-07-13 10:42:30

相关推荐

用CSS实现聊天对话框小三角效果

今天我教大家如何用css设计对话框的尖角效果。
对话框的结构:

1,左边的矩形和右边的三角形。

第一步,实现右边的三角形》

<!DOCTYPE html><html><head><meta charset="utf-8"> <style>div{display:block;width:0px;height:0px;border-top:25px solid blue;border-bottom:25px solid red;border-left:25px solid #ccc;border-right:25px solid green;background-color:green;}</style></head>​<body><div></div></body>​</html>

先设计一个div,让四周的border都具有一定大小和颜色

我们要的是最左边那个小三角形,那如何去掉其他的三角形呐?

把不需要的border颜色设置成透明色就行了

<!DOCTYPE html><html><head><meta charset="utf-8"> <style>div{display:block;width:0px;height:0px;border-top:25px solid rgba(0,0,0,0);border-bottom:25px solid rgba(0,0,0,0);border-left:25px solid #ccc;border-right:25px solid rgba(0,0,0,0);background-color:none;}</style></head><body><div></div></body></html>

这个小三角就设计完了,接下来我们来做对话框,

对话框就是普通的div样式设计:

<!DOCTYPE html><html><head><meta charset="utf-8"> <style>div.a{display:blockwidth:60px;height:100px;border:2px solid #ccc;padding:12px;float:left;}.b{display:block;width:0px;height:0px;border-top:25px solid rgba(0,0,0,0);border-bottom:25px solid rgba(0,0,0,0);border-left:25px solid #ccc;border-right:25px solid rgba(0,0,0,0);background-color:none;margin-top:35px;float:left;}</style></head><body><div><div class="a">666666666666666666666666666666666666</div><div class="b"></div></div></body></html>

效果如下图》

关于随鼠标移动的小三角代码:

<!DOCTYPE html><html><head><meta charset="utf-8"><style>#b {display: block;width: 0px;height: 0px;border-top: 25px solid rgba(0, 0, 0, 0);border-bottom: 25px solid rgba(0, 0, 0, 0);border-left: 25px solid #ccc;border-right: 25px solid rgba(0, 0, 0, 0);background-color: none;margin-top: 55px;float: left;}ul {float: left;}li {display: block;width: 300px;height: 100px;background-color: #cfc;border: 1px solid #ccc;margin-top: 10px;padding: 12px;}</style></head><body><div><ul><li>老铁666</li><li>1433223</li><li>SharingArk</li><li>Chanke</li></ul><div id="b"></div></div><script>var ulLi = document.getElementsByTagName('ul')[0].getElementsByTagName('li');var tran=document.getElementById('b');for (var i = 0; i < ulLi.length; i++) {ulLi[i].onmouseover = function () {for (var i = 0; i < ulLi.length; i++) {if (ulLi[i] === this) {tran.style.marginTop=ulLi[i].offsetTop+17+'px';}}}}</script></body></html>

效果如下》》》

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。