• CSS边框外的小三角形+阴影效果的实现。


    
    

    ...虽然是一个很小的问题,但其实还是挺实用的。

    实现一个边框外的角。

    用纯CSS来写。

    一开始实现的效果是这个样子的。

     但是这个效果没有办法给他附带阴影,所以换了一种写法。实现成了这个样子

    想要实现这个小三角形,不适用icon ,用纯CSS写,其实是利用了border的特性来实现的。

    ..之前都不晓得,后来有人告诉我之后,自己研究了一下才明白的。

    虽然网上讲的人很多,但是我觉得把自己的收获记录下来才是最棒的。

    我们先来看看border是什么样子的吧!

    我们为一个长宽10px大小的盒子定义了30px的上下左右的边框

    .border{
                width: 10px;
                height:10px;
                
                border-top: 30px solid red;
                border-left: 30px solid blue;
                border-right:  30px solid green;
                border-bottom:  30px solid yellow;
    
            }
        

    他的边框的边与边的交接是斜的!!

    就是利用斜边,我们就可以画出三角形了!

    首先我们将盒子归零。

    然后把其中三边变透明,就可以看到一个三角形出现啦!

        .border{
                width: 0px;
                height:0px;
                
                border-top: 30px solid  transparent;
                border-left: 30px solid blue;
                border-right:  30px solid  transparent;
                border-bottom:  30px solid  transparent;
            }
        

    但是...这并不能解决边框阴影的问题,因为如果加上阴影,效果就成这个样子了。

     ,阴影把我刚刚隐藏起来了的边框又显现出来啦!

    这个时候如果想要实现三角形的边也有阴影,其实大佬们都已经知道了...再画一个三角形就好了...

    再画一个border-top ;然后把图形旋转135°,再改变box-shadow的位置,就可以实现刚刚的效果啦。

    最后贴一段源码,大家可以自己去尝试尝试哦!

            .Father{
                position: relative;
                width: 200px;
                height: 100px;
                background-color: #fafafa;
                box-shadow: 0 0 5px #444;
                border-radius: 4px;
                
            }
            
            .ThreeC{
                    
                    position: absolute;
    
                    top: 30px;
    
                    right: -30px;        
            
    
    
                    width: 0;
                    height: 0;
    
                    border-top: 20px solid transparent;
    
                    border-bottom:20px solid #fafafa;
                    border-left:  20px solid #fafafa;
    
                    border-right: 20px solid transparent;
                    transform: rotate(-135deg);
                    
                    box-shadow: 0px 0px 5px #444;
            }  
        <div class="Father">
            a
            <div class="ThreeC"></div>
        </div>

    嘿嘿,记录。方便大家看看。

  • 相关阅读:
    JabberNet -Jabbber .net客户端框架(XMPP协议)
    百度,腾讯,抖音,头条等互联网平台广告投放策略分析
    C# HttpWebRequest post提交数据
    eclipse汉化babel语言包安装
    C#技巧记录——持续更新
    ffmpeg 抓取屏幕
    WPF inkcanvas选中笔迹缩放、旋转,放大缩小画布、移动画布
    wpf虚线画刷
    wpf获取元素四个角对应的point
    wpf 装饰类
  • 原文地址:https://www.cnblogs.com/Let7/p/7367527.html
Copyright © 2020-2023  润新知