气泡框

   <div class="right_icon icon-phone">
      <a href=""><img src="img/icon_01.png" alt=""></a>
      <div class="icon_phone"><p>CBO&nbsp;&nbsp;Butterfly</p>(+86) 11111111111</div>
   </div>
   <div class="right_icon icon-twitter" onclick="window.open('twitter.com')">
      <img src="img/icon_02.png" alt="">
      <div class="icon_phone">twitter.com</div>
   </div>
   <div class="right_icon icon-email" onclick="window.open('mailto:')">
      <img src="img/icon_03.png" alt="">
      <div class="icon_phone">service</div>
   </div>
   <div class="right_icon icon-tme" onclick="window.open('https://www.csdn.net/')">
      <img src="img/icon_04.png" alt="">
      <div class="icon_phone">https://www.csdn.net/</div>
   </div>

 

.right_icon {
   width: 40px;
   margin:0 12px;
   cursor: pointer;
   position: relative;
}
.right_icon img{
   width: 40px;
}

.right_icon a{
   display: block;
   width: 100%;
   height: 100%;
}

.icon-phone{
   margin-left: 0;
}
.right_icon:hover .icon_phone{
   /*width: 196px;*/
   /*border: solid 1px #333333;*/
   visibility: visible;
   opacity: 1;
}

.right_icon .icon_phone{
   width: 232px;
   height: 40px;
   line-height: 40px;
   font-size: 12px;
   background: #222222;
   position: absolute;
   bottom: 121%;
   color: #ddd;
   left: 0;
   border:1px solid #333;
   font-weight: 300;
   letter-spacing: 1px;
   transition: all .4s ease-in-out;
   visibility: hidden;
   opacity: 0;
   display: flex;
   justify-content: space-around;
   align-items: center;
}


.right_icon .icon_phone:after{
   content: '';
   display:block;
   width:0;
   height:0;
   border-width:0 10px 10px;
   border-style:solid;
   border-color:transparent transparent #222222;
   position:absolute;
   bottom:-10px;
   left:4%;/* 三角形居中显示 */
   transform: rotateZ(180deg);
}

.right_icon .icon_phone:before{
   content: '';
   display:block;
   width:0;
   height:0;
   border-width:0 10px 10px;
   border-style:solid;
   border-color:transparent transparent #444;
   position:absolute;
   bottom:-11px;
   left:4%;
   transform: rotateZ(180deg);

}

.icon-phone .icon_phone{
   flex-wrap: wrap;
   height: 70px;
   letter-spacing: 2px;
}
.icon-phone .icon_phone p{
   width: 100%;
   height: 20px;
   line-height: 45px;
   text-align: center;
   font-size: 12px;
   margin-bottom: 0;
}

.icon-twitter .icon_phone{
   left: -63px;
}

.icon-twitter .icon_phone:before,
.icon-twitter .icon_phone:after{
   left: 32%;
}


.icon-email .icon_phone{
   left: -128px;
}

.icon-email .icon_phone:before,
.icon-email .icon_phone:after{
   left: 60%;
}

.icon-tme .icon_phone{
   left: -299px;
   width: 340px;
}
.icon-tme .icon_phone:before,
.icon-tme .icon_phone:after{
   left: 91%;
}

.right_icon .icon_phone:hover{
   color: #fff;
}

 

如果发生报错,请查看一下类名,类名我换了一下。

three.js是一个开源的JavaScript 3D库,用于创建和显示3D图形。气泡是指在用户与一个3D物体交互时,出现的一个信息展示。它通常包含了与该物体相关的一些附加信息,比如名称、描述、属性等。 在使用three.js创建气泡时,我们可以使用CSS3DRenderer来实现。首先,我们需要创建一个HTML元素,作为气泡的容器。可以是一个div元素,也可以是一个自定义的HTML元素。然后,我们使用CSS样式设置气泡的大小、位置、背景颜色等。 接下来,我们需要监听用户与物体的交互事件,比如鼠标点击或悬停。当用户与物体交互时,我们可以获得该物体的信息,比如名称、描述等。然后,我们将这些信息填充到气泡中,并显示出来。 为了让气泡在3D场景中跟随物体移动,我们可以使用CSS3DRenderer的方法来更新气泡的位置。根据物体的位置和相机的位置,我们可以计算出气泡相对于相机的位置,然后通过设置CSS样式来实现位置更新。 此外,为了使气泡更加美观和用户友好,我们可以给气泡添加一些动画效果,比如淡入淡出、平滑移动等。这些效果可以使用CSS3的过渡和动画属性来实现。 总之,使用three.js可以很方便地创建气泡,使得用户在与3D物体交互时能够更加直观地了解物体的信息。同时,结合CSS3DRenderer和CSS样式,可以使气泡更具有吸引力和交互性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值