CSS3 提示框带边角popover

 CSS3 提示框带边角popover。因为需要绝对定位子元素(这里就是伪元素),所以需要将其设置为相对对位

<!DOCTYPE html>  
<html>  
<head>  
<title>test1.html</title>  
  
<meta name="keywords" content="keyword1,keyword2,keyword3">  
<meta name="description" content="this is my page">  
<meta name="content-type" content="text/html; charset=UTF-8">  
  
  
<style type="text/css">  
/*多个class是相同的用,分开  
 *:单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素  
 *before和after的详解:http://www.w3cplus.com/css3/learning-to-use-the-before-and-after-pseudo-elements-in-css.html  
 *box-shadow详解:http://swordair.com/details-on-css3-box-shadow-part-1/  
 *http://www.w3cplus.com/blog/tags/11.html  
 */  
  
.popover-left,.popover-top,.popover-bottom, .popover-right{  
    /*border-style: solid;*/  
    border-radius:6px;/*div平滑6个像素*/  
    position: relative; /* 因为需要绝对定位子元素(这里就是伪元素),所以需要将其设置为相对对位 */  
    background-color: white; /*白色*/  
    width: 150px;  
    height:150px;  
    margin: 10px auto;  
}  
   
.popover-left::before{ /* 伪元素其实和普通元素没多大区别 */  
    position: absolute; /* 绝对定位 */  
    content: ' '; /* 伪元素需要有个content,这里设了一个空格占位 */  
    left: -5px; /* 把这个小尖尖突出来 */  
    top:50px; /* 往下挪一点点 */  
    /**border-bottom-color: #999;  
     **border-top-width: 0;  
     */  
    width: 25px; /* 25x25的一个元素 */  
    height: 25px;  
    border-radius:2px;/*突出来的角弧度稍微平滑2个像素*/  
    background-color: white;  
    box-shadow: 6px 5px 2px -9px white, 5px 6px 2px -9px white;/*box-shadow,左上角,右上角,左下角,右下角,白色*/  
    /**======兼容浏览器=webkit支持(苹果谷歌等浏览器),moz(火狐),ms(IE浏览器),-o(opera浏览器)====*/  
    -webkit-transform: rotate(45deg); /* 旋转45度 */  
    -moz-transform:    rotate(45deg);  
    -ms-transform:     rotate(45deg);  
    -o-transform:      rotate(45deg);  
}  
  
.popover-right::after { /* 伪元素其实和普通元素没多大区别 */  
    position: absolute; /* 绝对定位 */  
    content: ' '; /* 伪元素需要有个content,这里设了一个空格占位 */  
    left: 129px; /* 把这个小尖尖突出来 */  
    top:50px; /* 往下挪一点点 */  
      
    width: 25px; /* 20x20的一个元素 */  
    height: 25px;  
      
    border-radius:2px;/*突出来的角弧度稍微平滑2个像素*/  
    background-color: white;  
    box-shadow: 6px 5px 2px -9px white, 5px 6px 2px -9px white;/*box-shadow,左上角,右上角,左下角,右下角*/  
      
    -webkit-transform: rotate(45deg); /* 旋转45度 */  
    -moz-transform:    rotate(45deg);  
    -ms-transform:     rotate(45deg);  
    -o-transform:      rotate(45deg);  
}  
  
.popover-top:after { /* 伪元素其实和普通元素没多大区别 */  
    content: "";  
    position: absolute;  
    top: -5px;/*角离div的边线-5px这个值越小就会突出这个正方形.*/  
    left: 50%;  
  
    width: 25px;  
    height: 25px;  
    border-radius:2px;/*突出来的角弧度稍微平滑2个像素*/  
    background-color: white;  
    box-shadow: 6px 5px 2px -9px white, 5px 6px 2px -9px white;/*box-shadow,左上角,右上角,左下角,右下角*/  
      
    -webkit-transform: rotate(45deg);  
    -moz-transform:    rotate(45deg);  
    -ms-transform:     rotate(45deg);  
    -o-transform:      rotate(45deg);  
}  
  
.popover-bottom:after { /* 伪元素其实和普通元素没多大区别 */  
    content: "";  
    position: absolute;  
    top: 129px;/*角离div的边线129px这个值越大就会突出这个正方形.*/  
    left: 50%;  
      
      
    width: 25px;  
    height: 25px;  
    /**border-bottom-color: #999;  
     **border-top-width: 0;  
     */  
    border-radius:2px;/*突出来的角弧度稍微平滑2个像素*/  
    background-color: white;  
    box-shadow: 6px 5px 2px -9px white, 5px 6px 2px -9px white;/*box-shadow,左上角,右上角,左下角,右下角*/  
    
    -webkit-transform: rotate(45deg);  
    -moz-transform:    rotate(45deg);  
    -ms-transform:     rotate(45deg);  
    -o-transform:      rotate(45deg);  
}  
</style>  
</head>  
  
<body style="background-color: #61849e">  
  
    <div class="popover-left">  
    </div>  
    <div class="popover-right">  
    </div>  
  
    <div class="popover-top">  
    </div>  
      
    <div class="popover-bottom">  
    </div>  
    <br/>   
      
      
</body>  
</html>  
<!DOCTYPE html>  
<html>  
<head>  
<title>popover-left,popover-right,popover-top,popover-bottom </title>  
<meta name="content-type" content="text/html; charset=UTF-8">  
<style type="text/css">  
  
/*  
 *@Author:liangjilong  
 *多个class是相同的用,分开  
 *:单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素  
 *box-shadow详解:http://swordair.com/details-on-css3-box-shadow-part-1/  
 */  
  
.popover-left,.popover-top,.popover-bottom, .popover-right{  
    /*border-style: solid;*/  
    border-radius:6px;/*div平滑6个像素*/  
    position: relative; /* 因为需要绝对定位子元素(这里就是伪元素),所以需要将其设置为相对对位 */  
    background-color: white; /*白色*/  
    width: 150px;  
    height: 150px;  
    margin: 10px auto;  
}  
/**公共的样式**/  
.popover-common{  
    position: absolute; /* 绝对定位 */  
    /**border-bottom-color: #999;  
     **border-top-width: 0;  
     */  
    width: 25px; /* 25x25的一个元素 */  
    height: 25px;  
    border-radius:2px;/*突出来的角弧度稍微平滑2个像素*/  
    background-color: white;  
    box-shadow: 6px 5px 2px -9px white, 5px 6px 2px -9px white;/*box-shadow,左上角,右上角,左下角,右下角,白色*/  
    /**======兼容浏览器=webkit支持(苹果谷歌等浏览器),moz(火狐),ms(IE浏览器),-o(opera浏览器)====*/  
    -webkit-transform: rotate(45deg); /* 旋转45度 */  
    -moz-transform:    rotate(45deg);  
    -ms-transform:     rotate(45deg);  
    -o-transform:      rotate(45deg);  
}  
.popover-left .popover-common{    
    left: -5px; /* 把这个小尖尖突出来 */  
    top:50px; /* 往下挪一点点 */  
}  
.popover-right .popover-common {    
    left: 129px; /* 把这个小尖尖突出来 */  
    top:50px; /* 往下挪一点点 */  
}  
  
.popover-top .popover-common {   
    top: -5px;/*角离div的边线-5px这个值越小就会突出这个正方形.*/  
    left: 50%;  
}  
  
.popover-bottom .popover-common {    
    top: 129px;/*角离div的边线129px这个值越大就会突出这个正方形.*/  
    left: 50%;  
}  
</style>  
</head>  
  
<body style="background-color: #61849e">  
      
    <div class="popover-left">  
        <div class="popover-common"></div>  
    </div>  
    <br/>   
    <div class="popover-right">  
        <div class="popover-common"></div>  
    </div>  
     <br/>  
  
    <div class="popover-top">  
        <div class="popover-common"></div>  
    </div>  
     <br/>  
    <div class="popover-bottom">  
        <div class="popover-common"></div>  
    </div>  
    <br/>   
      
</body>  
</html>  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/895275.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

uniapp_微信小程序_echarts_动态折线图

##uniapp_微信小程序_echarts_动态折线图 用来总结和学习&#xff0c;便于自己查找 文章目录 一、为什么使用echarts折线图?          1.1 动态折线图echarts效果&#xff1f; 二、怎么导入echarts折线图&#xff1f;          2.…

spring boot 3.3.4 网关(gateway) 集成knife4j 4.4.0

spring boot版本 3.3.4&#xff0c;jdk 22&#xff0c; springcloud 2023.0.3 官方参考链接 Spring Cloud Gateway网关聚合 | Knife4j (xiaominfo.com) springboot版本信息 <properties> <java.version>22</java.version> <spring-cloud.version>2023…

LSTM反向传播及公式推导

先回顾一下正向传播的公式: 化简一下: 反向传播从下到上逐步求偏导: 对zt求偏导(预测值和标签值相减): zt对未知数wt,ht,bt分别求偏导: ht对ot,Ct求偏导: ot对Net0求偏导: Net0对w0,b0求偏导: .... 总体的思路就是那个公式从下到上逐步对未知数求偏导: 下面是总体的流程…

在Openshift(K8S)上通过EMQX Operator部署Emqx集群

EMQX Operator 简介 EMQX Broker/Enterprise 是一个云原生的 MQTT 消息中间件。 我们提供了 EMQX Kubernetes Operator 来帮助您在 Kubernetes 的环境上快速创建和管理 EMQX Broker/Enterprise 集群。 它可以大大简化部署和管理 EMQX 集群的流程&#xff0c;对于管理和配置的知…

微服务架构 --- 使用RabbitMQ进行异步处理

目录 一.什么是RabbitMQ&#xff1f; 二.异步调用处理逻辑&#xff1a; 三.RabbitMQ的基本使用&#xff1a; 1.安装&#xff1a; 2.架构图&#xff1a; 3.RabbitMQ控制台的使用&#xff1a; &#xff08;1&#xff09;Exchanges 交换机&#xff1a; &#xff08;2&#…

【双指针算法】快乐数

1.题目解析 2.算法分析 由图可知&#xff0c;不管是最后可以变成1的还是不可以变成1的都相当于形成环了&#xff0c;只是成环处值不一样 问题转变成&#xff0c;判断链表是否有环 采用双指针&#xff0c;快慢指针算法 1.定义快慢指针2.慢指针每次向后移动一步&#xff0c;快…

初识适配器模式

适配器模式 引入 生活中的例子&#xff1a;当我们使用手机充电时&#xff0c;充电器起到了转换器的作用&#xff0c;它将家用的220伏特电压转换成适合手机充电的5伏特电压。 适配器模式的三种类型 命名原则&#xff1a;适配器的命名应基于资源如何传递给适配器来进行。 类适配…

AnaTraf | 利用多点关联数据分析和网络关键KPI监控提升IT运维效率

目录 什么是多点关联数据分析&#xff1f; 多点关联数据分析的运用场景 监控网络关键KPI的重要性 典型的网络关键KPI 案例分析&#xff1a;利用多点关联数据分析和KPI监控解决网络性能问题 结语 AnaTraf 网络性能监控系统NPM | 全流量回溯分析 | 网络故障排除工具AnaTraf…

01 设计模式-创造型模式-工厂模式

工厂模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的设计模式之一&#xff0c;它提供了一种创建对象的方式&#xff0c;使得创建对象的过程与使用对象的过程分离。 工厂模式提供了一种创建对象的方式&#xff0c;而无需指定要创建的具体类。 通过使用工厂模式…

SpringBoot框架下的汽车票在线预订系统

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

基于单片机的家用无线火灾报警系统的设计

1 总体设计 本设计家用无线火灾报警系统利用单片机控制技术、传感器检测技术、GSM通信技术展开设计&#xff0c;如图2.1所示为本次系统设计的主体框图&#xff0c;系统包括单片机主控模块、温度检测模块、烟雾检测模块、按键模块、GSM通信模块、液晶显示模块、蜂鸣器报警模块。…

汽车票预订系统:SpringBoot框架的优势

6系统测试 6.1概念和意义 测试的定义&#xff1a;程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为&#xff1a; 目的&#xff1a;发现程序的错误&#xff1b; 任务&#xff1a;通过在计算机上执行程序&#xff0c;暴露程序中潜在的错误。 另一个…

UE5 使用Animation Budget Allocator优化角色动画性能

Animation Budget Allocator是UE内置插件&#xff0c;通过锁定动画系统所占CPU的预算&#xff0c;在到达预算计算量时对动画进行限制与优化。 开启Animation Budget Allocator需要让蒙皮Mesh使用特定的组件&#xff0c;并进行一些编辑器设置即可开启。 1.开启Animation Budget…

地球链EACO怎么和房车旅游等行业结合起来加速全球发展?

地球链EACO怎么和房车旅游等行业结合起来加速全球发展&#xff1f; 将地球链&#xff08;EACO&#xff09;与房车,旅游&#xff0c;汽车等行业结合以加速全球发展&#xff0c;可以通过以下策略&#xff1a; 智能合约与租赁平台 去中心化租赁市场&#xff1a;建立一个基于EACO的…

PCL 点云配准 基于目标对称的ICP算法(精配准)

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1计算点云的法线 2.1.2基于对称误差估计的ICP配准 2.1.3可视化 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接&#xff1a; PCL点云算法与项目实战案例汇总…

【火山引擎】调用火山大模型的方法 | SDK安装 | 配置 | 客户端初始化 | 设置

豆包 (Doubao) 是字节跳动研发的大规模预训练语言模型。 目录 1 安装 2 配置访问凭证 3 客户端初始化 4 设置地域和访问域名 5 设置超时/重试次数 1 安装 通过pip安装PYTHON SDK。 pip install volcengine-python-sdk[ark] 2 配置访问凭证 获取 API Key 访问凭证具体步…

理工科考研想考计算机,湖南大学、重大、哈工大威海、山东大学,该如何选择?

C哥专业提供——计软考研院校选择分析专业课备考指南规划 计算机对理工科同学来说&#xff0c;还是性价比很高的&#xff0c;具有很大的优势&#xff01; 一、就业前景广阔 高需求行业 在当今数字化时代&#xff0c;计算机技术几乎渗透到了各个领域&#xff0c;无论是互联网…

YOLO11 目标检测 | 自动标注 | 预标注 | 标签格式转换 | 手动校正标签

本文分享使用YOLO11进行目标检测时&#xff0c;实现模型推理预标注、自动标注、标签格式转换、以及使用Labelme手动校正标签等功能。 目录 1、预训练权重 2、生成预标注 3、分析YOLO11的目标检测格式 4、分析Labelme标注工具的格式 5、生成json标注文件 6、手动校正标签 …

SQL Server-导入和导出excel数据-注意事项

环境&#xff1a; win10&#xff0c;SQL Server 2008 R2 之前写过的放在这里&#xff1a; SqlServer_陆沙的博客-CSDN博客 https://blog.csdn.net/pxy7896/category_12704205.html 最近重启ASP.NET项目&#xff0c;在使用sql server导出和导入数据时遇到一些问题&#xff0c;特…

Qt键盘按下事件和定时器事件及事件的接收和忽略

定时器事件 //设置多少毫秒调用一次 1s1000timerId this->startTimer(1000);timerId2 this->startTimer(500);void MyWidget::timerEvent(QTimerEvent* t) {static int sec 0;//通过判断当前ID来实现不同定时器的调用时间if(t->timerId() this->timerId){//隔一…