封装tip控件

在界面上有时需要显示一个提示,大多的前端框架都把提示做成一个带有小尖角的提示框,因此自己也仿照了实现了一下,效果图如下:

尖角的实现很简单的,一般都是通过css将div的宽高设置为0,然后将尖角朝向的那一边的边的宽度设置为0,然后给两边的边框设置宽度为一个大于0的数字,并将颜色设置为透明,然后将剩余的一边框设置宽度和颜色即可。

下面是我的实现方式:

首先是对应的HTML文件:

<!DOCTYPE>
<html>
    <head>
        <title>tip_demo</title>
        <link rel="stylesheet" href="css/tip.css">
        <script src="js/jquery-2.2.3.js"></script>
        <script src="js/tip.js"></script>
        <script>
            $(function(){
                leftTip();
                rightTip();
                topTip();
                bottomTip();
            });
        </script>
        <style>
            .tip-left, .tip-right, .tip-top, .tip-bottom
            {
                width:250px;
            }
        </style>
    </head>
    <body>
        <div class="tip-left">
            This is left arrow tip
        </div>
        <br>
        <div class="tip-right">
            This is right arrow tip
        </div>
        <br>
        <div class="tip-top">
            This is top arrow tip
        </div>
        <br>
        <div class="tip-bottom">
            This is bottom arrow tip
        </div>
    </body>
</html>

CSS文件:

.tip-left-arrow
{
    width:0;
    height:0;
    border-left:0px solid transparent;
    border-top:5px solid transparent;
    border-right:10px solid gray;
    border-bottom:5px solid transparent;
    display:inline-block;
}

.tip-left-content
{
    display:inline-block;
    height:50px;
    line-height:50px;
    vertical-align:middle;
    background-color:gray;
    border-radius:10px;
    padding:5px;
    padding-left:10px;
    text-align:left;
}

.tip-right-arrow
{
    width:0;
    height:0;
    border-right:0px solid transparent;
    border-top:5px solid transparent;
    border-left:10px solid gray;
    border-bottom:5px solid transparent;
    display:inline-block;
}

.tip-right-content
{
    display:inline-block;
    height:50px;
    line-height:50px;
    vertical-align:middle;
    background-color:gray;
    border-radius:10px;
    padding:5px;
    padding-right:10px;
    text-align:right;
}

.tip-top-arrow
{
    width:0;
    height:0;
    border-top:0px solid transparent;
    border-left:5px solid transparent;
    border-bottom:10px solid gray;
    border-right:5px solid transparent;
    display:inline-block;
}

.tip-top-content
{
    height:50px;
    line-height:50px;
    vertical-align:middle;
    background-color:gray;
    border-radius:10px;
    padding:5px;
    padding-left:10px;
}

.tip-bottom-arrow
{
    width:0;
    height:0;
    border-bottom:0px solid transparent;
    border-left:5px solid transparent;
    border-top:10px solid gray;
    border-right:5px solid transparent;
    display:inline-block;
}

.tip-bottom-content
{
    height:50px;
    line-height:50px;
    vertical-align:middle;
    background-color:gray;
    border-radius:10px;
    padding:5px;
    padding-right:10px;
}

最后是JS文件:

function leftTip()
{
    var content = $(".tip-left").text();
    $(".tip-left").text("");
    $(".tip-left").append("<div class=‘tip-left-arrow‘></div>");
    $(".tip-left").append("<div class=‘tip-left-content‘>" + content + "</div>");
}

function rightTip()
{
    var content = $(".tip-right").text();
    $(".tip-right").text("");
    $(".tip-right").append("<div class=‘tip-right-content‘>" + content + "</div>");
    $(".tip-right").append("<div class=‘tip-right-arrow‘></div>");
}

function topTip()
{
    var content = $(".tip-top").text();
    $(".tip-top").text("");
    $(".tip-top").append("<div class=‘tip-top-arrow‘></div>");
    $(".tip-top").append("<div class=‘tip-top-content‘>" + content + "</div>");
    $(".tip-top").css("text-align", "center");
}

function bottomTip()
{
    var content = $(".tip-bottom").text();
    $(".tip-bottom").text("");
    $(".tip-bottom").append("<div class=‘tip-bottom-content‘>" + content + "</div>");
    $(".tip-bottom").append("<div class=‘tip-bottom-arrow‘></div>");
    $(".tip-bottom").css("text-align", "center");
}

实现需要jquery的支持。

时间: 2024-11-03 03:29:27

封装tip控件的相关文章

ios--控件--自定义封装一个控件

感谢原作者的分享: http://blog.csdn.net/zhangao0086/article/details/45622875 前言 一个控件从外在特征来说,主要是封装这几点: 交互方式 显示样式 数据使用 对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内:而一个好的控件除了有对外一致的体验之外,还有其内在特征: 灵活性 低耦合 易拓展 易维护 通常特征之间需要做一些取舍,比如灵活性与耦合度,有时候接口越多越能适应各

.net的自定义JS控件,运用了 面向对象的思想 封装 了 控件(.net自定义控件开发的第一天)

大家好!我叫刘晶,很高兴你能看到我分享的文章!希望能对你有帮助! 首先我们来看下几个例子 ,就能看到 如何 自定义控件! 业务需求: 制作  一个   属于 自己的    按钮 对象    ,然后 像 winfrom  那样调用 就可以了: 首先 我们新建一个 MyControls的 JS文件:(插入如下代码) 1 //这里运用的面向对象的思想 ,新建了一个按钮对象 2 var button = function (ClientId) { 3 this.control = null; //属性:

封装TeeChart控件

public class MyChart { //字段 private TChart tChart; /// <summary> /// 构造函数,默认不是3D效果 /// </summary> /// <param name="parent">父容器</param> public MyChart(Control parent) { tChart = new TChart(); this.View3D = false;//默认关闭3D效果

基于wke封装的duilib的webkit浏览器控件,可以c++与js互交,源码及demo下载地址

转载请说明原出处,谢谢~~ 前些日子用wke内核封装了duilib的webkit浏览器控件,好多群里朋友私聊我希望可以我公布源码,今天把这个控件的源码和使用demo公布.其实这个控件封装起来没什么难度,我只是按照原来作者的demo,把相应的消息封装成duilib对应的. 在此首先要感谢wke内核的作者BlzFans以及soui2界面库的作者flyhigh,BlzFans精简了webkit内核后封装为wke并公布了源码,flyhigh对wke进行处理让他更容易移植到dui工程中.wke内核10M大

iOS开发之资讯类App常用分类控件的封装与实现(CollectionView+Swift3.0+)

今天博客中,我们就来实现一下一些常用资讯类App中常用的分类选择的控件的封装.本篇博客中没有使用到什么新的技术点,如果非得说用到了什么新的技术点的话,那么勉强的说,用到了一些iOS9以后UICollectionView添加的一些新的特性.本篇博客所涉及的技术点主要有UICollectionView的Cell移动,手势识别,控件封装,闭包回调,面向接口编程,Swift中的泛型等等.这些技术点在之前的博客中也多次使用到,只不过本篇博客使用这些技术点来完成我们的具体需求. 一.实例运行效果 先入为主,

自定义控件三部曲之绘图篇(十七)——为Bitmap添加阴影并封装控件

前言:再重复一遍我很喜欢的一句话,送给大家:迷茫,本就是青春该有的样子 ,但不要让未来的你,讨厌现在的自己 上篇给大家讲解了如何控件添加阴影效果,但是在为Bitmap图片添加阴影时,却没办法添加具有指定颜色的阴影,这篇我们就来使用自定义的控件及自定义属性来初步封装下控件.前方高能预警--本篇内容涉及内容较多,难度较大,需要多加思考. 一.使用BlurMaskFilter为图片构造定色阴影效果 上面我们讲了通过setShadowLayer为图片添加阴影效果,但是图片的的阴影是用原图形的副本加上边缘

[iOS基础控件 - 4.4] 进一步封装&quot;APP列表&rdquo;,初见MVC模式

A.从ViewController分离View 之前的代码中,View的数据加载逻辑放在了总的ViewController中,增加了耦合性,应该对控制器ViewController隐藏数据加载到View的细节. 封装View的创建逻辑 封装View的数据加载逻辑到自定义的UIView中 B.思路 使用xib封装自定义view的步骤: 1.新建一个继承UIView的自定义view,这里的名字是"AppView",用来封装独立控件组 每个AppView封装了如下图的控件组 2.新建一个xi

gePlugin封装成winform控件,一行代码即可加载。

将插件直接封装为控件,大大简化了GEPlugin的使用.多数常用功能也已经封装完毕,其他功能全部开放接口,直接调用即可. 1. GepluginControl控件传送门: 链接:https://pan.baidu.com/s/1WC5FodF2GTk7Jj5EUOSWqQ 提取码:fw7l 下载的是源码,找到debug目录,将debug目录下的所有文件全部拷贝到你创建的项目的debug目录下,或者release目录. 文件目录: 将GEControl.dll添加到引用中,并且添加到工具箱中.不知

在DevExpress程序中使用Winform分页控件直接录入数据并保存

一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数据,这种对于字段比较少,而且内容相对比较简单的情况下,效率是比较高的一种输入方式.本篇随笔主要介绍在DevExpress程序中使用GridView直接录入数据并保存的实现,以及使用Winform分页控件来进行数据直接录入的实现操作. 1.在GridView上展示数据 在GridView上展示数据,只