CSS聊天气泡

本文介绍了一种实现自定义滚动条和气泡样式的方案,该方案能够兼容谷歌浏览器和IE浏览器。通过CSS样式设置,可以对滚动条进行美化,并实现了不同位置的气泡效果。

概述

谷歌效果图如下:

ie效果图如下:

完整代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="gbk" />
    <title>test</title>
    <style>
    /**容器样式**/
    .container{
        box-sizing:border-box;
        -moz-box-sizing:border-box;
        -webkit-box-sizing:border-box; 
        //min-width:200px;
        min-height:300px;
        border-radius:5px;
        border:1px solid #E0E0E0;
        -webkit-box-shadow: #E0E0E0 0px 0px 10px  inset;
        -moz-box-shadow: #E0E0E0 0px 0px 10px inset;
        box-shadow: #E0E0E0 0px 0px 10px  inset;
        overflow-y:scroll;
        word-wrap: break-word;
        word-break: break-all;    
    }
    /**谷歌滚动条样式修改**/
    .webkit-scroll::-webkit-scrollbar {
        width: 10px;
    }
    .webkit-scroll::-webkit-scrollbar-track {/* 滚动条的滑轨背景颜色 */
         background-color:#ffffff;
         box-shadow: inset 0 0 5px rgba(0,0,0,.3);
         -webkit-border-radius: 5px;
         -moz-border-radius: 5px;
         border-radius:5px;
    }
    .webkit-scroll::-webkit-scrollbar-thumb {/* 滑块颜色 */
         background-color:#bbb;
         -webkit-border-radius: 5px;
         -moz-border-radius: 5px;
         border-radius:5px;
    }
    .webkit-scroll::-webkit-scrollbar-thumb:hover {/* 滑块hover的颜色 */
        background-color:#5ABFDD;
    }
    .webkit-scroll::-webkit-scrollbar-button {/* 滑轨两头的监听按钮颜色 */
              //background-color:#5ABFDD;
    } 

    .webkit-scroll::-webkit-scrollbar-corner {/* 横向滚动条和纵向滚动条相交处尖角的颜色 */
              //background-color: #ffffff;
    } 
    /**ie滚动条样式修改**/
    .ie-scroll{
        scrollbar-face-color:#5ABFDD;
        scrollbar-shadow-color:#5ABFDD;
        scrollbar-highlight-color:#5ABFDD;
        scrollbar-3dlight-color:#5ABFDD;
        scrollbar-darkshadow-color:#5ABFDD;
        scrollbar-track-color:#ffffff;
        scrollbar-arrow-color:#EFAD4D;
    }
    /**气泡样式**/
    .pop{
        //background:yellow;
        display:inline-block;
        margin-top:10px;
        margin-left:10px;    
        margin-right:10px;
        width:90%;
    }
    .pop-img{
        width:40px;
        height:40px;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        border-radius:20px;
        display:inline-block;
        color:white;
        font-family:12px;
        line-height:41px;//垂直居中
    }
    .pop-left,.pop-right{
        //background:pink;
        max-width:50%;
        position:relative;
        border:1px solid black;
        margin-left:10px;    
        margin-right:10px;
        -webkit-border-radius: 3px;
        -moz-border-radius: 3px;
        border-radius:3px;
        display:inline-block; //宽度随内容适应    
    }
    .pop-left:before{
        content:"";
        position:absolute;
        right:100%;
        top:10px;
        border-top:6px solid transparent;
        border-right:6px solid black;
        border-bottom:6px solid transparent;
    }
    .pop-right:after{
        content:"";
        position:absolute;
        left:100%;
        top:10px;
        border-top:6px solid transparent;
        border-left:6px solid black;
        border-bottom:6px solid transparent;
    }
    .pop-text{
        background:black;
        color:white;
        padding:10px;
    }
    .ff{float:left;}
    .fr{float:right;}
    .pop-br{/**换行div**/
        //background:blue;
        height: 1px;  
        width:100%;
    }
    .time{font-size:12px;}
    </style>
</head>
<body>
    <div class="container webkit-scroll ie-scroll">

       <div class="pop ff ">
            <div class="pop-img ff" style="background:rgba(100,200,150,.8)"><center>迢迢</center></div>
            <div class="pop-left ff">
                <div class="pop-text"><span class="time">2018-03-08 12:02:46</span><br>测试内容测试内容测试内容测试内容测试内容测试内测试内容测试内测试内容测试内测试内容测试内测试内容测试内测试内容测试内</div>
            </div>
        </div><div class="pop-br"/>

        <div class="pop fr">
            <div class="pop-img fr" style="background:rgba(250,10,50,.9)"><center>西悉</center></div>
            <div class="pop-right fr">
                <div class="pop-text"><span class="time">2018-03-08 12:03:10</span><br>测试内容测试内容测试内容测试内容</div>
            </div>
        </div><div class="pop-br"/>

        <div class="pop ff ">
            <div class="pop-img ff" style="background:rgba(100,200,150,.8)"><center>迢迢</center></div>
            <div class="pop-left ff">
                <div class="pop-text"><span class="time">2018-03-08 12:04:01</span><br>测试内容</div>
            </div>
        </div><div class="pop-br"/>

        <div class="pop fr">
            <div class="pop-img fr" style="background:rgba(250,10,50,.9)"><center>西悉</center></div>
            <div class="pop-right fr">
                <div class="pop-text"><span class="time">2018-03-08 12:04:50</span><br>测试</div>
            </div>
       </div><div class="pop-br"/>

    </div>
</body>
</html>

 

转载于:https://www.cnblogs.com/xmqa/p/8664464.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值